/[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 974 by schoenebeck, Fri Dec 15 21:46:48 2006 UTC revision 1162 by iliev, Mon Apr 16 16:02:19 2007 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.31 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">
7  <style type='text/css'><!--  <style type='text/css'><!--
8          body {          body {
9                  font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
10                  font-size: small; color: #000; background-color: #FFF;                  font-size: small; color: #000; background-color: #FFF;
11                  margin: 2em;                  margin: 2em;
12          }          }
13          h1, h2, h3, h4, h5, h6 {          h1, h2, h3, h4, h5, h6 {
14                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15                  font-weight: bold; font-style: normal;                  font-weight: bold; font-style: normal;
16          }          }
17          h1 { color: #900; background-color: transparent; text-align: right; }          h1 { color: #900; background-color: transparent; text-align: right; }
18          h3 { color: #333; background-color: transparent; }          h3 { color: #333; background-color: transparent; }
19    
20          td.RFCbug {          td.RFCbug {
21                  font-size: x-small; text-decoration: none;                  font-size: x-small; text-decoration: none;
22                  width: 30px; height: 30px; padding-top: 2px;                  width: 30px; height: 30px; padding-top: 2px;
23                  text-align: justify; vertical-align: middle;                  text-align: justify; vertical-align: middle;
24                  background-color: #000;                  background-color: #000;
25          }          }
26          td.RFCbug span.RFC {          td.RFCbug span.RFC {
27                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28                  font-weight: bold; color: #666;                  font-weight: bold; color: #666;
29          }          }
30          td.RFCbug span.hotText {          td.RFCbug span.hotText {
31                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32                  font-weight: normal; text-align: center; color: #FFF;                  font-weight: normal; text-align: center; color: #FFF;
33          }          }
34    
35          table.TOCbug { width: 30px; height: 15px; }          table.TOCbug { width: 30px; height: 15px; }
36          td.TOCbug {          td.TOCbug {
37                  text-align: center; width: 30px; height: 15px;                  text-align: center; width: 30px; height: 15px;
38                  color: #FFF; background-color: #900;                  color: #FFF; background-color: #900;
39          }          }
40          td.TOCbug a {          td.TOCbug a {
41                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                  font-weight: bold; font-size: x-small; text-decoration: none;                  font-weight: bold; font-size: x-small; text-decoration: none;
43                  color: #FFF; background-color: transparent;                  color: #FFF; background-color: transparent;
44          }          }
45    
46          td.header {          td.header {
47                  font-family: arial, helvetica, sans-serif; font-size: x-small;                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48                  vertical-align: top; width: 33%;                  vertical-align: top; width: 33%;
49                  color: #FFF; background-color: #666;                  color: #FFF; background-color: #666;
50          }          }
51          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52          td.author-text { font-size: x-small; }          td.author-text { font-size: x-small; }
53    
54          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55          a.info {          a.info {
56                  /* This is the key. */                  /* This is the key. */
57                  position: relative;                  position: relative;
58                  z-index: 24;                  z-index: 24;
59                  text-decoration: none;                  text-decoration: none;
60          }          }
61          a.info:hover {          a.info:hover {
62                  z-index: 25;                  z-index: 25;
63                  color: #FFF; background-color: #900;                  color: #FFF; background-color: #900;
64          }          }
65          a.info span { display: none; }          a.info span { display: none; }
66          a.info:hover span.info {          a.info:hover span.info {
67                  /* The span will display just on :hover state. */                  /* The span will display just on :hover state. */
68                  display: block;                  display: block;
69                  position: absolute;                  position: absolute;
70                  font-size: smaller;                  font-size: smaller;
71                  top: 2em; left: -5em; width: 15em;                  top: 2em; left: -5em; width: 15em;
72                  padding: 2px; border: 1px solid #333;                  padding: 2px; border: 1px solid #333;
73                  color: #900; background-color: #EEE;                  color: #900; background-color: #EEE;
74                  text-align: left;                  text-align: left;
75          }          }
76    
77          a { font-weight: bold; }          a { font-weight: bold; }
78          a:link    { color: #900; background-color: transparent; }          a:link    { color: #900; background-color: transparent; }
79          a:visited { color: #633; background-color: transparent; }          a:visited { color: #633; background-color: transparent; }
80          a:active  { color: #633; background-color: transparent; }          a:active  { color: #633; background-color: transparent; }
81    
82          p { margin-left: 2em; margin-right: 2em; }          p { margin-left: 2em; margin-right: 2em; }
83          p.copyright { font-size: x-small; }          p.copyright { font-size: x-small; }
84          p.toc { font-size: small; font-weight: bold; margin-left: 3em; }          p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85          table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }          table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86          td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }          td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87    
88          ol.text { margin-left: 2em; margin-right: 2em; }          ol.text { margin-left: 2em; margin-right: 2em; }
89          ul.text { margin-left: 2em; margin-right: 2em; }          ul.text { margin-left: 2em; margin-right: 2em; }
90          li      { margin-left: 3em; }          li      { margin-left: 3em; }
91    
92          /* RFC-2629 <spanx>s and <artwork>s. */          /* RFC-2629 <spanx>s and <artwork>s. */
93          em     { font-style: italic; }          em     { font-style: italic; }
94          strong { font-weight: bold; }          strong { font-weight: bold; }
95          dfn    { font-weight: bold; font-style: normal; }          dfn    { font-weight: bold; font-style: normal; }
96          cite   { font-weight: normal; font-style: normal; }          cite   { font-weight: normal; font-style: normal; }
97          tt     { color: #036; }          tt     { color: #036; }
98          tt, pre, pre dfn, pre em, pre cite, pre span {          tt, pre, pre dfn, pre em, pre cite, pre span {
99                  font-family: "Courier New", Courier, monospace; font-size: small;                  font-family: "Courier New", Courier, monospace; font-size: small;
100          }          }
101          pre {          pre {
102                  text-align: left; padding: 4px;                  text-align: left; padding: 4px;
103                  color: #000; background-color: #CCC;                  color: #000; background-color: #CCC;
104          }          }
105          pre dfn  { color: #900; }          pre dfn  { color: #900; }
106          pre em   { color: #66F; background-color: #FFC; font-weight: normal; }          pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107          pre .key { color: #33C; font-weight: bold; }          pre .key { color: #33C; font-weight: bold; }
108          pre .id  { color: #900; }          pre .id  { color: #900; }
109          pre .str { color: #000; background-color: #CFF; }          pre .str { color: #000; background-color: #CFF; }
110          pre .val { color: #066; }          pre .val { color: #066; }
111          pre .rep { color: #909; }          pre .rep { color: #909; }
112          pre .oth { color: #000; background-color: #FCF; }          pre .oth { color: #000; background-color: #FCF; }
113          pre .err { background-color: #FCC; }          pre .err { background-color: #FCC; }
114    
115          /* RFC-2629 <texttable>s. */          /* RFC-2629 <texttable>s. */
116          table.full, table.headers, table.none {          table.all, table.full, table.headers, table.none {
117                  font-size: small; text-align: center; border-width: 2px;                  font-size: small; text-align: center; border-width: 2px;
118                  vertical-align: top; border-collapse: collapse;                  vertical-align: top; border-collapse: collapse;
119          }          }
120          table.full { border-style: solid; border-color: black; }          table.all, table.full { border-style: solid; border-color: black; }
121          table.headers, table.none { border-style: none; }          table.headers, table.none { border-style: none; }
122          th {          th {
123                  font-weight: bold; border-color: black;                  font-weight: bold; border-color: black;
124                  border-width: 2px 2px 3px 2px;                  border-width: 2px 2px 3px 2px;
125          }          }
126          table.full th { border-style: solid; }          table.all th, table.full th { border-style: solid; }
127          table.headers th { border-style: none none solid none; }          table.headers th { border-style: none none solid none; }
128          table.none th { border-style: none; }          table.none th { border-style: none; }
129          table.full td {          table.all td {
130                  border-style: solid; border-color: #333;                  border-style: solid; border-color: #333;
131                  border-width: 1px 2px;                  border-width: 1px 2px;
132          }          }
133          table.headers td, table.none td { border-style: none; }          table.full td, table.headers td, table.none td { border-style: none; }
134    
135          hr { height: 1px; }          hr { height: 1px; }
136          hr.insert {          hr.insert {
137                  width: 80%; border-style: none; border-width: 0;                  width: 80%; border-style: none; border-width: 0;
138                  color: #CCC; background-color: #CCC;                  color: #CCC; background-color: #CCC;
139          }          }
140  --></style>  --></style>
141  </head>  </head>
142  <body>  <body>
# Line 145  Line 145 
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">Expires: June 18, 2007</td><td class="header">December 15, 2006</td></tr>  <tr><td class="header">Expires: October 18, 2007</td><td class="header">April 16, 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>
151    
# Line 173  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 June 18, 2007.</p>  This Internet-Draft will expire on October 18, 2007.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
180  Copyright &copy; The Internet Society (2006).</p>  Copyright &copy; The IETF Trust (2007).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
# Line 318  Muting a sampler channel<br /> Line 318  Muting a sampler channel<br />
318  Soloing a sampler channel<br />  Soloing a sampler channel<br />
319  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;
320  Assigning a MIDI instrument map to a sampler channel<br />  Assigning a MIDI instrument map to a sampler channel<br />
321  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.25.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
322    Adding an effect send to a sampler channel<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
324    Removing an effect send from a sampler channel<br />
325    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
326    Getting amount of effect sends on a sampler channel<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
328    Listing all effect sends on a sampler channel<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
330    Getting effect send information<br />
331    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
332    Changing effect send's name<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
334    Altering effect send's audio routing<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.32.</a>&nbsp;
336    Altering effect send's MIDI controller<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
338    Altering effect send's send level<br />
339    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.34.</a>&nbsp;
340  Resetting a sampler channel<br />  Resetting a sampler channel<br />
341  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
342  Controlling connection<br />  Controlling connection<br />
# Line 340  Maximum amount of active voices<br /> Line 358  Maximum amount of active voices<br />
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.4.</a>&nbsp;
360  General sampler informations<br />  General sampler informations<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.5.</a>&nbsp;
362    Getting global volume attenuation<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.6.</a>&nbsp;
364    Setting global volume attenuation<br />
365  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
366  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
367  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;
# Line 366  Remove an entry from the MIDI instrument Line 388  Remove an entry from the MIDI instrument
388  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
389  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
390  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
392    Managing Instruments Database<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
394    Creating a new instrument directory<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
396    Deleting an instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
398    Getting amount of instrument directories<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
400    Listing all directories in specific directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
402    Getting instrument directory information<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
404    Renaming an instrument directory<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
406    Moving an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.8.</a>&nbsp;
408    Changing the description of directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.9.</a>&nbsp;
410    Adding instruments to the instruments database<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.10.</a>&nbsp;
412    Removing an instrument<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.11.</a>&nbsp;
414    Getting amount of instruments<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.12.</a>&nbsp;
416    Listing all instruments in specific directory<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.13.</a>&nbsp;
418    Getting instrument information<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.14.</a>&nbsp;
420    Renaming an instrument<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.15.</a>&nbsp;
422    Moving an instrument<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.16.</a>&nbsp;
424    Changing the description of instrument<br />
425  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
426  Command Syntax<br />  Command Syntax<br />
427  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
428  Events<br />  Events<br />
429  &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;
430    Number of audio output devices changed<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
432    Audio output device's settings changed<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
434    Number of MIDI input devices changed<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
436    MIDI input device's settings changed<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
438  Number of sampler channels changed<br />  Number of sampler channels changed<br />
439  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;
440  Number of active voices changed<br />  Number of active voices changed<br />
441  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.3.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;
442  Number of active disk streams changed<br />  Number of active disk streams changed<br />
443  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;
444  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
445  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">8.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;
446  Channel information changed<br />  Channel information changed<br />
447  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.10.</a>&nbsp;
448    Number of effect sends changed<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
450    Effect send information changed<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
452  Total number of active voices changed<br />  Total number of active voices changed<br />
453  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.13.</a>&nbsp;
454    Number of MIDI instrument maps changed<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.14.</a>&nbsp;
456    MIDI instrument map information changed<br />
457    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.15.</a>&nbsp;
458    Number of MIDI instruments changed<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.16.</a>&nbsp;
460    MIDI instrument information changed<br />
461    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
462    Global settings changed<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;
464    Number of database instrument directories changed<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
466    Database instrument directory information changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
468    Number of database instruments changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
470    Database instrument information changed<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.22.</a>&nbsp;
472  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
473  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
474  Security Considerations<br />  Security Considerations<br />
# Line 3926  Getting sampler channel information</h3> Line 4012  Getting sampler channel information</h3>
4012                                          </p>                                          </p>
4013  <blockquote class="text">  <blockquote class="text">
4014  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4015                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4016                                              1.0 means amplification)                                              1.0 means amplification)
4017  </p>  </p>
4018  </blockquote>  </blockquote>
# Line 4933  Assigning a MIDI instrument map to a sam Line 5019  Assigning a MIDI instrument map to a sam
5019  </blockquote><p>  </blockquote><p>
5020                                            
5021  </p>  </p>
5022  <a name="RESET CHANNEL"></a><br /><hr />  <a name="CREATE FX_SEND"></a><br /><hr />
5023  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5024  <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;  <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5025    Adding an effect send to a sampler channel</h3>
5026    
5027    <p>The front-end can create an additional effect send on a specific sampler channel
5028                        by sending the following command:
5029    </p>
5030    <p>
5031                            </p>
5032    <blockquote class="text">
5033    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5034    </p>
5035    </blockquote><p>
5036                        
5037    </p>
5038    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5039                        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>
5040                        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
5041                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5042                        is a number between 0..127 defining the MIDI controller which can alter the
5043                        effect send level and &lt;name&gt; is an optional argument defining a name
5044                        for the effect send entity. The name does not have to be unique.
5045    </p>
5046    <p>By default, that is as initial routing, the effect send's audio channels
5047                        are automatically routed to the last audio channels of the sampler channel's
5048                        audio output device, that way you can i.e. first increase the amount of audio
5049                        channels on the audio output device for having dedicated effect send output
5050                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5051                        be picked. You can alter the destination channels however with
5052                        <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>.
5053                        
5054    </p>
5055    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5056                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5057                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5058                        the voices and route the audio signal afterwards to the master outputs and effect send
5059                        outputs (along with their respective effect send levels). A sampler channel without effect
5060                        sends however can mix its voices directly into the audio output devices's audio buffers
5061                        and is thus faster.
5062                        
5063    </p>
5064    <p>Possible Answers:
5065    </p>
5066    <p>
5067                            </p>
5068    <blockquote class="text">
5069    <p>"OK[&lt;fx-send-id&gt;]" -
5070                                    </p>
5071    <blockquote class="text">
5072    <p>in case a new effect send could be added to the
5073                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5074                                        unique ID of the newly created effect send entity
5075    </p>
5076    </blockquote>
5077                                
5078    
5079    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5080                                    </p>
5081    <blockquote class="text">
5082    <p>when a new effect send could not be added, i.e.
5083                                        due to invalid parameters
5084    </p>
5085    </blockquote>
5086                                
5087    
5088    </blockquote><p>
5089                        
5090    </p>
5091    <p>Examples:
5092    </p>
5093    <p>
5094                            </p>
5095    <blockquote class="text">
5096    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5097    </p>
5098    <p>S: "OK[0]"
5099    </p>
5100    </blockquote><p>
5101                        
5102    </p>
5103    <p>
5104                            </p>
5105    <blockquote class="text">
5106    <p>C: "CREATE FX_SEND 0 93"
5107    </p>
5108    <p>S: "OK[1]"
5109    </p>
5110    </blockquote><p>
5111                        
5112    </p>
5113    <a name="DESTROY FX_SEND"></a><br /><hr />
5114    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5115    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5116    Removing an effect send from a sampler channel</h3>
5117    
5118    <p>The front-end can remove an existing effect send on a specific sampler channel
5119                        by sending the following command:
5120    </p>
5121    <p>
5122                            </p>
5123    <blockquote class="text">
5124    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5125    </p>
5126    </blockquote><p>
5127                        
5128    </p>
5129    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5130                        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>
5131                        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
5132                        sampler channel from which the effect send should be removed from and
5133                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5134                        <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>
5135                        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.
5136    </p>
5137    <p>Possible Answers:
5138    </p>
5139    <p>
5140                            </p>
5141    <blockquote class="text">
5142    <p>"OK" -
5143                                    </p>
5144    <blockquote class="text">
5145    <p>on success
5146    </p>
5147    </blockquote>
5148                                
5149    
5150    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5151                                    </p>
5152    <blockquote class="text">
5153    <p>in case it failed, providing an appropriate error code and
5154                                        error message
5155    </p>
5156    </blockquote>
5157                                
5158    
5159    </blockquote><p>
5160                        
5161    </p>
5162    <p>Example:
5163    </p>
5164    <p>
5165                            </p>
5166    <blockquote class="text">
5167    <p>C: "DESTROY FX_SEND 0 0"
5168    </p>
5169    <p>S: "OK"
5170    </p>
5171    </blockquote><p>
5172                        
5173    </p>
5174    <a name="GET FX_SENDS"></a><br /><hr />
5175    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5176    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5177    Getting amount of effect sends on a sampler channel</h3>
5178    
5179    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5180                        by sending the following command:
5181    </p>
5182    <p>
5183                            </p>
5184    <blockquote class="text">
5185    <p>GET FX_SENDS &lt;sampler-channel&gt;
5186    </p>
5187    </blockquote><p>
5188                        
5189    </p>
5190    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5191                        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>
5192                        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.
5193    </p>
5194    <p>Possible Answers:
5195    </p>
5196    <p>
5197                            </p>
5198    <blockquote class="text">
5199    <p>The sampler will answer by returning the number of effect
5200                                sends on the given sampler channel.
5201    </p>
5202    </blockquote><p>
5203                        
5204    </p>
5205    <p>Example:
5206    </p>
5207    <p>
5208                            </p>
5209    <blockquote class="text">
5210    <p>C: "GET FX_SENDS 0"
5211    </p>
5212    <p>S: "2"
5213    </p>
5214    </blockquote><p>
5215                        
5216    </p>
5217    <a name="LIST FX_SENDS"></a><br /><hr />
5218    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5219    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5220    Listing all effect sends on a sampler channel</h3>
5221    
5222    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5223                        by sending the following command:
5224    </p>
5225    <p>
5226                            </p>
5227    <blockquote class="text">
5228    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5229    </p>
5230    </blockquote><p>
5231                        
5232    </p>
5233    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5234                        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>
5235                        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.
5236    </p>
5237    <p>Possible Answers:
5238    </p>
5239    <p>
5240                            </p>
5241    <blockquote class="text">
5242    <p>The sampler will answer by returning a comma separated list
5243                                with all effect sends' numerical IDs on the given sampler
5244                                channel.
5245    </p>
5246    </blockquote><p>
5247                        
5248    </p>
5249    <p>Examples:
5250    </p>
5251    <p>
5252                            </p>
5253    <blockquote class="text">
5254    <p>C: "LIST FX_SENDS 0"
5255    </p>
5256    <p>S: "0,1"
5257    </p>
5258    </blockquote><p>
5259                        
5260    </p>
5261    <p>
5262                            </p>
5263    <blockquote class="text">
5264    <p>C: "LIST FX_SENDS 1"
5265    </p>
5266    <p>S: ""
5267    </p>
5268    </blockquote><p>
5269                        
5270    </p>
5271    <a name="GET FX_SEND INFO"></a><br /><hr />
5272    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5273    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5274    Getting effect send information</h3>
5275    
5276    <p>The front-end can ask for the current settings of an effect send entity
5277                        by sending the following command:
5278    </p>
5279    <p>
5280                            </p>
5281    <blockquote class="text">
5282    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5283    </p>
5284    </blockquote><p>
5285                        
5286    </p>
5287    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5288                        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>
5289                        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
5290                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5291                        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>
5292                        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.
5293                      
5294    </p>
5295    <p>Possible Answers:
5296    </p>
5297    <p>
5298                            </p>
5299    <blockquote class="text">
5300    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5301                                Each answer line begins with the settings category name
5302                                followed by a colon and then a space character &lt;SP&gt; and finally
5303                                the info character string to that setting category. At the
5304                                moment the following categories are defined:
5305    </p>
5306    <p>
5307                                    </p>
5308    <blockquote class="text">
5309    <p>NAME -
5310                                            </p>
5311    <blockquote class="text">
5312    <p>name of the effect send entity
5313    </p>
5314    </blockquote>
5315                                        
5316    
5317    <p>MIDI_CONTROLLER -
5318                                            </p>
5319    <blockquote class="text">
5320    <p>a value between 0 and 127 reflecting the MIDI controller
5321                                                which is able to modify the effect send's send level
5322    </p>
5323    </blockquote>
5324                                        
5325    
5326    <p>LEVEL -
5327                                            </p>
5328    <blockquote class="text">
5329    <p>optionally dotted number reflecting the effect send's
5330                                                current send level (where a value &lt; 1.0 means attenuation
5331                                                and a value > 1.0 means amplification)
5332    </p>
5333    </blockquote>
5334                                        
5335    
5336    <p>AUDIO_OUTPUT_ROUTING -
5337                                            </p>
5338    <blockquote class="text">
5339    <p>comma separated list which reflects to which audio
5340                                                channel of the selected audio output device each
5341                                                effect send output channel is routed to, e.g. "0,3" would
5342                                                mean the effect send's output channel 0 is routed to channel
5343                                                0 of the audio output device and the effect send's output
5344                                                channel 1 is routed to the channel 3 of the audio
5345                                                output device (see
5346                                                <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>
5347                                                for details)
5348    </p>
5349    </blockquote>
5350                                        
5351    
5352    </blockquote>
5353                                
5354    
5355    </blockquote><p>
5356                        
5357    </p>
5358    <p>The mentioned fields above don't have to be in particular order.
5359    </p>
5360    <p>Example:
5361    </p>
5362    <p>
5363                            </p>
5364    <blockquote class="text">
5365    <p>C: "GET FX_SEND INFO 0 0"
5366    </p>
5367    <p>S: "NAME: Reverb Send"
5368    </p>
5369    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5370    </p>
5371    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5372    </p>
5373    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5374    </p>
5375    <p>&nbsp;&nbsp;&nbsp;"."
5376    </p>
5377    </blockquote><p>
5378                        
5379    </p>
5380    <a name="SET FX_SEND NAME"></a><br /><hr />
5381    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5382    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5383    Changing effect send's name</h3>
5384    
5385    <p>The front-end can alter the current name of an effect
5386                        send entity by sending the following command:
5387    </p>
5388    <p>
5389                            </p>
5390    <blockquote class="text">
5391    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5392    </p>
5393    </blockquote><p>
5394                        
5395    </p>
5396    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5397                        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>
5398                        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,
5399                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5400                        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>
5401                        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
5402                        &lt;name&gt; is the new name of the effect send entity, which
5403                        does not have to be unique.
5404    </p>
5405    <p>Possible Answers:
5406    </p>
5407    <p>
5408                            </p>
5409    <blockquote class="text">
5410    <p>"OK" -
5411                                    </p>
5412    <blockquote class="text">
5413    <p>on success
5414    </p>
5415    </blockquote>
5416                                
5417    
5418    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5419                                    </p>
5420    <blockquote class="text">
5421    <p>in case it failed, providing an appropriate error code and error message
5422    </p>
5423    </blockquote>
5424                                
5425    
5426    </blockquote><p>
5427                        
5428    </p>
5429    <p>Example:
5430    </p>
5431    <p>
5432                            </p>
5433    <blockquote class="text">
5434    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5435    </p>
5436    <p>S: "OK"
5437    </p>
5438    </blockquote><p>
5439                        
5440    </p>
5441    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5442    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5443    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5444    Altering effect send's audio routing</h3>
5445    
5446    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5447                        sampler channel by sending the following command:
5448    </p>
5449    <p>
5450                            </p>
5451    <blockquote class="text">
5452    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5453    </p>
5454    </blockquote><p>
5455                        
5456    </p>
5457    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5458                        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>
5459                        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,
5460                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5461                        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>
5462                        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,
5463                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5464                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5465                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5466                        should be routed to.
5467    </p>
5468    <p>Note that effect sends can only route audio to the same audio output
5469                        device as assigned to the effect send's sampler channel. Also note that an
5470                        effect send entity does always have exactly as much audio channels as its
5471                        sampler channel. So if the sampler channel is stereo, the effect send does
5472                        have two audio channels as well. Also keep in mind that the amount of audio
5473                        channels on a sampler channel might be dependant not only to the deployed
5474                        sampler engine on the sampler channel, but also dependant to the instrument
5475                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5476                        send into a mono one by simply altering its audio routing appropriately.
5477    </p>
5478    <p>Possible Answers:
5479    </p>
5480    <p>
5481                            </p>
5482    <blockquote class="text">
5483    <p>"OK" -
5484                                    </p>
5485    <blockquote class="text">
5486    <p>on success
5487    </p>
5488    </blockquote>
5489                                
5490    
5491    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5492                                    </p>
5493    <blockquote class="text">
5494    <p>if audio output channel was set, but there are noteworthy
5495                                        issue(s) related, providing an appropriate warning code and
5496                                        warning message
5497    </p>
5498    </blockquote>
5499                                
5500    
5501    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5502                                    </p>
5503    <blockquote class="text">
5504    <p>in case it failed, providing an appropriate error code and error message
5505    </p>
5506    </blockquote>
5507                                
5508    
5509    </blockquote><p>
5510                        
5511    </p>
5512    <p>Example:
5513    </p>
5514    <p>
5515                            </p>
5516    <blockquote class="text">
5517    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5518    </p>
5519    <p>S: "OK"
5520    </p>
5521    </blockquote><p>
5522                        
5523    </p>
5524    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5525    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5526    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5527    Altering effect send's MIDI controller</h3>
5528    
5529    <p>The front-end can alter the MIDI controller of an effect
5530                        send entity by sending the following command:
5531    </p>
5532    <p>
5533                            </p>
5534    <blockquote class="text">
5535    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5536    </p>
5537    </blockquote><p>
5538                        
5539    </p>
5540    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5541                        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>
5542                        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,
5543                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5544                        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>
5545                        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
5546                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5547                        able to modify the effect send's send level.
5548    </p>
5549    <p>Possible Answers:
5550    </p>
5551    <p>
5552                            </p>
5553    <blockquote class="text">
5554    <p>"OK" -
5555                                    </p>
5556    <blockquote class="text">
5557    <p>on success
5558    </p>
5559    </blockquote>
5560                                
5561    
5562    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5563                                    </p>
5564    <blockquote class="text">
5565    <p>if MIDI controller was set, but there are noteworthy
5566                                        issue(s) related, providing an appropriate warning code and
5567                                        warning message
5568    </p>
5569    </blockquote>
5570                                
5571    
5572    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5573                                    </p>
5574    <blockquote class="text">
5575    <p>in case it failed, providing an appropriate error code and error message
5576    </p>
5577    </blockquote>
5578                                
5579    
5580    </blockquote><p>
5581                        
5582    </p>
5583    <p>Example:
5584    </p>
5585    <p>
5586                            </p>
5587    <blockquote class="text">
5588    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5589    </p>
5590    <p>S: "OK"
5591    </p>
5592    </blockquote><p>
5593                        
5594    </p>
5595    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5596    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5597    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5598    Altering effect send's send level</h3>
5599    
5600    <p>The front-end can alter the current send level of an effect
5601                        send entity by sending the following command:
5602    </p>
5603    <p>
5604                            </p>
5605    <blockquote class="text">
5606    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5607    </p>
5608    </blockquote><p>
5609                        
5610    </p>
5611    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5612                        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>
5613                        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,
5614                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5615                        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>
5616                        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
5617                        &lt;volume&gt; is an optionally dotted positive number (a value
5618                        smaller than 1.0 means attenuation, whereas a value greater than
5619                        1.0 means amplification) reflecting the new send level.
5620    </p>
5621    <p>Possible Answers:
5622    </p>
5623    <p>
5624                            </p>
5625    <blockquote class="text">
5626    <p>"OK" -
5627                                    </p>
5628    <blockquote class="text">
5629    <p>on success
5630    </p>
5631    </blockquote>
5632                                
5633    
5634    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5635                                    </p>
5636    <blockquote class="text">
5637    <p>if new send level was set, but there are noteworthy
5638                                        issue(s) related, providing an appropriate warning code and
5639                                        warning message
5640    </p>
5641    </blockquote>
5642                                
5643    
5644    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5645                                    </p>
5646    <blockquote class="text">
5647    <p>in case it failed, providing an appropriate error code and error message
5648    </p>
5649    </blockquote>
5650                                
5651    
5652    </blockquote><p>
5653                        
5654    </p>
5655    <p>Example:
5656    </p>
5657    <p>
5658                            </p>
5659    <blockquote class="text">
5660    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5661    </p>
5662    <p>S: "OK"
5663    </p>
5664    </blockquote><p>
5665                        
5666    </p>
5667    <a name="RESET CHANNEL"></a><br /><hr />
5668    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5669    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5670  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
5671    
5672  <p>The front-end can reset a particular sampler channel by sending the following command:  <p>The front-end can reset a particular sampler channel by sending the following command:
# Line 5367  General sampler informations</h3> Line 6098  General sampler informations</h3>
6098  </blockquote>  </blockquote>
6099                                                                            
6100    
6101    <p>INSTRUMENTS_DB_SUPPORT -
6102                                            </p>
6103    <blockquote class="text">
6104    <p>either yes or no, specifies whether the
6105                                                sampler is build with instruments database support.
6106    </p>
6107    </blockquote>
6108                                        
6109    
6110  </blockquote>  </blockquote>
6111                                                            
6112    
# Line 5376  General sampler informations</h3> Line 6116  General sampler informations</h3>
6116  <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.
6117                      Other fields might be added in future.                      Other fields might be added in future.
6118  </p>  </p>
6119    <a name="GET VOLUME"></a><br /><hr />
6120    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6121    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6122    Getting global volume attenuation</h3>
6123    
6124    <p>The client can ask for the current global sampler-wide volume
6125                        attenuation by sending the following command:
6126    </p>
6127    <p>
6128                            </p>
6129    <blockquote class="text">
6130    <p>GET VOLUME
6131    </p>
6132    </blockquote><p>
6133                        
6134    </p>
6135    <p>Possible Answers:
6136    </p>
6137    <p>
6138                            </p>
6139    <blockquote class="text">
6140    <p>The sampler will always answer by returning the optional
6141                                dotted floating point coefficient, reflecting the current
6142                                global volume attenuation.
6143                                
6144    </p>
6145    </blockquote><p>
6146                        
6147    </p>
6148    <p>Note: it is up to the respective sampler engine whether to obey
6149                        that global volume parameter or not, but in general all engines SHOULD
6150                        use this parameter.
6151    </p>
6152    <a name="SET VOLUME"></a><br /><hr />
6153    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6154    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6155    Setting global volume attenuation</h3>
6156    
6157    <p>The client can alter the current global sampler-wide volume
6158                        attenuation by sending the following command:
6159    </p>
6160    <p>
6161                            </p>
6162    <blockquote class="text">
6163    <p>SET VOLUME &lt;volume&gt;
6164    </p>
6165    </blockquote><p>
6166                        
6167    </p>
6168    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6169                       floating point value, reflecting the new global volume parameter.
6170                       This value might usually be in the range between 0.0 and 1.0, that
6171                       is for attenuating the overall volume.
6172    </p>
6173    <p>Possible Answers:
6174    </p>
6175    <p>
6176                            </p>
6177    <blockquote class="text">
6178    <p>"OK" -
6179                                    </p>
6180    <blockquote class="text">
6181    <p>on success
6182    </p>
6183    </blockquote>
6184                                
6185    
6186    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6187                                    </p>
6188    <blockquote class="text">
6189    <p>if the global volume was set, but there are noteworthy
6190                                        issue(s) related, providing an appropriate warning code and
6191                                        warning message
6192    </p>
6193    </blockquote>
6194                                
6195    
6196    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6197                                    </p>
6198    <blockquote class="text">
6199    <p>in case it failed, providing an appropriate error code and error message
6200    </p>
6201    </blockquote>
6202                                
6203    
6204    </blockquote><p>
6205                        
6206    </p>
6207  <a name="MIDI Instrument Mapping"></a><br /><hr />  <a name="MIDI Instrument Mapping"></a><br /><hr />
6208  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6209  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
# Line 5690  Getting MIDI instrument map information< Line 6518  Getting MIDI instrument map information<
6518  </blockquote>  </blockquote>
6519                                                                            
6520    
6521    <p>DEFAULT -
6522                                            </p>
6523    <blockquote class="text">
6524    <p>either true or false,
6525                                                defines whether this map is the default map
6526    </p>
6527    </blockquote>
6528                                        
6529    
6530  </blockquote>  </blockquote>
6531                                                            
6532    
# Line 5707  Getting MIDI instrument map information< Line 6544  Getting MIDI instrument map information<
6544  </p>  </p>
6545  <p>S: "NAME: Standard Map"  <p>S: "NAME: Standard Map"
6546  </p>  </p>
6547    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6548    </p>
6549  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
6550  </p>  </p>
6551  </blockquote><p>  </blockquote><p>
# Line 5780  Create or replace a MIDI instrument map Line 6619  Create or replace a MIDI instrument map
6619  <p>  <p>
6620                          </p>                          </p>
6621  <blockquote class="text">  <blockquote class="text">
6622  <p>MAP MIDI_INSTRUMENT &lt;map&gt;  <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6623                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6624                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6625                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]
# Line 5800  Create or replace a MIDI instrument map Line 6639  Create or replace a MIDI instrument map
6639                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6640                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6641                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
6642                      value < 1.0 means attenuation and a value > 1.0 means                      value &lt; 1.0 means attenuation and a value > 1.0 means
6643                      amplification). This parameter easily allows to adjust the                      amplification). This parameter easily allows to adjust the
6644                      volume of all intruments within a custom instrument map                      volume of all intruments within a custom instrument map
6645                      without having to adjust their instrument files. The                      without having to adjust their instrument files. The
# Line 5844  Create or replace a MIDI instrument map Line 6683  Create or replace a MIDI instrument map
6683                                  </p>                                  </p>
6684  <blockquote class="text">  <blockquote class="text">
6685  <p>The instrument will immediately be loaded  <p>The instrument will immediately be loaded
6686                                      into memory in the background when this mapping                                      into memory when this mapping
6687                                      command is sent and the instrument is kept all                                      command is sent and the instrument is kept all
6688                                      the time. Instruments with this mode are                                      the time. Instruments with this mode are
6689                                      only freed when the sampler is reset or all                                      only freed when the sampler is reset or all
# Line 5901  Create or replace a MIDI instrument map Line 6740  Create or replace a MIDI instrument map
6740                                            
6741  </p>  </p>
6742  <p>  <p>
6743                      The "MAP MIDI_INSTRUMENT" command                      By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6744                      will immediately return, thus it will not block when an                      completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6745                      instrument is to be loaded due to a "PERSISTENT" type                      however causes the respective "MAP MIDI_INSTRUMENT" command to return
6746                      entry as instruments are loaded in the background. As a                      immediately, that is to let the sampler establish the mapping in the
6747                      consequence this command may not necessarily return an error                      background. So this argument might be especially useful for mappings with
6748                      i.e. when the given instrument file does not exist or may                      a "PERSISTENT" type, because these have to load the respective instruments
6749                      turn out to be corrupt.                      immediately and might thus block for a very long time. It is recommended
6750                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6751                        because it has the following drawbacks: as "NON_MODAL" instructions return
6752                        immediately, they may not necessarily return an error i.e. when the given
6753                        instrument file turns out to be corrupt, beside that subsequent commands
6754                        in a LSCP instruction sequence might fail, because mandatory mappings are
6755                        not yet completed.
6756                                            
6757  </p>  </p>
6758  <p>Possible Answers:  <p>Possible Answers:
# Line 5974  Create or replace a MIDI instrument map Line 6819  Create or replace a MIDI instrument map
6819  <p>  <p>
6820                          </p>                          </p>
6821  <blockquote class="text">  <blockquote class="text">
6822  <p>C: "MAP MIDI_INSTRUMENT 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"  <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6823  </p>  </p>
6824  <p>S: "OK"  <p>S: "OK"
6825  </p>  </p>
# Line 6263  Get current settings of MIDI instrument Line 7108  Get current settings of MIDI instrument
7108                                  </p>                                  </p>
7109  <blockquote class="text">  <blockquote class="text">
7110  <p>master volume of the instrument as optionally  <p>master volume of the instrument as optionally
7111                                      dotted number (where a value < 1.0 means attenuation                                      dotted number (where a value &lt; 1.0 means attenuation
7112                                      and a value > 1.0 means amplification)                                      and a value > 1.0 means amplification)
7113  </p>  </p>
7114  </blockquote>  </blockquote>
# Line 6372  Clear MIDI instrument map</h3> Line 7217  Clear MIDI instrument map</h3>
7217  </blockquote><p>  </blockquote><p>
7218                                            
7219  </p>  </p>
7220    <a name="Managing Instruments Database"></a><br /><hr />
7221    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7222    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7223    Managing Instruments Database</h3>
7224    
7225    <p>The following commands describe how to use and manage
7226                    the instruments database.
7227    </p>
7228    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7229    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7230    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7231    Creating a new instrument directory</h3>
7232    
7233    <p>The front-end can add a new instrument directory to the
7234                        instruments database by sending the following command:
7235    </p>
7236    <p>
7237                            </p>
7238    <blockquote class="text">
7239    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7240    </p>
7241    </blockquote><p>
7242                        
7243    </p>
7244    <p>Where &lt;dir&gt; is the absolute path name of the directory
7245                        to be created (encapsulated into apostrophes).
7246    </p>
7247    <p>Possible Answers:
7248    </p>
7249    <p>
7250                            </p>
7251    <blockquote class="text">
7252    <p>"OK" -
7253                                    </p>
7254    <blockquote class="text">
7255    <p>on success
7256    </p>
7257    </blockquote>
7258                                
7259    
7260    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7261                                    </p>
7262    <blockquote class="text">
7263    <p>when the directory could not be created, which
7264                                        can happen if the directory already exists or the
7265                                        name contains not allowed symbols
7266    </p>
7267    </blockquote>
7268                                
7269    
7270    </blockquote><p>
7271                        
7272    </p>
7273    <p>Examples:
7274    </p>
7275    <p>
7276                            </p>
7277    <blockquote class="text">
7278    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7279    </p>
7280    <p>S: "OK"
7281    </p>
7282    </blockquote><p>
7283                        
7284    </p>
7285    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7286    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7287    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7288    Deleting an instrument directory</h3>
7289    
7290    <p>The front-end can delete a particular instrument directory
7291                        from the instruments database by sending the following command:
7292    </p>
7293    <p>
7294                            </p>
7295    <blockquote class="text">
7296    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7297    </p>
7298    </blockquote><p>
7299                        
7300    </p>
7301    <p>Where &lt;dir&gt; is the absolute path name of the directory
7302                        to delete. The optional FORCE argument can be used to
7303                        force the deletion of a non-empty directory and all its content.
7304    </p>
7305    <p>Possible Answers:
7306    </p>
7307    <p>
7308                            </p>
7309    <blockquote class="text">
7310    <p>"OK" -
7311                                    </p>
7312    <blockquote class="text">
7313    <p>if the directory is deleted successfully
7314    </p>
7315    </blockquote>
7316                                
7317    
7318    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7319                                    </p>
7320    <blockquote class="text">
7321    <p>if the given directory does not exist, or
7322                                        if trying to delete a non-empty directory,
7323                                        without using the FORCE argument.
7324    </p>
7325    </blockquote>
7326                                
7327    
7328    </blockquote><p>
7329                        
7330    </p>
7331    <p>Examples:
7332    </p>
7333    <p>
7334                            </p>
7335    <blockquote class="text">
7336    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7337    </p>
7338    <p>S: "OK"
7339    </p>
7340    </blockquote><p>
7341                        
7342    </p>
7343    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7344    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7345    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7346    Getting amount of instrument directories</h3>
7347    
7348    <p>The front-end can retrieve the current amount of
7349                        directories in a specific directory by sending the following command:
7350    </p>
7351    <p>
7352                            </p>
7353    <blockquote class="text">
7354    <p>GET DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;
7355    </p>
7356    </blockquote><p>
7357                        
7358    </p>
7359    <p>Where &lt;dir&gt; should be replaced by the absolute path
7360                        name of the directory.
7361    </p>
7362    <p>Possible Answers:
7363    </p>
7364    <p>
7365                            </p>
7366    <blockquote class="text">
7367    <p>The current number of instrument directories
7368                                in the specified directory.
7369    </p>
7370    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7371                                    </p>
7372    <blockquote class="text">
7373    <p>if the given directory does not exist.
7374    </p>
7375    </blockquote>
7376                                
7377    
7378    </blockquote><p>
7379                        
7380    </p>
7381    <p>Example:
7382    </p>
7383    <p>
7384                            </p>
7385    <blockquote class="text">
7386    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7387    </p>
7388    <p>S: "2"
7389    </p>
7390    </blockquote><p>
7391                        
7392    </p>
7393    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7394    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7395    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7396    Listing all directories in specific directory</h3>
7397    
7398    <p>The front-end can retrieve the current list of directories
7399                        in specific directory by sending the following command:
7400    </p>
7401    <p>
7402                            </p>
7403    <blockquote class="text">
7404    <p>LIST DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;
7405    </p>
7406    </blockquote><p>
7407                        
7408    </p>
7409    <p>Where &lt;dir&gt; should be replaced by the absolute path
7410                        name of the directory.
7411    </p>
7412    <p>Possible Answers:
7413    </p>
7414    <p>
7415                            </p>
7416    <blockquote class="text">
7417    <p>A comma separated list of all instrument directories
7418                                (encapsulated into apostrophes) in the specified directory.
7419    </p>
7420    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7421                                    </p>
7422    <blockquote class="text">
7423    <p>if the given directory does not exist.
7424    </p>
7425    </blockquote>
7426                                
7427    
7428    </blockquote><p>
7429                        
7430    </p>
7431    <p>Example:
7432    </p>
7433    <p>
7434                            </p>
7435    <blockquote class="text">
7436    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7437    </p>
7438    <p>S: "'Piano Collection','Percussion Collection'"
7439    </p>
7440    </blockquote><p>
7441                        
7442    </p>
7443    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7444    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7445    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7446    Getting instrument directory information</h3>
7447    
7448    <p>The front-end can ask for the current settings of an
7449                        instrument directory by sending the following command:
7450    </p>
7451    <p>
7452                            </p>
7453    <blockquote class="text">
7454    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7455    </p>
7456    </blockquote><p>
7457                        
7458    </p>
7459    <p>Where &lt;dir&gt; should be replaced by the absolute path
7460                        name of the directory the front-end is interested in.
7461    </p>
7462    <p>Possible Answers:
7463    </p>
7464    <p>
7465                            </p>
7466    <blockquote class="text">
7467    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7468                                Each answer line begins with the settings category name
7469                                followed by a colon and then a space character &lt;SP&gt; and finally
7470                                the info character string to that setting category. At the
7471                                moment the following categories are defined:
7472    </p>
7473    <p>
7474                                    </p>
7475    <blockquote class="text">
7476    <p>DESCRIPTION -
7477                                            </p>
7478    <blockquote class="text">
7479    <p>A brief description of the directory content
7480    </p>
7481    </blockquote>
7482                                        
7483    
7484    <p>CREATED -
7485                                            </p>
7486    <blockquote class="text">
7487    <p>The creation date and time of the directory,
7488                                                represented in "YYYY-MM-DD HH:MM:SS" format
7489    </p>
7490    </blockquote>
7491                                        
7492    
7493    <p>MODIFIED -
7494                                            </p>
7495    <blockquote class="text">
7496    <p>The date and time of the last modification of the
7497                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7498    </p>
7499    </blockquote>
7500                                        
7501    
7502    </blockquote>
7503                                
7504    
7505    </blockquote><p>
7506                        
7507    </p>
7508    <p>The mentioned fields above don't have to be in particular order.
7509    </p>
7510    <p>Example:
7511    </p>
7512    <p>
7513                            </p>
7514    <blockquote class="text">
7515    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7516    </p>
7517    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7518    </p>
7519    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7520    </p>
7521    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7522    </p>
7523    <p>&nbsp;&nbsp;&nbsp;"."
7524    </p>
7525    </blockquote><p>
7526                        
7527    </p>
7528    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7529    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7530    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7531    Renaming an instrument directory</h3>
7532    
7533    <p>The front-end can alter the name of a specific
7534                        instrument directory by sending the following command:
7535    </p>
7536    <p>
7537                            </p>
7538    <blockquote class="text">
7539    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7540    </p>
7541    </blockquote><p>
7542                        
7543    </p>
7544    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7545                        &lt;name&gt; is the new name for that directory.
7546    </p>
7547    <p>Possible Answers:
7548    </p>
7549    <p>
7550                            </p>
7551    <blockquote class="text">
7552    <p>"OK" -
7553                                    </p>
7554    <blockquote class="text">
7555    <p>on success
7556    </p>
7557    </blockquote>
7558                                
7559    
7560    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7561                                    </p>
7562    <blockquote class="text">
7563    <p>in case the given directory does not exists,
7564                                        or if a directory with name equal to the new
7565                                        name already exists.
7566    </p>
7567    </blockquote>
7568                                
7569    
7570    </blockquote><p>
7571                        
7572    </p>
7573    <p>Example:
7574    </p>
7575    <p>
7576                            </p>
7577    <blockquote class="text">
7578    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7579    </p>
7580    <p>S: "OK"
7581    </p>
7582    </blockquote><p>
7583                        
7584    </p>
7585    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7586    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7587    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7588    Moving an instrument directory</h3>
7589    
7590    <p>The front-end can move a specific
7591                        instrument directory by sending the following command:
7592    </p>
7593    <p>
7594                            </p>
7595    <blockquote class="text">
7596    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7597    </p>
7598    </blockquote><p>
7599                        
7600    </p>
7601    <p>Where &lt;dir&gt; is the absolute path name of the directory
7602                        to move and &lt;dst&gt; is the location where the directory will
7603                        be moved to.
7604    </p>
7605    <p>Possible Answers:
7606    </p>
7607    <p>
7608                            </p>
7609    <blockquote class="text">
7610    <p>"OK" -
7611                                    </p>
7612    <blockquote class="text">
7613    <p>on success
7614    </p>
7615    </blockquote>
7616                                
7617    
7618    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7619                                    </p>
7620    <blockquote class="text">
7621    <p>in case a given directory does not exists,
7622                                        or if a directory with name equal to the name
7623                                        of the specified directory already exists in
7624                                        the destination directory. Error is also thrown
7625                                        when trying to move a directory to a subdirectory
7626                                        of itself.
7627    </p>
7628    </blockquote>
7629                                
7630    
7631    </blockquote><p>
7632                        
7633    </p>
7634    <p>Example:
7635    </p>
7636    <p>
7637                            </p>
7638    <blockquote class="text">
7639    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7640    </p>
7641    <p>S: "OK"
7642    </p>
7643    </blockquote><p>
7644                        
7645    </p>
7646    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7647    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7648    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7649    Changing the description of directory</h3>
7650    
7651    <p>The front-end can alter the description of a specific
7652                        instrument directory by sending the following command:
7653    </p>
7654    <p>
7655                            </p>
7656    <blockquote class="text">
7657    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7658    </p>
7659    </blockquote><p>
7660                        
7661    </p>
7662    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7663                        &lt;desc&gt; is the new description for the directory.
7664    </p>
7665    <p>Possible Answers:
7666    </p>
7667    <p>
7668                            </p>
7669    <blockquote class="text">
7670    <p>"OK" -
7671                                    </p>
7672    <blockquote class="text">
7673    <p>on success
7674    </p>
7675    </blockquote>
7676                                
7677    
7678    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7679                                    </p>
7680    <blockquote class="text">
7681    <p>in case the given directory does not exists.
7682    </p>
7683    </blockquote>
7684                                
7685    
7686    </blockquote><p>
7687                        
7688    </p>
7689    <p>Example:
7690    </p>
7691    <p>
7692                            </p>
7693    <blockquote class="text">
7694    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7695    </p>
7696    <p>S: "OK"
7697    </p>
7698    </blockquote><p>
7699                        
7700    </p>
7701    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7702    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7703    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7704    Adding instruments to the instruments database</h3>
7705    
7706    <p>The front-end can add one or more instruments
7707                        to the instruments database by sending the following command:
7708    </p>
7709    <p>
7710                            </p>
7711    <blockquote class="text">
7712    <p>ADD DB_INSTRUMENTS [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7713    </p>
7714    </blockquote><p>
7715                        
7716    </p>
7717    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7718                        (encapsulated into apostrophes) in the instruments database in which
7719                        only the new instruments (that are not already in the database) will
7720                        be added, &lt;file_path&gt; is the absolute path name of a file or
7721                        directory in the file system (encapsulated into apostrophes). In case
7722                        an instrument file is supplied, only the instruments in the specified
7723                        file will be added to the instruments database. If the optional
7724                        &lt;instr_index&gt; (the index of the instrument within the given file)
7725                        is supplied too, then only the specified instrument will be added.
7726                        In case a directory is supplied, the instruments in that directory
7727                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
7728                        when a directory is provided as &lt;file_path&gt; and specifies how the
7729                        scanning will be done and has exactly the following possibilities:
7730    </p>
7731    <p>
7732                            </p>
7733    <blockquote class="text">
7734    <p>"NON_RECURSIVE" -
7735                                    </p>
7736    <blockquote class="text">
7737    <p>Only the instruments in the specified directory
7738                                        will be added, the instruments in the subdirectories
7739                                        will not be processed.
7740    </p>
7741    </blockquote>
7742                                
7743    
7744    <p>"FLAT" -
7745                                    </p>
7746    <blockquote class="text">
7747    <p>All instruments will be processed, including those
7748                                        in the subdirectories, but the respective subdirectory
7749                                        structure will not be recreated in the instruments
7750                                        database. All instruments will be added directly in
7751                                        the specified database directory.
7752    </p>
7753    </blockquote>
7754                                
7755    
7756    <p>not supplied -
7757                                    </p>
7758    <blockquote class="text">
7759    <p>The subdirectory tree structure will be recreated
7760                                        in the instruments database and all instruments will be
7761                                        processed and added to the respective subdirectory
7762                                        in the instruments database.
7763    </p>
7764    </blockquote>
7765                                
7766    
7767    </blockquote><p>
7768                        
7769    </p>
7770    <p>Possible Answers:
7771    </p>
7772    <p>
7773                            </p>
7774    <blockquote class="text">
7775    <p>"OK" -
7776                                    </p>
7777    <blockquote class="text">
7778    <p>on success
7779    </p>
7780    </blockquote>
7781                                
7782    
7783    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7784                                    </p>
7785    <blockquote class="text">
7786    <p>if an invalid path is specified.
7787    </p>
7788    </blockquote>
7789                                
7790    
7791    </blockquote><p>
7792                        
7793    </p>
7794    <p>Examples:
7795    </p>
7796    <p>
7797                            </p>
7798    <blockquote class="text">
7799    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
7800    </p>
7801    <p>S: "OK"
7802    </p>
7803    </blockquote><p>
7804                        
7805    </p>
7806    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
7807    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7808    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7809    Removing an instrument</h3>
7810    
7811    <p>The front-end can remove a particular instrument
7812                        from the instruments database by sending the following command:
7813    </p>
7814    <p>
7815                            </p>
7816    <blockquote class="text">
7817    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
7818    </p>
7819    </blockquote><p>
7820                        
7821    </p>
7822    <p>Where &lt;instr_path&gt; is the absolute path name
7823                        (in the instruments database) of the instrument to remove.
7824    </p>
7825    <p>Possible Answers:
7826    </p>
7827    <p>
7828                            </p>
7829    <blockquote class="text">
7830    <p>"OK" -
7831                                    </p>
7832    <blockquote class="text">
7833    <p>if the instrument is removed successfully
7834    </p>
7835    </blockquote>
7836                                
7837    
7838    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7839                                    </p>
7840    <blockquote class="text">
7841    <p>if the given path does not exist or
7842                                        is a directory.
7843    </p>
7844    </blockquote>
7845                                
7846    
7847    </blockquote><p>
7848                        
7849    </p>
7850    <p>Examples:
7851    </p>
7852    <p>
7853                            </p>
7854    <blockquote class="text">
7855    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
7856    </p>
7857    <p>S: "OK"
7858    </p>
7859    </blockquote><p>
7860                        
7861    </p>
7862    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
7863    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7864    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7865    Getting amount of instruments</h3>
7866    
7867    <p>The front-end can retrieve the current amount of
7868                        instruments in a specific directory by sending the following command:
7869    </p>
7870    <p>
7871                            </p>
7872    <blockquote class="text">
7873    <p>GET DB_INSTRUMENTS &lt;dir&gt;
7874    </p>
7875    </blockquote><p>
7876                        
7877    </p>
7878    <p>Where &lt;dir&gt; should be replaced by the absolute path name
7879                        of the directory.
7880    </p>
7881    <p>Possible Answers:
7882    </p>
7883    <p>
7884                            </p>
7885    <blockquote class="text">
7886    <p>The current number of instruments
7887                                in the specified directory.
7888    </p>
7889    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7890                                    </p>
7891    <blockquote class="text">
7892    <p>if the given directory does not exist.
7893    </p>
7894    </blockquote>
7895                                
7896    
7897    </blockquote><p>
7898                        
7899    </p>
7900    <p>Example:
7901    </p>
7902    <p>
7903                            </p>
7904    <blockquote class="text">
7905    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
7906    </p>
7907    <p>S: "2"
7908    </p>
7909    </blockquote><p>
7910                        
7911    </p>
7912    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
7913    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7914    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
7915    Listing all instruments in specific directory</h3>
7916    
7917    <p>The front-end can retrieve the current list of instruments
7918                        in specific directory by sending the following command:
7919    </p>
7920    <p>
7921                            </p>
7922    <blockquote class="text">
7923    <p>LIST DB_INSTRUMENTS &lt;dir&gt;
7924    </p>
7925    </blockquote><p>
7926                        
7927    </p>
7928    <p>Where &lt;dir&gt; should be replaced by the absolute path
7929                        name of the directory.
7930    </p>
7931    <p>Possible Answers:
7932    </p>
7933    <p>
7934                            </p>
7935    <blockquote class="text">
7936    <p>A comma separated list of all instruments
7937                                (encapsulated into apostrophes) in the specified directory.
7938    </p>
7939    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7940                                    </p>
7941    <blockquote class="text">
7942    <p>if the given directory does not exist.
7943    </p>
7944    </blockquote>
7945                                
7946    
7947    </blockquote><p>
7948                        
7949    </p>
7950    <p>Example:
7951    </p>
7952    <p>
7953                            </p>
7954    <blockquote class="text">
7955    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
7956    </p>
7957    <p>S: "'Bosendorfer 290','Steinway D'"
7958    </p>
7959    </blockquote><p>
7960                        
7961    </p>
7962    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
7963    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7964    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
7965    Getting instrument information</h3>
7966    
7967    <p>The front-end can ask for the current settings of an
7968                        instrument by sending the following command:
7969    </p>
7970    <p>
7971                            </p>
7972    <blockquote class="text">
7973    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
7974    </p>
7975    </blockquote><p>
7976                        
7977    </p>
7978    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
7979                        name of the instrument the front-end is interested in.
7980    </p>
7981    <p>Possible Answers:
7982    </p>
7983    <p>
7984                            </p>
7985    <blockquote class="text">
7986    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7987                                Each answer line begins with the settings category name
7988                                followed by a colon and then a space character &lt;SP&gt; and finally
7989                                the info character string to that setting category. At the
7990                                moment the following categories are defined:
7991    </p>
7992    <p>
7993                                    </p>
7994    <blockquote class="text">
7995    <p>INSTRUMENT_FILE -
7996                                            </p>
7997    <blockquote class="text">
7998    <p>File name of the instrument.
7999    </p>
8000    </blockquote>
8001                                        
8002    
8003    <p>INSTRUMENT_NR -
8004                                            </p>
8005    <blockquote class="text">
8006    <p>Index of the instrument within the file.
8007    </p>
8008    </blockquote>
8009                                        
8010    
8011    <p>FORMAT_FAMILY -
8012                                            </p>
8013    <blockquote class="text">
8014    <p>The format family of the instrument.
8015    </p>
8016    </blockquote>
8017                                        
8018    
8019    <p>FORMAT_VERSION -
8020                                            </p>
8021    <blockquote class="text">
8022    <p>The format version of the instrument.
8023    </p>
8024    </blockquote>
8025                                        
8026    
8027    <p>SIZE -
8028                                            </p>
8029    <blockquote class="text">
8030    <p>The size of the instrument in bytes.
8031    </p>
8032    </blockquote>
8033                                        
8034    
8035    <p>CREATED -
8036                                            </p>
8037    <blockquote class="text">
8038    <p>The date and time when the instrument is added
8039                                                in the instruments database, represented in
8040                                               "YYYY-MM-DD HH:MM:SS" format
8041    </p>
8042    </blockquote>
8043                                        
8044    
8045    <p>MODIFIED -
8046                                            </p>
8047    <blockquote class="text">
8048    <p>The date and time of the last modification of the
8049                                                instrument's database settings, represented in
8050                                                "YYYY-MM-DD HH:MM:SS" format
8051    </p>
8052    </blockquote>
8053                                        
8054    
8055    <p>DESCRIPTION -
8056                                            </p>
8057    <blockquote class="text">
8058    <p>A brief description of the instrument
8059    </p>
8060    </blockquote>
8061                                        
8062    
8063    <p>IS_DRUM -
8064                                            </p>
8065    <blockquote class="text">
8066    <p>either true or false, determines whether the
8067                                                instrument is a drumkit or a chromatic instrument
8068    </p>
8069    </blockquote>
8070                                        
8071    
8072    <p>PRODUCT -
8073                                            </p>
8074    <blockquote class="text">
8075    <p>The product title of the instrument
8076    </p>
8077    </blockquote>
8078                                        
8079    
8080    <p>ARTISTS -
8081                                            </p>
8082    <blockquote class="text">
8083    <p>Lists the artist names
8084    </p>
8085    </blockquote>
8086                                        
8087    
8088    <p>KEYWORDS -
8089                                            </p>
8090    <blockquote class="text">
8091    <p>Provides a list of keywords that refer to the instrument.
8092                                                Keywords are separated with semicolon and blank.
8093    </p>
8094    </blockquote>
8095                                        
8096    
8097    </blockquote>
8098                                
8099    
8100    </blockquote><p>
8101                        
8102    </p>
8103    <p>The mentioned fields above don't have to be in particular order.
8104    </p>
8105    <p>Example:
8106    </p>
8107    <p>
8108                            </p>
8109    <blockquote class="text">
8110    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8111    </p>
8112    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8113    </p>
8114    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8115    </p>
8116    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8117    </p>
8118    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8119    </p>
8120    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8121    </p>
8122    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8123    </p>
8124    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8125    </p>
8126    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8127    </p>
8128    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8129    </p>
8130    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8131    </p>
8132    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8133    </p>
8134    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8135    </p>
8136    <p>&nbsp;&nbsp;&nbsp;"."
8137    </p>
8138    </blockquote><p>
8139                        
8140    </p>
8141    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8142    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8143    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8144    Renaming an instrument</h3>
8145    
8146    <p>The front-end can alter the name of a specific
8147                        instrument by sending the following command:
8148    </p>
8149    <p>
8150                            </p>
8151    <blockquote class="text">
8152    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8153    </p>
8154    </blockquote><p>
8155                        
8156    </p>
8157    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8158                        &lt;name&gt; is the new name for that instrument.
8159    </p>
8160    <p>Possible Answers:
8161    </p>
8162    <p>
8163                            </p>
8164    <blockquote class="text">
8165    <p>"OK" -
8166                                    </p>
8167    <blockquote class="text">
8168    <p>on success
8169    </p>
8170    </blockquote>
8171                                
8172    
8173    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8174                                    </p>
8175    <blockquote class="text">
8176    <p>in case the given instrument does not exists,
8177                                        or if an instrument with name equal to the new
8178                                        name already exists.
8179    </p>
8180    </blockquote>
8181                                
8182    
8183    </blockquote><p>
8184                        
8185    </p>
8186    <p>Example:
8187    </p>
8188    <p>
8189                            </p>
8190    <blockquote class="text">
8191    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8192    </p>
8193    <p>S: "OK"
8194    </p>
8195    </blockquote><p>
8196                        
8197    </p>
8198    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8199    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8200    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8201    Moving an instrument</h3>
8202    
8203    <p>The front-end can move a specific instrument to another directory by
8204                        sending the following command:
8205    </p>
8206    <p>
8207                            </p>
8208    <blockquote class="text">
8209    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8210    </p>
8211    </blockquote><p>
8212                        
8213    </p>
8214    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8215                        to move and &lt;dst&gt; is the directory where the instrument will
8216                        be moved to.
8217    </p>
8218    <p>Possible Answers:
8219    </p>
8220    <p>
8221                            </p>
8222    <blockquote class="text">
8223    <p>"OK" -
8224                                    </p>
8225    <blockquote class="text">
8226    <p>on success
8227    </p>
8228    </blockquote>
8229                                
8230    
8231    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8232                                    </p>
8233    <blockquote class="text">
8234    <p>in case the given instrument does not exists,
8235                                        or if an instrument with name equal to the name of the
8236                                        specified instrument already exists in the destination
8237                                        directory.
8238    </p>
8239    </blockquote>
8240                                
8241    
8242    </blockquote><p>
8243                        
8244    </p>
8245    <p>Example:
8246    </p>
8247    <p>
8248                            </p>
8249    <blockquote class="text">
8250    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8251    </p>
8252    <p>S: "OK"
8253    </p>
8254    </blockquote><p>
8255                        
8256    </p>
8257    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8258    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8259    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8260    Changing the description of instrument</h3>
8261    
8262    <p>The front-end can alter the description of a specific
8263                        instrument by sending the following command:
8264    </p>
8265    <p>
8266                            </p>
8267    <blockquote class="text">
8268    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8269    </p>
8270    </blockquote><p>
8271                        
8272    </p>
8273    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8274                        &lt;desc&gt; is the new description for the instrument.
8275    </p>
8276    <p>Possible Answers:
8277    </p>
8278    <p>
8279                            </p>
8280    <blockquote class="text">
8281    <p>"OK" -
8282                                    </p>
8283    <blockquote class="text">
8284    <p>on success
8285    </p>
8286    </blockquote>
8287                                
8288    
8289    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8290                                    </p>
8291    <blockquote class="text">
8292    <p>in case the given instrument does not exists.
8293    </p>
8294    </blockquote>
8295                                
8296    
8297    </blockquote><p>
8298                        
8299    </p>
8300    <p>Example:
8301    </p>
8302    <p>
8303                            </p>
8304    <blockquote class="text">
8305    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8306    </p>
8307    <p>S: "OK"
8308    </p>
8309    </blockquote><p>
8310                        
8311    </p>
8312  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
8313  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8314  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 6472  Command Syntax</h3> Line 8409  Command Syntax</h3>
8409  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
8410                                    
8411  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
8412  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
8413                                    
8414  </p>  </p>
8415  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
8416                                    
8417  </p>  </p>
8418    <p>/ MOVE SP move_instruction
8419                    
8420    </p>
8421  <p>/ RESET  <p>/ RESET
8422                                    
8423  </p>  </p>
# Line 6496  Command Syntax</h3> Line 8433  Command Syntax</h3>
8433  <p>CHANNEL  <p>CHANNEL
8434                                    
8435  </p>  </p>
8436    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
8437                    
8438    </p>
8439    <p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname
8440                    
8441    </p>
8442    <p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname
8443                    
8444    </p>
8445    <p>/ DB_INSTRUMENTS SP pathname SP pathname
8446                    
8447    </p>
8448    <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index
8449                    
8450    </p>
8451  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
8452                                    
8453  </p>  </p>
# Line 6508  Command Syntax</h3> Line 8460  Command Syntax</h3>
8460  <p>subscribe_event =  <p>subscribe_event =
8461          </p>          </p>
8462  <blockquote class="text">  <blockquote class="text">
8463  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
8464                    
8465    </p>
8466    <p>/ AUDIO_OUTPUT_DEVICE_INFO
8467                    
8468    </p>
8469    <p>/ MIDI_INPUT_DEVICE_COUNT
8470                    
8471    </p>
8472    <p>/ MIDI_INPUT_DEVICE_INFO
8473                    
8474    </p>
8475    <p>/ CHANNEL_COUNT
8476                                    
8477  </p>  </p>
8478  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 6523  Command Syntax</h3> Line 8487  Command Syntax</h3>
8487  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
8488                                    
8489  </p>  </p>
8490    <p>/ FX_SEND_COUNT
8491                    
8492    </p>
8493    <p>/ FX_SEND_INFO
8494                    
8495    </p>
8496    <p>/ MIDI_INSTRUMENT_MAP_COUNT
8497                    
8498    </p>
8499    <p>/ MIDI_INSTRUMENT_MAP_INFO
8500                    
8501    </p>
8502    <p>/ MIDI_INSTRUMENT_COUNT
8503                    
8504    </p>
8505    <p>/ MIDI_INSTRUMENT_INFO
8506                    
8507    </p>
8508    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
8509                    
8510    </p>
8511    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
8512                    
8513    </p>
8514    <p>/ DB_INSTRUMENT_COUNT
8515                    
8516    </p>
8517    <p>/ DB_INSTRUMENT_INFO
8518                    
8519    </p>
8520  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
8521                                    
8522  </p>  </p>
8523  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
8524                                    
8525  </p>  </p>
8526    <p>/ GLOBAL_INFO
8527                    
8528    </p>
8529  </blockquote><p>  </blockquote><p>
8530    
8531  </p>  </p>
8532  <p>unsubscribe_event =  <p>unsubscribe_event =
8533          </p>          </p>
8534  <blockquote class="text">  <blockquote class="text">
8535  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
8536                    
8537    </p>
8538    <p>/ AUDIO_OUTPUT_DEVICE_INFO
8539                    
8540    </p>
8541    <p>/ MIDI_INPUT_DEVICE_COUNT
8542                    
8543    </p>
8544    <p>/ MIDI_INPUT_DEVICE_INFO
8545                    
8546    </p>
8547    <p>/ CHANNEL_COUNT
8548                                    
8549  </p>  </p>
8550  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 6550  Command Syntax</h3> Line 8559  Command Syntax</h3>
8559  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
8560                                    
8561  </p>  </p>
8562    <p>/ FX_SEND_COUNT
8563                    
8564    </p>
8565    <p>/ FX_SEND_INFO
8566                    
8567    </p>
8568    <p>/ MIDI_INSTRUMENT_MAP_COUNT
8569                    
8570    </p>
8571    <p>/ MIDI_INSTRUMENT_MAP_INFO
8572                    
8573    </p>
8574    <p>/ MIDI_INSTRUMENT_COUNT
8575                    
8576    </p>
8577    <p>/ MIDI_INSTRUMENT_INFO
8578                    
8579    </p>
8580    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
8581                    
8582    </p>
8583    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
8584                    
8585    </p>
8586    <p>/ DB_INSTRUMENT_COUNT
8587                    
8588    </p>
8589    <p>/ DB_INSTRUMENT_INFO
8590                    
8591    </p>
8592  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
8593                                    
8594  </p>  </p>
8595  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
8596                                    
8597  </p>  </p>
8598    <p>/ GLOBAL_INFO
8599                    
8600    </p>
8601  </blockquote><p>  </blockquote><p>
8602    
8603  </p>  </p>
8604  <p>map_instruction =  <p>map_instruction =
8605          </p>          </p>
8606  <blockquote class="text">  <blockquote class="text">
8607  <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value  <p>MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value
8608                                    
8609  </p>  </p>
8610  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode
8611                                    
8612  </p>  </p>
8613  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name
8614                                    
8615  </p>  </p>
8616  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name
8617                                    
8618  </p>  </p>
8619  </blockquote><p>  </blockquote><p>
# Line 6598  Command Syntax</h3> Line 8640  Command Syntax</h3>
8640  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
8641                                    
8642  </p>  </p>
8643    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname
8644                    
8645    </p>
8646    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
8647                    
8648    </p>
8649    <p>/ DB_INSTRUMENT SP pathname
8650                    
8651    </p>
8652  </blockquote><p>  </blockquote><p>
8653    
8654  </p>  </p>
# Line 6697  Command Syntax</h3> Line 8748  Command Syntax</h3>
8748  <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map  <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
8749                                    
8750  </p>  </p>
8751    <p>/ FX_SENDS SP sampler_channel
8752                    
8753    </p>
8754    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
8755                    
8756    </p>
8757    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
8758                    
8759    </p>
8760    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname
8761                    
8762    </p>
8763    <p>/ DB_INSTRUMENTS SP pathname
8764                    
8765    </p>
8766    <p>/ DB_INSTRUMENT SP INFO SP pathname
8767                    
8768    </p>
8769    <p>/ VOLUME
8770                    
8771    </p>
8772  </blockquote><p>  </blockquote><p>
8773    
8774  </p>  </p>
# Line 6721  Command Syntax</h3> Line 8793  Command Syntax</h3>
8793  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
8794                                    
8795  </p>  </p>
8796    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
8797                    
8798    </p>
8799    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
8800                    
8801    </p>
8802    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
8803                    
8804    </p>
8805    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
8806                    
8807    </p>
8808    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname
8809                    
8810    </p>
8811    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval
8812                    
8813    </p>
8814    <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname
8815                    
8816    </p>
8817    <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval
8818                    
8819    </p>
8820  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
8821                                    
8822  </p>  </p>
8823    <p>/ VOLUME SP volume_value
8824                    
8825    </p>
8826  </blockquote><p>  </blockquote><p>
8827    
8828  </p>  </p>
# Line 6742  Command Syntax</h3> Line 8841  Command Syntax</h3>
8841  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
8842                                    
8843  </p>  </p>
8844    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
8845                    
8846    </p>
8847    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
8848                    
8849    </p>
8850  </blockquote><p>  </blockquote><p>
8851    
8852  </p>  </p>
# Line 6766  Command Syntax</h3> Line 8871  Command Syntax</h3>
8871  </blockquote><p>  </blockquote><p>
8872    
8873  </p>  </p>
8874    <p>move_instruction =
8875            </p>
8876    <blockquote class="text">
8877    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
8878                    
8879    </p>
8880    <p>/ DB_INSTRUMENT SP pathname SP pathname
8881                    
8882    </p>
8883    </blockquote><p>
8884    
8885    </p>
8886  <p>destroy_instruction =  <p>destroy_instruction =
8887          </p>          </p>
8888  <blockquote class="text">  <blockquote class="text">
# Line 6775  Command Syntax</h3> Line 8892  Command Syntax</h3>
8892  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
8893                                    
8894  </p>  </p>
8895    <p>/ FX_SEND SP sampler_channel SP fx_send_id
8896                    
8897    </p>
8898  </blockquote><p>  </blockquote><p>
8899    
8900  </p>  </p>
# Line 6838  Command Syntax</h3> Line 8958  Command Syntax</h3>
8958  </blockquote><p>  </blockquote><p>
8959    
8960  </p>  </p>
8961    <p>modal_arg =
8962            </p>
8963    <blockquote class="text">
8964    <p>/* epsilon (empty argument) */
8965                    
8966    </p>
8967    <p>/ NON_MODAL SP
8968                    
8969    </p>
8970    </blockquote><p>
8971    
8972    </p>
8973  <p>key_val_list =  <p>key_val_list =
8974          </p>          </p>
8975  <blockquote class="text">  <blockquote class="text">
# Line 6892  Command Syntax</h3> Line 9024  Command Syntax</h3>
9024  <p>/ MIDI_INSTRUMENT_MAPS  <p>/ MIDI_INSTRUMENT_MAPS
9025                                    
9026  </p>  </p>
9027    <p>/ FX_SENDS SP sampler_channel
9028                    
9029    </p>
9030    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9031                    
9032    </p>
9033    <p>/ DB_INSTRUMENTS SP pathname
9034                    
9035    </p>
9036  </blockquote><p>  </blockquote><p>
9037    
9038  </p>  </p>
# Line 7015  Command Syntax</h3> Line 9156  Command Syntax</h3>
9156  </blockquote><p>  </blockquote><p>
9157    
9158  </p>  </p>
9159    <p>midi_ctrl =
9160            </p>
9161    <blockquote class="text">
9162    <p>number
9163                    
9164    </p>
9165    </blockquote><p>
9166    
9167    </p>
9168  <p>volume_value =  <p>volume_value =
9169          </p>          </p>
9170  <blockquote class="text">  <blockquote class="text">
# Line 7045  Command Syntax</h3> Line 9195  Command Syntax</h3>
9195  </blockquote><p>  </blockquote><p>
9196    
9197  </p>  </p>
9198    <p>fx_send_id =
9199            </p>
9200    <blockquote class="text">
9201    <p>number
9202                    
9203    </p>
9204    </blockquote><p>
9205    
9206    </p>
9207  <p>engine_name =  <p>engine_name =
9208          </p>          </p>
9209  <blockquote class="text">  <blockquote class="text">
# Line 7054  Command Syntax</h3> Line 9213  Command Syntax</h3>
9213  </blockquote><p>  </blockquote><p>
9214    
9215  </p>  </p>
9216    <p>pathname =
9217            </p>
9218    <blockquote class="text">
9219    <p>stringval
9220                    
9221    </p>
9222    </blockquote><p>
9223    
9224    </p>
9225    <p>dirname =
9226            </p>
9227    <blockquote class="text">
9228    <p>stringval
9229                    
9230    </p>
9231    </blockquote><p>
9232    
9233    </p>
9234  <p>filename =  <p>filename =
9235          </p>          </p>
9236  <blockquote class="text">  <blockquote class="text">
# Line 7081  Command Syntax</h3> Line 9258  Command Syntax</h3>
9258  </blockquote><p>  </blockquote><p>
9259    
9260  </p>  </p>
9261    <p>fx_send_name =
9262            </p>
9263    <blockquote class="text">
9264    <p>stringval
9265                    
9266    </p>
9267    </blockquote><p>
9268    
9269    </p>
9270  <p>param_val_list =  <p>param_val_list =
9271          </p>          </p>
9272  <blockquote class="text">  <blockquote class="text">
# Line 7118  Events</h3> Line 9304  Events</h3>
9304    
9305  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
9306  </p>  </p>
9307  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
9308  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9309  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
9310    Number of audio output devices changed</h3>
9311    
9312    <p>Client may want to be notified when the total number of audio output devices on the
9313                    back-end changes by issuing the following command:
9314    </p>
9315    <p>
9316                        </p>
9317    <blockquote class="text">
9318    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
9319    </p>
9320    </blockquote><p>
9321                    
9322    </p>
9323    <p>Server will start sending the following notification messages:
9324    </p>
9325    <p>
9326                        </p>
9327    <blockquote class="text">
9328    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
9329    </p>
9330    </blockquote><p>
9331                    
9332    </p>
9333    <p>where &lt;devices&gt; will be replaced by the new number
9334                    of audio output devices.
9335    </p>
9336    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
9337    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9338    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
9339    Audio output device's settings changed</h3>
9340    
9341    <p>Client may want to be notified when changes were made to audio output devices on the
9342                    back-end by issuing the following command:
9343    </p>
9344    <p>
9345                        </p>
9346    <blockquote class="text">
9347    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
9348    </p>
9349    </blockquote><p>
9350                    
9351    </p>
9352    <p>Server will start sending the following notification messages:
9353    </p>
9354    <p>
9355                        </p>
9356    <blockquote class="text">
9357    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
9358    </p>
9359    </blockquote><p>
9360                    
9361    </p>
9362    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
9363                    which settings has been changed. The front-end will have to send
9364                    the respective command to actually get the audio output device info. Because these messages
9365                    will be triggered by LSCP commands issued by other clients rather than real
9366                    time events happening on the server, it is believed that an empty notification
9367                    message is sufficient here.
9368    </p>
9369    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
9370    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9371    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
9372    Number of MIDI input devices changed</h3>
9373    
9374    <p>Client may want to be notified when the total number of MIDI input devices on the
9375                    back-end changes by issuing the following command:
9376    </p>
9377    <p>
9378                        </p>
9379    <blockquote class="text">
9380    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
9381    </p>
9382    </blockquote><p>
9383                    
9384    </p>
9385    <p>Server will start sending the following notification messages:
9386    </p>
9387    <p>
9388                        </p>
9389    <blockquote class="text">
9390    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
9391    </p>
9392    </blockquote><p>
9393                    
9394    </p>
9395    <p>where &lt;devices&gt; will be replaced by the new number
9396                    of MIDI input devices.
9397    </p>
9398    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
9399    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9400    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
9401    MIDI input device's settings changed</h3>
9402    
9403    <p>Client may want to be notified when changes were made to MIDI input devices on the
9404                    back-end by issuing the following command:
9405    </p>
9406    <p>
9407                        </p>
9408    <blockquote class="text">
9409    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
9410    </p>
9411    </blockquote><p>
9412                    
9413    </p>
9414    <p>Server will start sending the following notification messages:
9415    </p>
9416    <p>
9417                        </p>
9418    <blockquote class="text">
9419    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
9420    </p>
9421    </blockquote><p>
9422                    
9423    </p>
9424    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
9425                    which settings has been changed. The front-end will have to send
9426                    the respective command to actually get the MIDI input device info. Because these messages
9427                    will be triggered by LSCP commands issued by other clients rather than real
9428                    time events happening on the server, it is believed that an empty notification
9429                    message is sufficient here.
9430    </p>
9431    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
9432    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9433    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
9434  Number of sampler channels changed</h3>  Number of sampler channels changed</h3>
9435    
9436  <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
# Line 7149  Number of sampler channels changed</h3> Line 9459  Number of sampler channels changed</h3>
9459  </p>  </p>
9460  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
9461  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9462  <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
9463  Number of active voices changed</h3>  Number of active voices changed</h3>
9464    
9465  <p>Client may want to be notified when the number of voices on the  <p>Client may want to be notified when the number of voices on the
# Line 7168  Number of active voices changed</h3> Line 9478  Number of active voices changed</h3>
9478  <p>  <p>
9479                      </p>                      </p>
9480  <blockquote class="text">  <blockquote class="text">
9481  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
9482  </p>  </p>
9483  </blockquote><p>  </blockquote><p>
9484                                    
# Line 7179  Number of active voices changed</h3> Line 9489  Number of active voices changed</h3>
9489  </p>  </p>
9490  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
9491  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9492  <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
9493  Number of active disk streams changed</h3>  Number of active disk streams changed</h3>
9494    
9495  <p>Client may want to be notified when the number of streams on the back-end  <p>Client may want to be notified when the number of streams on the back-end
# Line 7209  Number of active disk streams changed</h Line 9519  Number of active disk streams changed</h
9519  </p>  </p>
9520  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
9521  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9522  <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
9523  Disk stream buffer fill state changed</h3>  Disk stream buffer fill state changed</h3>
9524    
9525  <p>Client may want to be notified when the buffer fill state of a disk stream  <p>Client may want to be notified when the buffer fill state of a disk stream
# Line 7238  Disk stream buffer fill state changed</h Line 9548  Disk stream buffer fill state changed</h
9548                  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>
9549                  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.
9550  </p>  </p>
9551  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
9552  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9553  <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
9554  Channel information changed</h3>  Channel information changed</h3>
9555    
9556  <p>Client may want to be notified when changes were made to sampler channels on the  <p>Client may want to be notified when changes were made to sampler channels on the
# Line 7271  Channel information changed</h3> Line 9581  Channel information changed</h3>
9581                  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
9582                  message is sufficient here.                  message is sufficient here.
9583  </p>  </p>
9584    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
9585    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9586    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
9587    Number of effect sends changed</h3>
9588    
9589    <p>Client may want to be notified when the number of effect sends on
9590                    a particular sampler channel is changed by issuing the following command:
9591    </p>
9592    <p>
9593                        </p>
9594    <blockquote class="text">
9595    <p>SUBSCRIBE FX_SEND_COUNT
9596    </p>
9597    </blockquote><p>
9598                    
9599    </p>
9600    <p>Server will start sending the following notification messages:
9601    </p>
9602    <p>
9603                        </p>
9604    <blockquote class="text">
9605    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
9606    </p>
9607    </blockquote><p>
9608                    
9609    </p>
9610    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
9611                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
9612                    be replaced by the new number of effect sends on that channel.
9613    </p>
9614    <a name="SUBSCRIBE FX_SEND_INFO"></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.8.11"></a><h3>8.11.&nbsp;
9617    Effect send information changed</h3>
9618    
9619    <p>Client may want to be notified when changes were made to effect sends on a
9620                    a particular sampler channel by issuing the following command:
9621    </p>
9622    <p>
9623                        </p>
9624    <blockquote class="text">
9625    <p>SUBSCRIBE FX_SEND_INFO
9626    </p>
9627    </blockquote><p>
9628                    
9629    </p>
9630    <p>Server will start sending the following notification messages:
9631    </p>
9632    <p>
9633                        </p>
9634    <blockquote class="text">
9635    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
9636    </p>
9637    </blockquote><p>
9638                    
9639    </p>
9640    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
9641                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
9642                    be replaced by the numerical ID of the changed effect send.
9643    </p>
9644  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
9645  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9646  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
9647  Total number of active voices changed</h3>  Total number of active voices changed</h3>
9648    
9649  <p>Client may want to be notified when the total number of voices on the  <p>Client may want to be notified when the total number of voices on the
# Line 7292  Total number of active voices changed</h Line 9662  Total number of active voices changed</h
9662  <p>  <p>
9663                      </p>                      </p>
9664  <blockquote class="text">  <blockquote class="text">
9665  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
9666  </p>  </p>
9667  </blockquote><p>  </blockquote><p>
9668                                    
# Line 7300  Total number of active voices changed</h Line 9670  Total number of active voices changed</h
9670  <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
9671                  all currently active voices.                  all currently active voices.
9672  </p>  </p>
9673    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
9674    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9675    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
9676    Number of MIDI instrument maps changed</h3>
9677    
9678    <p>Client may want to be notified when the number of MIDI instrument maps on the
9679                    back-end changes by issuing the following command:
9680    </p>
9681    <p>
9682                        </p>
9683    <blockquote class="text">
9684    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
9685    </p>
9686    </blockquote><p>
9687                    
9688    </p>
9689    <p>Server will start sending the following notification messages:
9690    </p>
9691    <p>
9692                        </p>
9693    <blockquote class="text">
9694    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
9695    </p>
9696    </blockquote><p>
9697                    
9698    </p>
9699    <p>where &lt;maps&gt; will be replaced by the new number
9700                    of MIDI instrument maps.
9701    </p>
9702    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
9703    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9704    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
9705    MIDI instrument map information changed</h3>
9706    
9707    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
9708                    back-end by issuing the following command:
9709    </p>
9710    <p>
9711                        </p>
9712    <blockquote class="text">
9713    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
9714    </p>
9715    </blockquote><p>
9716                    
9717    </p>
9718    <p>Server will start sending the following notification messages:
9719    </p>
9720    <p>
9721                        </p>
9722    <blockquote class="text">
9723    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
9724    </p>
9725    </blockquote><p>
9726                    
9727    </p>
9728    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
9729                    for which information changes occurred. The front-end will have to send
9730                    the respective command to actually get the MIDI instrument map info. Because these messages
9731                    will be triggered by LSCP commands issued by other clients rather than real
9732                    time events happening on the server, it is believed that an empty notification
9733                    message is sufficient here.
9734    </p>
9735    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></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.8.15"></a><h3>8.15.&nbsp;
9738    Number of MIDI instruments changed</h3>
9739    
9740    <p>Client may want to be notified when the number of MIDI instrument maps on the
9741                    back-end changes by issuing the following command:
9742    </p>
9743    <p>
9744                        </p>
9745    <blockquote class="text">
9746    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
9747    </p>
9748    </blockquote><p>
9749                    
9750    </p>
9751    <p>Server will start sending the following notification messages:
9752    </p>
9753    <p>
9754                        </p>
9755    <blockquote class="text">
9756    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
9757    </p>
9758    </blockquote><p>
9759                    
9760    </p>
9761    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
9762                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
9763                    the new number of MIDI instruments in the specified map.
9764    </p>
9765    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
9766    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9767    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
9768    MIDI instrument information changed</h3>
9769    
9770    <p>Client may want to be notified when changes were made to MIDI instruments on the
9771                    back-end by issuing the following command:
9772    </p>
9773    <p>
9774                        </p>
9775    <blockquote class="text">
9776    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
9777    </p>
9778    </blockquote><p>
9779                    
9780    </p>
9781    <p>Server will start sending the following notification messages:
9782    </p>
9783    <p>
9784                        </p>
9785    <blockquote class="text">
9786    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
9787    </p>
9788    </blockquote><p>
9789                    
9790    </p>
9791    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
9792                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
9793                    the location of the changed MIDI instrument in the map. The front-end will have to send
9794                    the respective command to actually get the MIDI instrument info. Because these messages
9795                    will be triggered by LSCP commands issued by other clients rather than real
9796                    time events happening on the server, it is believed that an empty notification
9797                    message is sufficient here.
9798    </p>
9799    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
9800    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9801    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
9802    Global settings changed</h3>
9803    
9804    <p>Client may want to be notified when changes to the global settings
9805                    of the sampler were made by issuing the following command:
9806    </p>
9807    <p>
9808                        </p>
9809    <blockquote class="text">
9810    <p>SUBSCRIBE GLOBAL_INFO
9811    </p>
9812    </blockquote><p>
9813                    
9814    </p>
9815    <p>Server will start sending the following types of notification messages:
9816    </p>
9817    <p>
9818                        </p>
9819    <blockquote class="text">
9820    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
9821                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
9822                            replaced by the optional dotted floating point value, reflecting the
9823                            new global volume parameter.
9824    </p>
9825    </blockquote><p>
9826                    
9827    </p>
9828    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
9829    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9830    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
9831    Number of database instrument directories changed</h3>
9832    
9833    <p>Client may want to be notified when the number of instrument
9834                    directories in a particular directory in the instruments database
9835                    is changed by issuing the following command:
9836    </p>
9837    <p>
9838                        </p>
9839    <blockquote class="text">
9840    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
9841    </p>
9842    </blockquote><p>
9843                    
9844    </p>
9845    <p>Server will start sending the following notification messages:
9846    </p>
9847    <p>
9848                        </p>
9849    <blockquote class="text">
9850    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
9851    </p>
9852    </blockquote><p>
9853                    
9854    </p>
9855    <p>where &lt;dir-path&gt; will be replaced by the absolute path
9856                    name of the directory in the instruments database,
9857                    in which the number of directories is changed.
9858    </p>
9859    <p>Note that when a non-empty directory is removed, this event
9860                    is not sent for the subdirectories in that directory.
9861    </p>
9862    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
9863    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9864    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
9865    Database instrument directory information changed</h3>
9866    
9867    <p>Client may want to be notified when changes were made to directories
9868                    in the instruments database by issuing the following command:
9869    </p>
9870    <p>
9871                        </p>
9872    <blockquote class="text">
9873    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
9874    </p>
9875    </blockquote><p>
9876                    
9877    </p>
9878    <p>Server will start sending the following notification messages:
9879    </p>
9880    <p>
9881                        </p>
9882    <blockquote class="text">
9883    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
9884    </p>
9885    </blockquote><p>
9886                    
9887    </p>
9888    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
9889                    of the directory, for which information changes occurred. The front-end will have to send
9890                    the respective command to actually get the updated directory info. Because these messages
9891                    will be triggered by LSCP commands issued by other clients rather than real
9892                    time events happening on the server, it is believed that an empty notification
9893                    message is sufficient here.
9894    </p>
9895    <p>
9896                        </p>
9897    <blockquote class="text">
9898    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
9899    </p>
9900    </blockquote><p>
9901                    
9902    </p>
9903    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
9904                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
9905                    the new name of the directory, encapsulated into apostrophes.
9906    </p>
9907    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
9908    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9909    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
9910    Number of database instruments changed</h3>
9911    
9912    <p>Client may want to be notified when the number of instruments
9913                    in a particular directory in the instruments database
9914                    is changed by issuing the following command:
9915    </p>
9916    <p>
9917                        </p>
9918    <blockquote class="text">
9919    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
9920    </p>
9921    </blockquote><p>
9922                    
9923    </p>
9924    <p>Server will start sending the following notification messages:
9925    </p>
9926    <p>
9927                        </p>
9928    <blockquote class="text">
9929    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
9930    </p>
9931    </blockquote><p>
9932                    
9933    </p>
9934    <p>where &lt;dir-path&gt; will be replaced by the absolute path
9935                    name of the directory in the instruments database,
9936                    in which the number of instruments is changed.
9937    </p>
9938    <p>Note that when a non-empty directory is removed, this event
9939                    is not sent for the instruments in that directory.
9940    </p>
9941    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
9942    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9943    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
9944    Database instrument information changed</h3>
9945    
9946    <p>Client may want to be notified when changes were made to instruments
9947                    in the instruments database by issuing the following command:
9948    </p>
9949    <p>
9950                        </p>
9951    <blockquote class="text">
9952    <p>SUBSCRIBE DB_INSTRUMENT_INFO
9953    </p>
9954    </blockquote><p>
9955                    
9956    </p>
9957    <p>Server will start sending the following notification messages:
9958    </p>
9959    <p>
9960                        </p>
9961    <blockquote class="text">
9962    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
9963    </p>
9964    </blockquote><p>
9965                    
9966    </p>
9967    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
9968                    of the instrument, which settings are changed. The front-end will have to send
9969                    the respective command to actually get the updated directory info. Because these messages
9970                    will be triggered by LSCP commands issued by other clients rather than real
9971                    time events happening on the server, it is believed that an empty notification
9972                    message is sufficient here.
9973    </p>
9974    <p>
9975                        </p>
9976    <blockquote class="text">
9977    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
9978    </p>
9979    </blockquote><p>
9980                    
9981    </p>
9982    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
9983                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
9984                    the new name of the instrument, encapsulated into apostrophes.
9985    </p>
9986  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
9987  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9988  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
9989  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
9990    
9991  <p>Client may want to be notified of miscellaneous and debugging events occurring at  <p>Client may want to be notified of miscellaneous and debugging events occurring at
# Line 7397  Schoenebeck</td></tr> Line 10080  Schoenebeck</td></tr>
10080  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10081  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
10082  <p class='copyright'>  <p class='copyright'>
10083  Copyright &copy; The Internet Society (2006).</p>  Copyright &copy; The IETF Trust (2007).</p>
10084  <p class='copyright'>  <p class='copyright'>
10085  This document is subject to the rights,  This document is subject to the rights,
10086  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,
# Line 7406  the authors retain all their rights.</p> Line 10089  the authors retain all their rights.</p>
10089  <p class='copyright'>  <p class='copyright'>
10090  This document and the information contained herein are provided  This document and the information contained herein are provided
10091  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
10092  THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY),  THE ORGANIZATION HE/SHE REPRESENTS
10093  THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
10094  ALL WARRANTIES,  AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
10095  EXPRESS OR IMPLIED,  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
10096  INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE  THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
10097  INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
10098  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  PURPOSE.</p>
10099  <h3>Intellectual Property</h3>  <h3>Intellectual Property</h3>
10100  <p class='copyright'>  <p class='copyright'>
10101  The IETF takes no position regarding the validity or scope of any  The IETF takes no position regarding the validity or scope of any

Legend:
Removed from v.974  
changed lines
  Added in v.1162

  ViewVC Help
Powered by ViewVC