/[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 1189 by iliev, Wed May 16 14:42:04 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: November 17, 2007</td><td class="header">May 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 November 17, 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="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
408    Copying instrument directories<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
410    Changing the description of directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
412    Finding directories<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
414    Adding instruments to the instruments database<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
416    Removing an instrument<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
418    Getting amount of instruments<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
420    Listing all instruments in specific directory<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
422    Getting instrument information<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
424    Renaming an instrument<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
426    Moving an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
428    Copying instruments<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
430    Changing the description of instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
432    Finding instruments<br />
433  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
434  Command Syntax<br />  Command Syntax<br />
435  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
436  Events<br />  Events<br />
437  &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;
438    Number of audio output devices changed<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
440    Audio output device's settings changed<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
442    Number of MIDI input devices changed<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
444    MIDI input device's settings changed<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
446  Number of sampler channels changed<br />  Number of sampler channels changed<br />
447  &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;
448  Number of active voices changed<br />  Number of active voices changed<br />
449  &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;
450  Number of active disk streams changed<br />  Number of active disk streams changed<br />
451  &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;
452  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
453  &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;
454  Channel information changed<br />  Channel information changed<br />
455  &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;
456    Number of effect sends changed<br />
457    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
458    Effect send information changed<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
460  Total number of active voices changed<br />  Total number of active voices changed<br />
461  &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;
462    Number of MIDI instrument maps changed<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.14.</a>&nbsp;
464    MIDI instrument map information changed<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.15.</a>&nbsp;
466    Number of MIDI instruments changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.16.</a>&nbsp;
468    MIDI instrument information changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
470    Global settings changed<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;
472    Number of database instrument directories changed<br />
473    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
474    Database instrument directory information changed<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
476    Number of database instruments changed<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
478    Database instrument information changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.22.</a>&nbsp;
480  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
481  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
482  Security Considerations<br />  Security Considerations<br />
# Line 3926  Getting sampler channel information</h3> Line 4020  Getting sampler channel information</h3>
4020                                          </p>                                          </p>
4021  <blockquote class="text">  <blockquote class="text">
4022  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4023                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4024                                              1.0 means amplification)                                              1.0 means amplification)
4025  </p>  </p>
4026  </blockquote>  </blockquote>
# Line 4933  Assigning a MIDI instrument map to a sam Line 5027  Assigning a MIDI instrument map to a sam
5027  </blockquote><p>  </blockquote><p>
5028                                            
5029  </p>  </p>
5030  <a name="RESET CHANNEL"></a><br /><hr />  <a name="CREATE FX_SEND"></a><br /><hr />
5031  <table 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>
5032  <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;
5033    Adding an effect send to a sampler channel</h3>
5034    
5035    <p>The front-end can create an additional effect send on a specific sampler channel
5036                        by sending the following command:
5037    </p>
5038    <p>
5039                            </p>
5040    <blockquote class="text">
5041    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5042    </p>
5043    </blockquote><p>
5044                        
5045    </p>
5046    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5047                        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>
5048                        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
5049                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5050                        is a number between 0..127 defining the MIDI controller which can alter the
5051                        effect send level and &lt;name&gt; is an optional argument defining a name
5052                        for the effect send entity. The name does not have to be unique.
5053    </p>
5054    <p>By default, that is as initial routing, the effect send's audio channels
5055                        are automatically routed to the last audio channels of the sampler channel's
5056                        audio output device, that way you can i.e. first increase the amount of audio
5057                        channels on the audio output device for having dedicated effect send output
5058                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5059                        be picked. You can alter the destination channels however with
5060                        <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>.
5061                        
5062    </p>
5063    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5064                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5065                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5066                        the voices and route the audio signal afterwards to the master outputs and effect send
5067                        outputs (along with their respective effect send levels). A sampler channel without effect
5068                        sends however can mix its voices directly into the audio output devices's audio buffers
5069                        and is thus faster.
5070                        
5071    </p>
5072    <p>Possible Answers:
5073    </p>
5074    <p>
5075                            </p>
5076    <blockquote class="text">
5077    <p>"OK[&lt;fx-send-id&gt;]" -
5078                                    </p>
5079    <blockquote class="text">
5080    <p>in case a new effect send could be added to the
5081                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5082                                        unique ID of the newly created effect send entity
5083    </p>
5084    </blockquote>
5085                                
5086    
5087    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5088                                    </p>
5089    <blockquote class="text">
5090    <p>when a new effect send could not be added, i.e.
5091                                        due to invalid parameters
5092    </p>
5093    </blockquote>
5094                                
5095    
5096    </blockquote><p>
5097                        
5098    </p>
5099    <p>Examples:
5100    </p>
5101    <p>
5102                            </p>
5103    <blockquote class="text">
5104    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5105    </p>
5106    <p>S: "OK[0]"
5107    </p>
5108    </blockquote><p>
5109                        
5110    </p>
5111    <p>
5112                            </p>
5113    <blockquote class="text">
5114    <p>C: "CREATE FX_SEND 0 93"
5115    </p>
5116    <p>S: "OK[1]"
5117    </p>
5118    </blockquote><p>
5119                        
5120    </p>
5121    <a name="DESTROY FX_SEND"></a><br /><hr />
5122    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5123    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5124    Removing an effect send from a sampler channel</h3>
5125    
5126    <p>The front-end can remove an existing effect send on a specific sampler channel
5127                        by sending the following command:
5128    </p>
5129    <p>
5130                            </p>
5131    <blockquote class="text">
5132    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5133    </p>
5134    </blockquote><p>
5135                        
5136    </p>
5137    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5138                        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>
5139                        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
5140                        sampler channel from which the effect send should be removed from and
5141                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5142                        <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>
5143                        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.
5144    </p>
5145    <p>Possible Answers:
5146    </p>
5147    <p>
5148                            </p>
5149    <blockquote class="text">
5150    <p>"OK" -
5151                                    </p>
5152    <blockquote class="text">
5153    <p>on success
5154    </p>
5155    </blockquote>
5156                                
5157    
5158    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5159                                    </p>
5160    <blockquote class="text">
5161    <p>in case it failed, providing an appropriate error code and
5162                                        error message
5163    </p>
5164    </blockquote>
5165                                
5166    
5167    </blockquote><p>
5168                        
5169    </p>
5170    <p>Example:
5171    </p>
5172    <p>
5173                            </p>
5174    <blockquote class="text">
5175    <p>C: "DESTROY FX_SEND 0 0"
5176    </p>
5177    <p>S: "OK"
5178    </p>
5179    </blockquote><p>
5180                        
5181    </p>
5182    <a name="GET FX_SENDS"></a><br /><hr />
5183    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5184    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5185    Getting amount of effect sends on a sampler channel</h3>
5186    
5187    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5188                        by sending the following command:
5189    </p>
5190    <p>
5191                            </p>
5192    <blockquote class="text">
5193    <p>GET FX_SENDS &lt;sampler-channel&gt;
5194    </p>
5195    </blockquote><p>
5196                        
5197    </p>
5198    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5199                        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>
5200                        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.
5201    </p>
5202    <p>Possible Answers:
5203    </p>
5204    <p>
5205                            </p>
5206    <blockquote class="text">
5207    <p>The sampler will answer by returning the number of effect
5208                                sends on the given sampler channel.
5209    </p>
5210    </blockquote><p>
5211                        
5212    </p>
5213    <p>Example:
5214    </p>
5215    <p>
5216                            </p>
5217    <blockquote class="text">
5218    <p>C: "GET FX_SENDS 0"
5219    </p>
5220    <p>S: "2"
5221    </p>
5222    </blockquote><p>
5223                        
5224    </p>
5225    <a name="LIST FX_SENDS"></a><br /><hr />
5226    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5227    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5228    Listing all effect sends on a sampler channel</h3>
5229    
5230    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5231                        by sending the following command:
5232    </p>
5233    <p>
5234                            </p>
5235    <blockquote class="text">
5236    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5237    </p>
5238    </blockquote><p>
5239                        
5240    </p>
5241    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5242                        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>
5243                        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.
5244    </p>
5245    <p>Possible Answers:
5246    </p>
5247    <p>
5248                            </p>
5249    <blockquote class="text">
5250    <p>The sampler will answer by returning a comma separated list
5251                                with all effect sends' numerical IDs on the given sampler
5252                                channel.
5253    </p>
5254    </blockquote><p>
5255                        
5256    </p>
5257    <p>Examples:
5258    </p>
5259    <p>
5260                            </p>
5261    <blockquote class="text">
5262    <p>C: "LIST FX_SENDS 0"
5263    </p>
5264    <p>S: "0,1"
5265    </p>
5266    </blockquote><p>
5267                        
5268    </p>
5269    <p>
5270                            </p>
5271    <blockquote class="text">
5272    <p>C: "LIST FX_SENDS 1"
5273    </p>
5274    <p>S: ""
5275    </p>
5276    </blockquote><p>
5277                        
5278    </p>
5279    <a name="GET FX_SEND INFO"></a><br /><hr />
5280    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5281    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5282    Getting effect send information</h3>
5283    
5284    <p>The front-end can ask for the current settings of an effect send entity
5285                        by sending the following command:
5286    </p>
5287    <p>
5288                            </p>
5289    <blockquote class="text">
5290    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5291    </p>
5292    </blockquote><p>
5293                        
5294    </p>
5295    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5296                        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>
5297                        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
5298                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5299                        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>
5300                        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.
5301                      
5302    </p>
5303    <p>Possible Answers:
5304    </p>
5305    <p>
5306                            </p>
5307    <blockquote class="text">
5308    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5309                                Each answer line begins with the settings category name
5310                                followed by a colon and then a space character &lt;SP&gt; and finally
5311                                the info character string to that setting category. At the
5312                                moment the following categories are defined:
5313    </p>
5314    <p>
5315                                    </p>
5316    <blockquote class="text">
5317    <p>NAME -
5318                                            </p>
5319    <blockquote class="text">
5320    <p>name of the effect send entity
5321    </p>
5322    </blockquote>
5323                                        
5324    
5325    <p>MIDI_CONTROLLER -
5326                                            </p>
5327    <blockquote class="text">
5328    <p>a value between 0 and 127 reflecting the MIDI controller
5329                                                which is able to modify the effect send's send level
5330    </p>
5331    </blockquote>
5332                                        
5333    
5334    <p>LEVEL -
5335                                            </p>
5336    <blockquote class="text">
5337    <p>optionally dotted number reflecting the effect send's
5338                                                current send level (where a value &lt; 1.0 means attenuation
5339                                                and a value > 1.0 means amplification)
5340    </p>
5341    </blockquote>
5342                                        
5343    
5344    <p>AUDIO_OUTPUT_ROUTING -
5345                                            </p>
5346    <blockquote class="text">
5347    <p>comma separated list which reflects to which audio
5348                                                channel of the selected audio output device each
5349                                                effect send output channel is routed to, e.g. "0,3" would
5350                                                mean the effect send's output channel 0 is routed to channel
5351                                                0 of the audio output device and the effect send's output
5352                                                channel 1 is routed to the channel 3 of the audio
5353                                                output device (see
5354                                                <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>
5355                                                for details)
5356    </p>
5357    </blockquote>
5358                                        
5359    
5360    </blockquote>
5361                                
5362    
5363    </blockquote><p>
5364                        
5365    </p>
5366    <p>The mentioned fields above don't have to be in particular order.
5367    </p>
5368    <p>Example:
5369    </p>
5370    <p>
5371                            </p>
5372    <blockquote class="text">
5373    <p>C: "GET FX_SEND INFO 0 0"
5374    </p>
5375    <p>S: "NAME: Reverb Send"
5376    </p>
5377    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5378    </p>
5379    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5380    </p>
5381    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5382    </p>
5383    <p>&nbsp;&nbsp;&nbsp;"."
5384    </p>
5385    </blockquote><p>
5386                        
5387    </p>
5388    <a name="SET FX_SEND NAME"></a><br /><hr />
5389    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5390    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5391    Changing effect send's name</h3>
5392    
5393    <p>The front-end can alter the current name of an effect
5394                        send entity by sending the following command:
5395    </p>
5396    <p>
5397                            </p>
5398    <blockquote class="text">
5399    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5400    </p>
5401    </blockquote><p>
5402                        
5403    </p>
5404    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5405                        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>
5406                        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,
5407                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5408                        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>
5409                        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
5410                        &lt;name&gt; is the new name of the effect send entity, which
5411                        does not have to be unique.
5412    </p>
5413    <p>Possible Answers:
5414    </p>
5415    <p>
5416                            </p>
5417    <blockquote class="text">
5418    <p>"OK" -
5419                                    </p>
5420    <blockquote class="text">
5421    <p>on success
5422    </p>
5423    </blockquote>
5424                                
5425    
5426    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5427                                    </p>
5428    <blockquote class="text">
5429    <p>in case it failed, providing an appropriate error code and error message
5430    </p>
5431    </blockquote>
5432                                
5433    
5434    </blockquote><p>
5435                        
5436    </p>
5437    <p>Example:
5438    </p>
5439    <p>
5440                            </p>
5441    <blockquote class="text">
5442    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5443    </p>
5444    <p>S: "OK"
5445    </p>
5446    </blockquote><p>
5447                        
5448    </p>
5449    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5450    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5451    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5452    Altering effect send's audio routing</h3>
5453    
5454    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5455                        sampler channel by sending the following command:
5456    </p>
5457    <p>
5458                            </p>
5459    <blockquote class="text">
5460    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5461    </p>
5462    </blockquote><p>
5463                        
5464    </p>
5465    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5466                        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>
5467                        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,
5468                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5469                        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>
5470                        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,
5471                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5472                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5473                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5474                        should be routed to.
5475    </p>
5476    <p>Note that effect sends can only route audio to the same audio output
5477                        device as assigned to the effect send's sampler channel. Also note that an
5478                        effect send entity does always have exactly as much audio channels as its
5479                        sampler channel. So if the sampler channel is stereo, the effect send does
5480                        have two audio channels as well. Also keep in mind that the amount of audio
5481                        channels on a sampler channel might be dependant not only to the deployed
5482                        sampler engine on the sampler channel, but also dependant to the instrument
5483                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5484                        send into a mono one by simply altering its audio routing appropriately.
5485    </p>
5486    <p>Possible Answers:
5487    </p>
5488    <p>
5489                            </p>
5490    <blockquote class="text">
5491    <p>"OK" -
5492                                    </p>
5493    <blockquote class="text">
5494    <p>on success
5495    </p>
5496    </blockquote>
5497                                
5498    
5499    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5500                                    </p>
5501    <blockquote class="text">
5502    <p>if audio output channel was set, but there are noteworthy
5503                                        issue(s) related, providing an appropriate warning code and
5504                                        warning message
5505    </p>
5506    </blockquote>
5507                                
5508    
5509    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5510                                    </p>
5511    <blockquote class="text">
5512    <p>in case it failed, providing an appropriate error code and error message
5513    </p>
5514    </blockquote>
5515                                
5516    
5517    </blockquote><p>
5518                        
5519    </p>
5520    <p>Example:
5521    </p>
5522    <p>
5523                            </p>
5524    <blockquote class="text">
5525    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5526    </p>
5527    <p>S: "OK"
5528    </p>
5529    </blockquote><p>
5530                        
5531    </p>
5532    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5533    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5534    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5535    Altering effect send's MIDI controller</h3>
5536    
5537    <p>The front-end can alter the MIDI controller of an effect
5538                        send entity by sending the following command:
5539    </p>
5540    <p>
5541                            </p>
5542    <blockquote class="text">
5543    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5544    </p>
5545    </blockquote><p>
5546                        
5547    </p>
5548    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5549                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5550                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5551                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5552                        as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5553                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and
5554                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5555                        able to modify the effect send's send level.
5556    </p>
5557    <p>Possible Answers:
5558    </p>
5559    <p>
5560                            </p>
5561    <blockquote class="text">
5562    <p>"OK" -
5563                                    </p>
5564    <blockquote class="text">
5565    <p>on success
5566    </p>
5567    </blockquote>
5568                                
5569    
5570    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5571                                    </p>
5572    <blockquote class="text">
5573    <p>if MIDI controller was set, but there are noteworthy
5574                                        issue(s) related, providing an appropriate warning code and
5575                                        warning message
5576    </p>
5577    </blockquote>
5578                                
5579    
5580    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5581                                    </p>
5582    <blockquote class="text">
5583    <p>in case it failed, providing an appropriate error code and error message
5584    </p>
5585    </blockquote>
5586                                
5587    
5588    </blockquote><p>
5589                        
5590    </p>
5591    <p>Example:
5592    </p>
5593    <p>
5594                            </p>
5595    <blockquote class="text">
5596    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5597    </p>
5598    <p>S: "OK"
5599    </p>
5600    </blockquote><p>
5601                        
5602    </p>
5603    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5604    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5605    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5606    Altering effect send's send level</h3>
5607    
5608    <p>The front-end can alter the current send level of an effect
5609                        send entity by sending the following command:
5610    </p>
5611    <p>
5612                            </p>
5613    <blockquote class="text">
5614    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5615    </p>
5616    </blockquote><p>
5617                        
5618    </p>
5619    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5620                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5621                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5622                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5623                        as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5624                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and
5625                        &lt;volume&gt; is an optionally dotted positive number (a value
5626                        smaller than 1.0 means attenuation, whereas a value greater than
5627                        1.0 means amplification) reflecting the new send level.
5628    </p>
5629    <p>Possible Answers:
5630    </p>
5631    <p>
5632                            </p>
5633    <blockquote class="text">
5634    <p>"OK" -
5635                                    </p>
5636    <blockquote class="text">
5637    <p>on success
5638    </p>
5639    </blockquote>
5640                                
5641    
5642    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5643                                    </p>
5644    <blockquote class="text">
5645    <p>if new send level was set, but there are noteworthy
5646                                        issue(s) related, providing an appropriate warning code and
5647                                        warning message
5648    </p>
5649    </blockquote>
5650                                
5651    
5652    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5653                                    </p>
5654    <blockquote class="text">
5655    <p>in case it failed, providing an appropriate error code and error message
5656    </p>
5657    </blockquote>
5658                                
5659    
5660    </blockquote><p>
5661                        
5662    </p>
5663    <p>Example:
5664    </p>
5665    <p>
5666                            </p>
5667    <blockquote class="text">
5668    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5669    </p>
5670    <p>S: "OK"
5671    </p>
5672    </blockquote><p>
5673                        
5674    </p>
5675    <a name="RESET CHANNEL"></a><br /><hr />
5676    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5677    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5678  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
5679    
5680  <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 6106  General sampler informations</h3>
6106  </blockquote>  </blockquote>
6107                                                                            
6108    
6109    <p>INSTRUMENTS_DB_SUPPORT -
6110                                            </p>
6111    <blockquote class="text">
6112    <p>either yes or no, specifies whether the
6113                                                sampler is build with instruments database support.
6114    </p>
6115    </blockquote>
6116                                        
6117    
6118  </blockquote>  </blockquote>
6119                                                            
6120    
# Line 5376  General sampler informations</h3> Line 6124  General sampler informations</h3>
6124  <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.
6125                      Other fields might be added in future.                      Other fields might be added in future.
6126  </p>  </p>
6127    <a name="GET VOLUME"></a><br /><hr />
6128    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6129    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6130    Getting global volume attenuation</h3>
6131    
6132    <p>The client can ask for the current global sampler-wide volume
6133                        attenuation by sending the following command:
6134    </p>
6135    <p>
6136                            </p>
6137    <blockquote class="text">
6138    <p>GET VOLUME
6139    </p>
6140    </blockquote><p>
6141                        
6142    </p>
6143    <p>Possible Answers:
6144    </p>
6145    <p>
6146                            </p>
6147    <blockquote class="text">
6148    <p>The sampler will always answer by returning the optional
6149                                dotted floating point coefficient, reflecting the current
6150                                global volume attenuation.
6151                                
6152    </p>
6153    </blockquote><p>
6154                        
6155    </p>
6156    <p>Note: it is up to the respective sampler engine whether to obey
6157                        that global volume parameter or not, but in general all engines SHOULD
6158                        use this parameter.
6159    </p>
6160    <a name="SET VOLUME"></a><br /><hr />
6161    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6162    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6163    Setting global volume attenuation</h3>
6164    
6165    <p>The client can alter the current global sampler-wide volume
6166                        attenuation by sending the following command:
6167    </p>
6168    <p>
6169                            </p>
6170    <blockquote class="text">
6171    <p>SET VOLUME &lt;volume&gt;
6172    </p>
6173    </blockquote><p>
6174                        
6175    </p>
6176    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6177                       floating point value, reflecting the new global volume parameter.
6178                       This value might usually be in the range between 0.0 and 1.0, that
6179                       is for attenuating the overall volume.
6180    </p>
6181    <p>Possible Answers:
6182    </p>
6183    <p>
6184                            </p>
6185    <blockquote class="text">
6186    <p>"OK" -
6187                                    </p>
6188    <blockquote class="text">
6189    <p>on success
6190    </p>
6191    </blockquote>
6192                                
6193    
6194    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6195                                    </p>
6196    <blockquote class="text">
6197    <p>if the global volume was set, but there are noteworthy
6198                                        issue(s) related, providing an appropriate warning code and
6199                                        warning message
6200    </p>
6201    </blockquote>
6202                                
6203    
6204    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6205                                    </p>
6206    <blockquote class="text">
6207    <p>in case it failed, providing an appropriate error code and error message
6208    </p>
6209    </blockquote>
6210                                
6211    
6212    </blockquote><p>
6213                        
6214    </p>
6215  <a name="MIDI Instrument Mapping"></a><br /><hr />  <a name="MIDI Instrument Mapping"></a><br /><hr />
6216  <table 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>
6217  <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 6526  Getting MIDI instrument map information<
6526  </blockquote>  </blockquote>
6527                                                                            
6528    
6529    <p>DEFAULT -
6530                                            </p>
6531    <blockquote class="text">
6532    <p>either true or false,
6533                                                defines whether this map is the default map
6534    </p>
6535    </blockquote>
6536                                        
6537    
6538  </blockquote>  </blockquote>
6539                                                            
6540    
# Line 5707  Getting MIDI instrument map information< Line 6552  Getting MIDI instrument map information<
6552  </p>  </p>
6553  <p>S: "NAME: Standard Map"  <p>S: "NAME: Standard Map"
6554  </p>  </p>
6555    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6556    </p>
6557  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
6558  </p>  </p>
6559  </blockquote><p>  </blockquote><p>
# Line 5780  Create or replace a MIDI instrument map Line 6627  Create or replace a MIDI instrument map
6627  <p>  <p>
6628                          </p>                          </p>
6629  <blockquote class="text">  <blockquote class="text">
6630  <p>MAP MIDI_INSTRUMENT &lt;map&gt;  <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6631                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6632                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6633                              [&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 6647  Create or replace a MIDI instrument map
6647                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6648                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6649                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
6650                      value < 1.0 means attenuation and a value > 1.0 means                      value &lt; 1.0 means attenuation and a value > 1.0 means
6651                      amplification). This parameter easily allows to adjust the                      amplification). This parameter easily allows to adjust the
6652                      volume of all intruments within a custom instrument map                      volume of all intruments within a custom instrument map
6653                      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 6691  Create or replace a MIDI instrument map
6691                                  </p>                                  </p>
6692  <blockquote class="text">  <blockquote class="text">
6693  <p>The instrument will immediately be loaded  <p>The instrument will immediately be loaded
6694                                      into memory in the background when this mapping                                      into memory when this mapping
6695                                      command is sent and the instrument is kept all                                      command is sent and the instrument is kept all
6696                                      the time. Instruments with this mode are                                      the time. Instruments with this mode are
6697                                      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 6748  Create or replace a MIDI instrument map
6748                                            
6749  </p>  </p>
6750  <p>  <p>
6751                      The "MAP MIDI_INSTRUMENT" command                      By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6752                      will immediately return, thus it will not block when an                      completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6753                      instrument is to be loaded due to a "PERSISTENT" type                      however causes the respective "MAP MIDI_INSTRUMENT" command to return
6754                      entry as instruments are loaded in the background. As a                      immediately, that is to let the sampler establish the mapping in the
6755                      consequence this command may not necessarily return an error                      background. So this argument might be especially useful for mappings with
6756                      i.e. when the given instrument file does not exist or may                      a "PERSISTENT" type, because these have to load the respective instruments
6757                      turn out to be corrupt.                      immediately and might thus block for a very long time. It is recommended
6758                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6759                        because it has the following drawbacks: as "NON_MODAL" instructions return
6760                        immediately, they may not necessarily return an error i.e. when the given
6761                        instrument file turns out to be corrupt, beside that subsequent commands
6762                        in a LSCP instruction sequence might fail, because mandatory mappings are
6763                        not yet completed.
6764                                            
6765  </p>  </p>
6766  <p>Possible Answers:  <p>Possible Answers:
# Line 5974  Create or replace a MIDI instrument map Line 6827  Create or replace a MIDI instrument map
6827  <p>  <p>
6828                          </p>                          </p>
6829  <blockquote class="text">  <blockquote class="text">
6830  <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'"
6831  </p>  </p>
6832  <p>S: "OK"  <p>S: "OK"
6833  </p>  </p>
# Line 6263  Get current settings of MIDI instrument Line 7116  Get current settings of MIDI instrument
7116                                  </p>                                  </p>
7117  <blockquote class="text">  <blockquote class="text">
7118  <p>master volume of the instrument as optionally  <p>master volume of the instrument as optionally
7119                                      dotted number (where a value < 1.0 means attenuation                                      dotted number (where a value &lt; 1.0 means attenuation
7120                                      and a value > 1.0 means amplification)                                      and a value > 1.0 means amplification)
7121  </p>  </p>
7122  </blockquote>  </blockquote>
# Line 6372  Clear MIDI instrument map</h3> Line 7225  Clear MIDI instrument map</h3>
7225  </blockquote><p>  </blockquote><p>
7226                                            
7227  </p>  </p>
7228    <a name="Managing Instruments Database"></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"></a><h3>6.8.&nbsp;
7231    Managing Instruments Database</h3>
7232    
7233    <p>The following commands describe how to use and manage
7234                    the instruments database.
7235    </p>
7236    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7237    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7238    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7239    Creating a new instrument directory</h3>
7240    
7241    <p>The front-end can add a new instrument directory to the
7242                        instruments database by sending the following command:
7243    </p>
7244    <p>
7245                            </p>
7246    <blockquote class="text">
7247    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7248    </p>
7249    </blockquote><p>
7250                        
7251    </p>
7252    <p>Where &lt;dir&gt; is the absolute path name of the directory
7253                        to be created (encapsulated into apostrophes).
7254    </p>
7255    <p>Possible Answers:
7256    </p>
7257    <p>
7258                            </p>
7259    <blockquote class="text">
7260    <p>"OK" -
7261                                    </p>
7262    <blockquote class="text">
7263    <p>on success
7264    </p>
7265    </blockquote>
7266                                
7267    
7268    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7269                                    </p>
7270    <blockquote class="text">
7271    <p>when the directory could not be created, which
7272                                        can happen if the directory already exists or the
7273                                        name contains not allowed symbols
7274    </p>
7275    </blockquote>
7276                                
7277    
7278    </blockquote><p>
7279                        
7280    </p>
7281    <p>Examples:
7282    </p>
7283    <p>
7284                            </p>
7285    <blockquote class="text">
7286    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7287    </p>
7288    <p>S: "OK"
7289    </p>
7290    </blockquote><p>
7291                        
7292    </p>
7293    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7294    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7295    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7296    Deleting an instrument directory</h3>
7297    
7298    <p>The front-end can delete a particular instrument directory
7299                        from the instruments database by sending the following command:
7300    </p>
7301    <p>
7302                            </p>
7303    <blockquote class="text">
7304    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7305    </p>
7306    </blockquote><p>
7307                        
7308    </p>
7309    <p>Where &lt;dir&gt; is the absolute path name of the directory
7310                        to delete. The optional FORCE argument can be used to
7311                        force the deletion of a non-empty directory and all its content.
7312    </p>
7313    <p>Possible Answers:
7314    </p>
7315    <p>
7316                            </p>
7317    <blockquote class="text">
7318    <p>"OK" -
7319                                    </p>
7320    <blockquote class="text">
7321    <p>if the directory is deleted successfully
7322    </p>
7323    </blockquote>
7324                                
7325    
7326    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7327                                    </p>
7328    <blockquote class="text">
7329    <p>if the given directory does not exist, or
7330                                        if trying to delete a non-empty directory,
7331                                        without using the FORCE argument.
7332    </p>
7333    </blockquote>
7334                                
7335    
7336    </blockquote><p>
7337                        
7338    </p>
7339    <p>Examples:
7340    </p>
7341    <p>
7342                            </p>
7343    <blockquote class="text">
7344    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7345    </p>
7346    <p>S: "OK"
7347    </p>
7348    </blockquote><p>
7349                        
7350    </p>
7351    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7352    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7353    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7354    Getting amount of instrument directories</h3>
7355    
7356    <p>The front-end can retrieve the current amount of
7357                        directories in a specific directory by sending the following command:
7358    </p>
7359    <p>
7360                            </p>
7361    <blockquote class="text">
7362    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7363    </p>
7364    </blockquote><p>
7365                        
7366    </p>
7367    <p>Where &lt;dir&gt; should be replaced by the absolute path
7368                        name of the directory. If RECURSIVE is specified, the number of
7369                        all directories, including those located in subdirectories of the
7370                        specified directory, will be returned.
7371    </p>
7372    <p>Possible Answers:
7373    </p>
7374    <p>
7375                            </p>
7376    <blockquote class="text">
7377    <p>The current number of instrument directories
7378                                in the specified directory.
7379    </p>
7380    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7381                                    </p>
7382    <blockquote class="text">
7383    <p>if the given directory does not exist.
7384    </p>
7385    </blockquote>
7386                                
7387    
7388    </blockquote><p>
7389                        
7390    </p>
7391    <p>Example:
7392    </p>
7393    <p>
7394                            </p>
7395    <blockquote class="text">
7396    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7397    </p>
7398    <p>S: "2"
7399    </p>
7400    </blockquote><p>
7401                        
7402    </p>
7403    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7404    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7405    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7406    Listing all directories in specific directory</h3>
7407    
7408    <p>The front-end can retrieve the current list of directories
7409                        in specific directory by sending the following command:
7410    </p>
7411    <p>
7412                            </p>
7413    <blockquote class="text">
7414    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7415    </p>
7416    </blockquote><p>
7417                        
7418    </p>
7419    <p>Where &lt;dir&gt; should be replaced by the absolute path
7420                        name of the directory. If RECURSIVE is specified, the absolute path names
7421                        of all directories, including those located in subdirectories of the
7422                        specified directory, will be returned.
7423    </p>
7424    <p>Possible Answers:
7425    </p>
7426    <p>
7427                            </p>
7428    <blockquote class="text">
7429    <p>A comma separated list of all instrument directories
7430                                (encapsulated into apostrophes) in the specified directory.
7431    </p>
7432    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7433                                    </p>
7434    <blockquote class="text">
7435    <p>if the given directory does not exist.
7436    </p>
7437    </blockquote>
7438                                
7439    
7440    </blockquote><p>
7441                        
7442    </p>
7443    <p>Example:
7444    </p>
7445    <p>
7446                            </p>
7447    <blockquote class="text">
7448    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7449    </p>
7450    <p>S: "'Piano Collection','Percussion Collection'"
7451    </p>
7452    </blockquote><p>
7453                        
7454    </p>
7455    <p>
7456                            </p>
7457    <blockquote class="text">
7458    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7459    </p>
7460    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7461    </p>
7462    </blockquote><p>
7463                        
7464    </p>
7465    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7466    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7467    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7468    Getting instrument directory information</h3>
7469    
7470    <p>The front-end can ask for the current settings of an
7471                        instrument directory by sending the following command:
7472    </p>
7473    <p>
7474                            </p>
7475    <blockquote class="text">
7476    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7477    </p>
7478    </blockquote><p>
7479                        
7480    </p>
7481    <p>Where &lt;dir&gt; should be replaced by the absolute path
7482                        name of the directory the front-end is interested in.
7483    </p>
7484    <p>Possible Answers:
7485    </p>
7486    <p>
7487                            </p>
7488    <blockquote class="text">
7489    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7490                                Each answer line begins with the settings category name
7491                                followed by a colon and then a space character &lt;SP&gt; and finally
7492                                the info character string to that setting category. At the
7493                                moment the following categories are defined:
7494    </p>
7495    <p>
7496                                    </p>
7497    <blockquote class="text">
7498    <p>DESCRIPTION -
7499                                            </p>
7500    <blockquote class="text">
7501    <p>A brief description of the directory content
7502    </p>
7503    </blockquote>
7504                                        
7505    
7506    <p>CREATED -
7507                                            </p>
7508    <blockquote class="text">
7509    <p>The creation date and time of the directory,
7510                                                represented in "YYYY-MM-DD HH:MM:SS" format
7511    </p>
7512    </blockquote>
7513                                        
7514    
7515    <p>MODIFIED -
7516                                            </p>
7517    <blockquote class="text">
7518    <p>The date and time of the last modification of the
7519                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7520    </p>
7521    </blockquote>
7522                                        
7523    
7524    </blockquote>
7525                                
7526    
7527    </blockquote><p>
7528                        
7529    </p>
7530    <p>The mentioned fields above don't have to be in particular order.
7531    </p>
7532    <p>Example:
7533    </p>
7534    <p>
7535                            </p>
7536    <blockquote class="text">
7537    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7538    </p>
7539    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7540    </p>
7541    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7542    </p>
7543    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7544    </p>
7545    <p>&nbsp;&nbsp;&nbsp;"."
7546    </p>
7547    </blockquote><p>
7548                        
7549    </p>
7550    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7551    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7552    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7553    Renaming an instrument directory</h3>
7554    
7555    <p>The front-end can alter the name of a specific
7556                        instrument directory by sending the following command:
7557    </p>
7558    <p>
7559                            </p>
7560    <blockquote class="text">
7561    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7562    </p>
7563    </blockquote><p>
7564                        
7565    </p>
7566    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7567                        &lt;name&gt; is the new name for that directory.
7568    </p>
7569    <p>Possible Answers:
7570    </p>
7571    <p>
7572                            </p>
7573    <blockquote class="text">
7574    <p>"OK" -
7575                                    </p>
7576    <blockquote class="text">
7577    <p>on success
7578    </p>
7579    </blockquote>
7580                                
7581    
7582    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7583                                    </p>
7584    <blockquote class="text">
7585    <p>in case the given directory does not exists,
7586                                        or if a directory with name equal to the new
7587                                        name already exists.
7588    </p>
7589    </blockquote>
7590                                
7591    
7592    </blockquote><p>
7593                        
7594    </p>
7595    <p>Example:
7596    </p>
7597    <p>
7598                            </p>
7599    <blockquote class="text">
7600    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7601    </p>
7602    <p>S: "OK"
7603    </p>
7604    </blockquote><p>
7605                        
7606    </p>
7607    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7608    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7609    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7610    Moving an instrument directory</h3>
7611    
7612    <p>The front-end can move a specific
7613                        instrument directory by sending the following command:
7614    </p>
7615    <p>
7616                            </p>
7617    <blockquote class="text">
7618    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7619    </p>
7620    </blockquote><p>
7621                        
7622    </p>
7623    <p>Where &lt;dir&gt; is the absolute path name of the directory
7624                        to move and &lt;dst&gt; is the location where the directory will
7625                        be moved to.
7626    </p>
7627    <p>Possible Answers:
7628    </p>
7629    <p>
7630                            </p>
7631    <blockquote class="text">
7632    <p>"OK" -
7633                                    </p>
7634    <blockquote class="text">
7635    <p>on success
7636    </p>
7637    </blockquote>
7638                                
7639    
7640    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7641                                    </p>
7642    <blockquote class="text">
7643    <p>in case a given directory does not exists,
7644                                        or if a directory with name equal to the name
7645                                        of the specified directory already exists in
7646                                        the destination directory. Error is also thrown
7647                                        when trying to move a directory to a subdirectory
7648                                        of itself.
7649    </p>
7650    </blockquote>
7651                                
7652    
7653    </blockquote><p>
7654                        
7655    </p>
7656    <p>Example:
7657    </p>
7658    <p>
7659                            </p>
7660    <blockquote class="text">
7661    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7662    </p>
7663    <p>S: "OK"
7664    </p>
7665    </blockquote><p>
7666                        
7667    </p>
7668    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7669    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7670    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7671    Copying instrument directories</h3>
7672    
7673    <p>The front-end can copy a specific
7674                        instrument directory by sending the following command:
7675    </p>
7676    <p>
7677                            </p>
7678    <blockquote class="text">
7679    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7680    </p>
7681    </blockquote><p>
7682                        
7683    </p>
7684    <p>Where &lt;dir&gt; is the absolute path name of the directory
7685                        to copy and &lt;dst&gt; is the location where the directory will
7686                        be copied to.
7687    </p>
7688    <p>Possible Answers:
7689    </p>
7690    <p>
7691                            </p>
7692    <blockquote class="text">
7693    <p>"OK" -
7694                                    </p>
7695    <blockquote class="text">
7696    <p>on success
7697    </p>
7698    </blockquote>
7699                                
7700    
7701    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7702                                    </p>
7703    <blockquote class="text">
7704    <p>in case a given directory does not exists,
7705                                        or if a directory with name equal to the name
7706                                        of the specified directory already exists in
7707                                        the destination directory. Error is also thrown
7708                                        when trying to copy a directory to a subdirectory
7709                                        of itself.
7710    </p>
7711    </blockquote>
7712                                
7713    
7714    </blockquote><p>
7715                        
7716    </p>
7717    <p>Example:
7718    </p>
7719    <p>
7720                            </p>
7721    <blockquote class="text">
7722    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7723    </p>
7724    <p>S: "OK"
7725    </p>
7726    </blockquote><p>
7727                        
7728    </p>
7729    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7730    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7731    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7732    Changing the description of directory</h3>
7733    
7734    <p>The front-end can alter the description of a specific
7735                        instrument directory by sending the following command:
7736    </p>
7737    <p>
7738                            </p>
7739    <blockquote class="text">
7740    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7741    </p>
7742    </blockquote><p>
7743                        
7744    </p>
7745    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7746                        &lt;desc&gt; is the new description for the directory.
7747    </p>
7748    <p>Possible Answers:
7749    </p>
7750    <p>
7751                            </p>
7752    <blockquote class="text">
7753    <p>"OK" -
7754                                    </p>
7755    <blockquote class="text">
7756    <p>on success
7757    </p>
7758    </blockquote>
7759                                
7760    
7761    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7762                                    </p>
7763    <blockquote class="text">
7764    <p>in case the given directory does not exists.
7765    </p>
7766    </blockquote>
7767                                
7768    
7769    </blockquote><p>
7770                        
7771    </p>
7772    <p>Example:
7773    </p>
7774    <p>
7775                            </p>
7776    <blockquote class="text">
7777    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7778    </p>
7779    <p>S: "OK"
7780    </p>
7781    </blockquote><p>
7782                        
7783    </p>
7784    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7785    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7786    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7787    Finding directories</h3>
7788    
7789    <p>The front-end can search for directories
7790                        in specific directory by sending the following command:
7791    </p>
7792    <p>
7793                            </p>
7794    <blockquote class="text">
7795    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7796    </p>
7797    </blockquote><p>
7798                        
7799    </p>
7800    <p>Where &lt;dir&gt; should be replaced by the absolute path
7801                        name of the directory to search in. If NON_RECURSIVE is specified, the
7802                        directories located in subdirectories of the specified directory will not
7803                        be searched. &lt;criteria-list&gt; is a list of search criterias
7804                        in form of "key1=val1 key2=val2 ...". The following criterias are
7805                        allowed:
7806    </p>
7807    <p>
7808                          
7809    <p>NAME='&lt;search-string&gt;'
7810                              </p>
7811    <blockquote class="text">
7812    <p>Restricts the search to directories, which names
7813                                  satisfy the supplied search string.
7814    </p>
7815    </blockquote><p>
7816                          
7817    </p>
7818    
7819                          
7820    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7821                              </p>
7822    <blockquote class="text">
7823    <p>Restricts the search to directories, which creation
7824                                  date satisfies the specified period, where &lt;date-after&gt;
7825                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7826                                  If &lt;date-after&gt; is omitted the search is restricted to
7827                                  directories created before &lt;date-before&gt;. If
7828                                  &lt;date-before&gt; is omitted, the search is restricted
7829                                  to directories created after &lt;date-after&gt;.
7830    </p>
7831    </blockquote><p>
7832                          
7833    </p>
7834    
7835                          
7836    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7837                              </p>
7838    <blockquote class="text">
7839    <p>Restricts the search to directories, which
7840                                  date of last modification satisfies the specified period, where
7841                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7842                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7843                                  directories, which are last modified before &lt;date-before&gt;. If
7844                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7845                                  which are last modified after &lt;date-after&gt;.
7846    </p>
7847    </blockquote><p>
7848                          
7849    </p>
7850    
7851                          
7852    <p>DESCRIPTION='&lt;search-string&gt;'
7853                              </p>
7854    <blockquote class="text">
7855    <p>Restricts the search to directories with description
7856                                  that satisfies the supplied search string.
7857    </p>
7858    </blockquote><p>
7859                          
7860    </p>
7861                        
7862    
7863    <p>Where &lt;search-string&gt; is either a regular expression, or a
7864                        word list separated with spaces for OR search and with '+' for AND search.
7865    </p>
7866    <p>Possible Answers:
7867    </p>
7868    <p>
7869                            </p>
7870    <blockquote class="text">
7871    <p>A comma separated list with the absolute path names (encapsulated into
7872                                apostrophes) of all directories in the specified directory that satisfy
7873                                the supplied search criterias.
7874    </p>
7875    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7876                                    </p>
7877    <blockquote class="text">
7878    <p>if the given directory does not exist.
7879    </p>
7880    </blockquote>
7881                                
7882    
7883    </blockquote><p>
7884                        
7885    </p>
7886    <p>Example:
7887    </p>
7888    <p>
7889                            </p>
7890    <blockquote class="text">
7891    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7892    </p>
7893    <p>S: "'/Piano Collection'"
7894    </p>
7895    </blockquote><p>
7896                        
7897    </p>
7898    <p>
7899                            </p>
7900    <blockquote class="text">
7901    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7902    </p>
7903    <p>S: "'/Piano Collection','/Percussions'"
7904    </p>
7905    </blockquote><p>
7906                        
7907    </p>
7908    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7909    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7910    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7911    Adding instruments to the instruments database</h3>
7912    
7913    <p>The front-end can add one or more instruments
7914                        to the instruments database by sending the following command:
7915    </p>
7916    <p>
7917                            </p>
7918    <blockquote class="text">
7919    <p>ADD DB_INSTRUMENTS [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7920    </p>
7921    </blockquote><p>
7922                        
7923    </p>
7924    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7925                        (encapsulated into apostrophes) in the instruments database in which
7926                        only the new instruments (that are not already in the database) will
7927                        be added, &lt;file_path&gt; is the absolute path name of a file or
7928                        directory in the file system (encapsulated into apostrophes). In case
7929                        an instrument file is supplied, only the instruments in the specified
7930                        file will be added to the instruments database. If the optional
7931                        &lt;instr_index&gt; (the index of the instrument within the given file)
7932                        is supplied too, then only the specified instrument will be added.
7933                        In case a directory is supplied, the instruments in that directory
7934                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
7935                        when a directory is provided as &lt;file_path&gt; and specifies how the
7936                        scanning will be done and has exactly the following possibilities:
7937    </p>
7938    <p>
7939                            </p>
7940    <blockquote class="text">
7941    <p>"NON_RECURSIVE" -
7942                                    </p>
7943    <blockquote class="text">
7944    <p>Only the instruments in the specified directory
7945                                        will be added, the instruments in the subdirectories
7946                                        will not be processed.
7947    </p>
7948    </blockquote>
7949                                
7950    
7951    <p>"FLAT" -
7952                                    </p>
7953    <blockquote class="text">
7954    <p>All instruments will be processed, including those
7955                                        in the subdirectories, but the respective subdirectory
7956                                        structure will not be recreated in the instruments
7957                                        database. All instruments will be added directly in
7958                                        the specified database directory.
7959    </p>
7960    </blockquote>
7961                                
7962    
7963    <p>not supplied -
7964                                    </p>
7965    <blockquote class="text">
7966    <p>The subdirectory tree structure will be recreated
7967                                        in the instruments database and all instruments will be
7968                                        processed and added to the respective subdirectory
7969                                        in the instruments database.
7970    </p>
7971    </blockquote>
7972                                
7973    
7974    </blockquote><p>
7975                        
7976    </p>
7977    <p>Possible Answers:
7978    </p>
7979    <p>
7980                            </p>
7981    <blockquote class="text">
7982    <p>"OK" -
7983                                    </p>
7984    <blockquote class="text">
7985    <p>on success
7986    </p>
7987    </blockquote>
7988                                
7989    
7990    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7991                                    </p>
7992    <blockquote class="text">
7993    <p>if an invalid path is specified.
7994    </p>
7995    </blockquote>
7996                                
7997    
7998    </blockquote><p>
7999                        
8000    </p>
8001    <p>Examples:
8002    </p>
8003    <p>
8004                            </p>
8005    <blockquote class="text">
8006    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8007    </p>
8008    <p>S: "OK"
8009    </p>
8010    </blockquote><p>
8011                        
8012    </p>
8013    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8014    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8015    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8016    Removing an instrument</h3>
8017    
8018    <p>The front-end can remove a particular instrument
8019                        from the instruments database by sending the following command:
8020    </p>
8021    <p>
8022                            </p>
8023    <blockquote class="text">
8024    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8025    </p>
8026    </blockquote><p>
8027                        
8028    </p>
8029    <p>Where &lt;instr_path&gt; is the absolute path name
8030                        (in the instruments database) of the instrument to remove.
8031    </p>
8032    <p>Possible Answers:
8033    </p>
8034    <p>
8035                            </p>
8036    <blockquote class="text">
8037    <p>"OK" -
8038                                    </p>
8039    <blockquote class="text">
8040    <p>if the instrument is removed successfully
8041    </p>
8042    </blockquote>
8043                                
8044    
8045    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8046                                    </p>
8047    <blockquote class="text">
8048    <p>if the given path does not exist or
8049                                        is a directory.
8050    </p>
8051    </blockquote>
8052                                
8053    
8054    </blockquote><p>
8055                        
8056    </p>
8057    <p>Examples:
8058    </p>
8059    <p>
8060                            </p>
8061    <blockquote class="text">
8062    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8063    </p>
8064    <p>S: "OK"
8065    </p>
8066    </blockquote><p>
8067                        
8068    </p>
8069    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8070    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8071    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8072    Getting amount of instruments</h3>
8073    
8074    <p>The front-end can retrieve the current amount of
8075                        instruments in a specific directory by sending the following command:
8076    </p>
8077    <p>
8078                            </p>
8079    <blockquote class="text">
8080    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8081    </p>
8082    </blockquote><p>
8083                        
8084    </p>
8085    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8086                        of the directory. If RECURSIVE is specified, the number of all
8087                        instruments, including those located in subdirectories of the
8088                        specified directory, will be returned.
8089    </p>
8090    <p>Possible Answers:
8091    </p>
8092    <p>
8093                            </p>
8094    <blockquote class="text">
8095    <p>The current number of instruments
8096                                in the specified directory.
8097    </p>
8098    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8099                                    </p>
8100    <blockquote class="text">
8101    <p>if the given directory does not exist.
8102    </p>
8103    </blockquote>
8104                                
8105    
8106    </blockquote><p>
8107                        
8108    </p>
8109    <p>Example:
8110    </p>
8111    <p>
8112                            </p>
8113    <blockquote class="text">
8114    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8115    </p>
8116    <p>S: "2"
8117    </p>
8118    </blockquote><p>
8119                        
8120    </p>
8121    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8122    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8123    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8124    Listing all instruments in specific directory</h3>
8125    
8126    <p>The front-end can retrieve the current list of instruments
8127                        in specific directory by sending the following command:
8128    </p>
8129    <p>
8130                            </p>
8131    <blockquote class="text">
8132    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8133    </p>
8134    </blockquote><p>
8135                        
8136    </p>
8137    <p>Where &lt;dir&gt; should be replaced by the absolute path
8138                        name of the directory. If RECURSIVE is specified, the absolute path
8139                        names of all instruments, including those located in subdirectories
8140                        of the specified directory, will be returned.
8141    </p>
8142    <p>Possible Answers:
8143    </p>
8144    <p>
8145                            </p>
8146    <blockquote class="text">
8147    <p>A comma separated list of all instruments
8148                                (encapsulated into apostrophes) in the specified directory.
8149    </p>
8150    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8151                                    </p>
8152    <blockquote class="text">
8153    <p>if the given directory does not exist.
8154    </p>
8155    </blockquote>
8156                                
8157    
8158    </blockquote><p>
8159                        
8160    </p>
8161    <p>Example:
8162    </p>
8163    <p>
8164                            </p>
8165    <blockquote class="text">
8166    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8167    </p>
8168    <p>S: "'Bosendorfer 290','Steinway D'"
8169    </p>
8170    </blockquote><p>
8171                        
8172    </p>
8173    <p>
8174                            </p>
8175    <blockquote class="text">
8176    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8177    </p>
8178    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8179    </p>
8180    </blockquote><p>
8181                        
8182    </p>
8183    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8184    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8185    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8186    Getting instrument information</h3>
8187    
8188    <p>The front-end can ask for the current settings of an
8189                        instrument by sending the following command:
8190    </p>
8191    <p>
8192                            </p>
8193    <blockquote class="text">
8194    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8195    </p>
8196    </blockquote><p>
8197                        
8198    </p>
8199    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8200                        name of the instrument the front-end is interested in.
8201    </p>
8202    <p>Possible Answers:
8203    </p>
8204    <p>
8205                            </p>
8206    <blockquote class="text">
8207    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8208                                Each answer line begins with the settings category name
8209                                followed by a colon and then a space character &lt;SP&gt; and finally
8210                                the info character string to that setting category. At the
8211                                moment the following categories are defined:
8212    </p>
8213    <p>
8214                                    </p>
8215    <blockquote class="text">
8216    <p>INSTRUMENT_FILE -
8217                                            </p>
8218    <blockquote class="text">
8219    <p>File name of the instrument.
8220    </p>
8221    </blockquote>
8222                                        
8223    
8224    <p>INSTRUMENT_NR -
8225                                            </p>
8226    <blockquote class="text">
8227    <p>Index of the instrument within the file.
8228    </p>
8229    </blockquote>
8230                                        
8231    
8232    <p>FORMAT_FAMILY -
8233                                            </p>
8234    <blockquote class="text">
8235    <p>The format family of the instrument.
8236    </p>
8237    </blockquote>
8238                                        
8239    
8240    <p>FORMAT_VERSION -
8241                                            </p>
8242    <blockquote class="text">
8243    <p>The format version of the instrument.
8244    </p>
8245    </blockquote>
8246                                        
8247    
8248    <p>SIZE -
8249                                            </p>
8250    <blockquote class="text">
8251    <p>The size of the instrument in bytes.
8252    </p>
8253    </blockquote>
8254                                        
8255    
8256    <p>CREATED -
8257                                            </p>
8258    <blockquote class="text">
8259    <p>The date and time when the instrument is added
8260                                                in the instruments database, represented in
8261                                               "YYYY-MM-DD HH:MM:SS" format
8262    </p>
8263    </blockquote>
8264                                        
8265    
8266    <p>MODIFIED -
8267                                            </p>
8268    <blockquote class="text">
8269    <p>The date and time of the last modification of the
8270                                                instrument's database settings, represented in
8271                                                "YYYY-MM-DD HH:MM:SS" format
8272    </p>
8273    </blockquote>
8274                                        
8275    
8276    <p>DESCRIPTION -
8277                                            </p>
8278    <blockquote class="text">
8279    <p>A brief description of the instrument
8280    </p>
8281    </blockquote>
8282                                        
8283    
8284    <p>IS_DRUM -
8285                                            </p>
8286    <blockquote class="text">
8287    <p>either true or false, determines whether the
8288                                                instrument is a drumkit or a chromatic instrument
8289    </p>
8290    </blockquote>
8291                                        
8292    
8293    <p>PRODUCT -
8294                                            </p>
8295    <blockquote class="text">
8296    <p>The product title of the instrument
8297    </p>
8298    </blockquote>
8299                                        
8300    
8301    <p>ARTISTS -
8302                                            </p>
8303    <blockquote class="text">
8304    <p>Lists the artist names
8305    </p>
8306    </blockquote>
8307                                        
8308    
8309    <p>KEYWORDS -
8310                                            </p>
8311    <blockquote class="text">
8312    <p>Provides a list of keywords that refer to the instrument.
8313                                                Keywords are separated with semicolon and blank.
8314    </p>
8315    </blockquote>
8316                                        
8317    
8318    </blockquote>
8319                                
8320    
8321    </blockquote><p>
8322                        
8323    </p>
8324    <p>The mentioned fields above don't have to be in particular order.
8325    </p>
8326    <p>Example:
8327    </p>
8328    <p>
8329                            </p>
8330    <blockquote class="text">
8331    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8332    </p>
8333    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8334    </p>
8335    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8336    </p>
8337    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8338    </p>
8339    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8340    </p>
8341    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8342    </p>
8343    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8344    </p>
8345    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8346    </p>
8347    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8348    </p>
8349    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8350    </p>
8351    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8352    </p>
8353    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8354    </p>
8355    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8356    </p>
8357    <p>&nbsp;&nbsp;&nbsp;"."
8358    </p>
8359    </blockquote><p>
8360                        
8361    </p>
8362    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8363    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8364    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8365    Renaming an instrument</h3>
8366    
8367    <p>The front-end can alter the name of a specific
8368                        instrument by sending the following command:
8369    </p>
8370    <p>
8371                            </p>
8372    <blockquote class="text">
8373    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8374    </p>
8375    </blockquote><p>
8376                        
8377    </p>
8378    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8379                        &lt;name&gt; is the new name for that instrument.
8380    </p>
8381    <p>Possible Answers:
8382    </p>
8383    <p>
8384                            </p>
8385    <blockquote class="text">
8386    <p>"OK" -
8387                                    </p>
8388    <blockquote class="text">
8389    <p>on success
8390    </p>
8391    </blockquote>
8392                                
8393    
8394    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8395                                    </p>
8396    <blockquote class="text">
8397    <p>in case the given instrument does not exists,
8398                                        or if an instrument with name equal to the new
8399                                        name already exists.
8400    </p>
8401    </blockquote>
8402                                
8403    
8404    </blockquote><p>
8405                        
8406    </p>
8407    <p>Example:
8408    </p>
8409    <p>
8410                            </p>
8411    <blockquote class="text">
8412    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8413    </p>
8414    <p>S: "OK"
8415    </p>
8416    </blockquote><p>
8417                        
8418    </p>
8419    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8420    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8421    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8422    Moving an instrument</h3>
8423    
8424    <p>The front-end can move a specific instrument to another directory by
8425                        sending the following command:
8426    </p>
8427    <p>
8428                            </p>
8429    <blockquote class="text">
8430    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8431    </p>
8432    </blockquote><p>
8433                        
8434    </p>
8435    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8436                        to move and &lt;dst&gt; is the directory where the instrument will
8437                        be moved to.
8438    </p>
8439    <p>Possible Answers:
8440    </p>
8441    <p>
8442                            </p>
8443    <blockquote class="text">
8444    <p>"OK" -
8445                                    </p>
8446    <blockquote class="text">
8447    <p>on success
8448    </p>
8449    </blockquote>
8450                                
8451    
8452    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8453                                    </p>
8454    <blockquote class="text">
8455    <p>in case the given instrument does not exists,
8456                                        or if an instrument with name equal to the name of the
8457                                        specified instrument already exists in the destination
8458                                        directory.
8459    </p>
8460    </blockquote>
8461                                
8462    
8463    </blockquote><p>
8464                        
8465    </p>
8466    <p>Example:
8467    </p>
8468    <p>
8469                            </p>
8470    <blockquote class="text">
8471    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8472    </p>
8473    <p>S: "OK"
8474    </p>
8475    </blockquote><p>
8476                        
8477    </p>
8478    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8479    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8480    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8481    Copying instruments</h3>
8482    
8483    <p>The front-end can copy a specific instrument to another directory by
8484                        sending the following command:
8485    </p>
8486    <p>
8487                            </p>
8488    <blockquote class="text">
8489    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8490    </p>
8491    </blockquote><p>
8492                        
8493    </p>
8494    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8495                        to copy and &lt;dst&gt; is the directory where the instrument will
8496                        be copied to.
8497    </p>
8498    <p>Possible Answers:
8499    </p>
8500    <p>
8501                            </p>
8502    <blockquote class="text">
8503    <p>"OK" -
8504                                    </p>
8505    <blockquote class="text">
8506    <p>on success
8507    </p>
8508    </blockquote>
8509                                
8510    
8511    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8512                                    </p>
8513    <blockquote class="text">
8514    <p>in case the given instrument does not exists,
8515                                        or if an instrument with name equal to the name of the
8516                                        specified instrument already exists in the destination
8517                                        directory.
8518    </p>
8519    </blockquote>
8520                                
8521    
8522    </blockquote><p>
8523                        
8524    </p>
8525    <p>Example:
8526    </p>
8527    <p>
8528                            </p>
8529    <blockquote class="text">
8530    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8531    </p>
8532    <p>S: "OK"
8533    </p>
8534    </blockquote><p>
8535                        
8536    </p>
8537    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8538    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8539    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8540    Changing the description of instrument</h3>
8541    
8542    <p>The front-end can alter the description of a specific
8543                        instrument by sending the following command:
8544    </p>
8545    <p>
8546                            </p>
8547    <blockquote class="text">
8548    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8549    </p>
8550    </blockquote><p>
8551                        
8552    </p>
8553    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8554                        &lt;desc&gt; is the new description for the instrument.
8555    </p>
8556    <p>Possible Answers:
8557    </p>
8558    <p>
8559                            </p>
8560    <blockquote class="text">
8561    <p>"OK" -
8562                                    </p>
8563    <blockquote class="text">
8564    <p>on success
8565    </p>
8566    </blockquote>
8567                                
8568    
8569    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8570                                    </p>
8571    <blockquote class="text">
8572    <p>in case the given instrument does not exists.
8573    </p>
8574    </blockquote>
8575                                
8576    
8577    </blockquote><p>
8578                        
8579    </p>
8580    <p>Example:
8581    </p>
8582    <p>
8583                            </p>
8584    <blockquote class="text">
8585    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8586    </p>
8587    <p>S: "OK"
8588    </p>
8589    </blockquote><p>
8590                        
8591    </p>
8592    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8593    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8594    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8595    Finding instruments</h3>
8596    
8597    <p>The front-end can search for instruments
8598                        in specific directory by sending the following command:
8599    </p>
8600    <p>
8601                            </p>
8602    <blockquote class="text">
8603    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8604    </p>
8605    </blockquote><p>
8606                        
8607    </p>
8608    <p>Where &lt;dir&gt; should be replaced by the absolute path
8609                        name of the directory to search in. If NON_RECURSIVE is specified, the
8610                        directories located in subdirectories of the specified directory will not
8611                        be searched. &lt;criteria-list&gt; is a list of search criterias
8612                        in form of "key1=val1 key2=val2 ...". The following criterias are
8613                        allowed:
8614    </p>
8615    <p>
8616                          
8617    <p>NAME='&lt;search-string&gt;'
8618                              </p>
8619    <blockquote class="text">
8620    <p>Restricts the search to instruments, which names
8621                                  satisfy the supplied search string.
8622    </p>
8623    </blockquote><p>
8624                          
8625    </p>
8626    
8627                          
8628    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8629                              </p>
8630    <blockquote class="text">
8631    <p>Restricts the search to instruments, which
8632                                  size is in the specified range. If &lt;min&gt; is omitted,
8633                                  the search results are restricted to instruments with size less then
8634                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8635                                  search is restricted to instruments with size greater then
8636                                  or equal to &lt;min&gt;.
8637    </p>
8638    </blockquote><p>
8639                          
8640    </p>
8641    
8642                          
8643    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8644                              </p>
8645    <blockquote class="text">
8646    <p>Restricts the search to instruments, which creation
8647                                  date satisfies the specified period, where &lt;date-after&gt;
8648                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8649                                  If &lt;date-after&gt; is omitted the search is restricted to
8650                                  instruments created before &lt;date-before&gt;. If
8651                                  &lt;date-before&gt; is omitted, the search is restricted
8652                                  to instruments created after &lt;date-after&gt;.
8653    </p>
8654    </blockquote><p>
8655                          
8656    </p>
8657    
8658                          
8659    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8660                              </p>
8661    <blockquote class="text">
8662    <p>Restricts the search to instruments, which
8663                                  date of last modification satisfies the specified period, where
8664                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8665                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8666                                  instruments, which are last modified before &lt;date-before&gt;. If
8667                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8668                                  which are last modified after &lt;date-after&gt;.
8669    </p>
8670    </blockquote><p>
8671                          
8672    </p>
8673    
8674                          
8675    <p>DESCRIPTION='&lt;search-string&gt;'
8676                              </p>
8677    <blockquote class="text">
8678    <p>Restricts the search to instruments with description
8679                                  that satisfies the supplied search string.
8680    </p>
8681    </blockquote><p>
8682                          
8683    </p>
8684    
8685                          
8686    <p>PRODUCT='&lt;search-string&gt;'
8687                              </p>
8688    <blockquote class="text">
8689    <p>Restricts the search to instruments with product info
8690                                  that satisfies the supplied search string.
8691    </p>
8692    </blockquote><p>
8693                          
8694    </p>
8695    
8696                          
8697    <p>ARTISTS='&lt;search-string&gt;'
8698                              </p>
8699    <blockquote class="text">
8700    <p>Restricts the search to instruments with artists info
8701                                  that satisfies the supplied search string.
8702    </p>
8703    </blockquote><p>
8704                          
8705    </p>
8706    
8707                          
8708    <p>KEYWORDS='&lt;search-string&gt;'
8709                              </p>
8710    <blockquote class="text">
8711    <p>Restricts the search to instruments with keyword list
8712                                  that satisfies the supplied search string.
8713    </p>
8714    </blockquote><p>
8715                          
8716    </p>
8717    
8718                          
8719    <p>IS_DRUM=true | false
8720                              </p>
8721    <blockquote class="text">
8722    <p>Either true or false. Restricts the search to
8723                                  drum kits or chromatic instruments.
8724    </p>
8725    </blockquote><p>
8726                          
8727    </p>
8728    
8729                          
8730    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8731                              </p>
8732    <blockquote class="text">
8733    <p>Restricts the search to instruments of the supplied format families,
8734                                  where &lt;format-list&gt; is a comma separated list of format families.
8735    </p>
8736    </blockquote><p>
8737                          
8738    </p>
8739                        
8740    
8741    <p>Where &lt;search-string&gt; is either a regular expression, or a
8742                        word list separated with spaces for OR search and with '+' for AND search.
8743    </p>
8744    <p>Possible Answers:
8745    </p>
8746    <p>
8747                            </p>
8748    <blockquote class="text">
8749    <p>A comma separated list with the absolute path names (encapsulated into
8750                                apostrophes) of all instruments in the specified directory that satisfy
8751                                the supplied search criterias.
8752    </p>
8753    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8754                                    </p>
8755    <blockquote class="text">
8756    <p>if the given directory does not exist.
8757    </p>
8758    </blockquote>
8759                                
8760    
8761    </blockquote><p>
8762                        
8763    </p>
8764    <p>Example:
8765    </p>
8766    <p>
8767                            </p>
8768    <blockquote class="text">
8769    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8770    </p>
8771    <p>S: "'/Piano Collection/Bosendorfer 290'"
8772    </p>
8773    </blockquote><p>
8774                        
8775    </p>
8776    <p>
8777                            </p>
8778    <blockquote class="text">
8779    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8780    </p>
8781    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8782    </p>
8783    </blockquote><p>
8784                        
8785    </p>
8786  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
8787  <table 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>
8788  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 6472  Command Syntax</h3> Line 8883  Command Syntax</h3>
8883  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
8884                                    
8885  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
8886  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
8887                                    
8888  </p>  </p>
8889  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
8890                                    
8891  </p>  </p>
8892    <p>/ FIND SP find_instruction
8893                    
8894    </p>
8895    <p>/ MOVE SP move_instruction
8896                    
8897    </p>
8898    <p>/ COPY SP copy_instruction
8899                    
8900    </p>
8901  <p>/ RESET  <p>/ RESET
8902                                    
8903  </p>  </p>
# Line 6496  Command Syntax</h3> Line 8913  Command Syntax</h3>
8913  <p>CHANNEL  <p>CHANNEL
8914                                    
8915  </p>  </p>
8916    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
8917                    
8918    </p>
8919    <p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname
8920                    
8921    </p>
8922    <p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname
8923                    
8924    </p>
8925    <p>/ DB_INSTRUMENTS SP pathname SP pathname
8926                    
8927    </p>
8928    <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index
8929                    
8930    </p>
8931  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
8932                                    
8933  </p>  </p>
# Line 6508  Command Syntax</h3> Line 8940  Command Syntax</h3>
8940  <p>subscribe_event =  <p>subscribe_event =
8941          </p>          </p>
8942  <blockquote class="text">  <blockquote class="text">
8943  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
8944                    
8945    </p>
8946    <p>/ AUDIO_OUTPUT_DEVICE_INFO
8947                    
8948    </p>
8949    <p>/ MIDI_INPUT_DEVICE_COUNT
8950                    
8951    </p>
8952    <p>/ MIDI_INPUT_DEVICE_INFO
8953                    
8954    </p>
8955    <p>/ CHANNEL_COUNT
8956                                    
8957  </p>  </p>
8958  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 6523  Command Syntax</h3> Line 8967  Command Syntax</h3>
8967  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
8968                                    
8969  </p>  </p>
8970    <p>/ FX_SEND_COUNT
8971                    
8972    </p>
8973    <p>/ FX_SEND_INFO
8974                    
8975    </p>
8976    <p>/ MIDI_INSTRUMENT_MAP_COUNT
8977                    
8978    </p>
8979    <p>/ MIDI_INSTRUMENT_MAP_INFO
8980                    
8981    </p>
8982    <p>/ MIDI_INSTRUMENT_COUNT
8983                    
8984    </p>
8985    <p>/ MIDI_INSTRUMENT_INFO
8986                    
8987    </p>
8988    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
8989                    
8990    </p>
8991    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
8992                    
8993    </p>
8994    <p>/ DB_INSTRUMENT_COUNT
8995                    
8996    </p>
8997    <p>/ DB_INSTRUMENT_INFO
8998                    
8999    </p>
9000  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9001                                    
9002  </p>  </p>
9003  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9004                                    
9005  </p>  </p>
9006    <p>/ GLOBAL_INFO
9007                    
9008    </p>
9009  </blockquote><p>  </blockquote><p>
9010    
9011  </p>  </p>
9012  <p>unsubscribe_event =  <p>unsubscribe_event =
9013          </p>          </p>
9014  <blockquote class="text">  <blockquote class="text">
9015  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9016                    
9017    </p>
9018    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9019                    
9020    </p>
9021    <p>/ MIDI_INPUT_DEVICE_COUNT
9022                    
9023    </p>
9024    <p>/ MIDI_INPUT_DEVICE_INFO
9025                    
9026    </p>
9027    <p>/ CHANNEL_COUNT
9028                                    
9029  </p>  </p>
9030  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 6550  Command Syntax</h3> Line 9039  Command Syntax</h3>
9039  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9040                                    
9041  </p>  </p>
9042    <p>/ FX_SEND_COUNT
9043                    
9044    </p>
9045    <p>/ FX_SEND_INFO
9046                    
9047    </p>
9048    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9049                    
9050    </p>
9051    <p>/ MIDI_INSTRUMENT_MAP_INFO
9052                    
9053    </p>
9054    <p>/ MIDI_INSTRUMENT_COUNT
9055                    
9056    </p>
9057    <p>/ MIDI_INSTRUMENT_INFO
9058                    
9059    </p>
9060    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9061                    
9062    </p>
9063    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9064                    
9065    </p>
9066    <p>/ DB_INSTRUMENT_COUNT
9067                    
9068    </p>
9069    <p>/ DB_INSTRUMENT_INFO
9070                    
9071    </p>
9072  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9073                                    
9074  </p>  </p>
9075  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9076                                    
9077  </p>  </p>
9078    <p>/ GLOBAL_INFO
9079                    
9080    </p>
9081  </blockquote><p>  </blockquote><p>
9082    
9083  </p>  </p>
9084  <p>map_instruction =  <p>map_instruction =
9085          </p>          </p>
9086  <blockquote class="text">  <blockquote class="text">
9087  <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
9088                                    
9089  </p>  </p>
9090  <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
9091                                    
9092  </p>  </p>
9093  <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
9094                                    
9095  </p>  </p>
9096  <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
9097                                    
9098  </p>  </p>
9099  </blockquote><p>  </blockquote><p>
# Line 6598  Command Syntax</h3> Line 9120  Command Syntax</h3>
9120  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
9121                                    
9122  </p>  </p>
9123    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname
9124                    
9125    </p>
9126    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
9127                    
9128    </p>
9129    <p>/ DB_INSTRUMENT SP pathname
9130                    
9131    </p>
9132  </blockquote><p>  </blockquote><p>
9133    
9134  </p>  </p>
# Line 6697  Command Syntax</h3> Line 9228  Command Syntax</h3>
9228  <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map  <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9229                                    
9230  </p>  </p>
9231    <p>/ FX_SENDS SP sampler_channel
9232                    
9233    </p>
9234    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9235                    
9236    </p>
9237    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9238                    
9239    </p>
9240    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9241                    
9242    </p>
9243    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname
9244                    
9245    </p>
9246    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9247                    
9248    </p>
9249    <p>/ DB_INSTRUMENTS SP pathname
9250                    
9251    </p>
9252    <p>/ DB_INSTRUMENT SP INFO SP pathname
9253                    
9254    </p>
9255    <p>/ VOLUME
9256                    
9257    </p>
9258  </blockquote><p>  </blockquote><p>
9259    
9260  </p>  </p>
# Line 6721  Command Syntax</h3> Line 9279  Command Syntax</h3>
9279  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9280                                    
9281  </p>  </p>
9282    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
9283                    
9284    </p>
9285    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
9286                    
9287    </p>
9288    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
9289                    
9290    </p>
9291    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
9292                    
9293    </p>
9294    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname
9295                    
9296    </p>
9297    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval
9298                    
9299    </p>
9300    <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname
9301                    
9302    </p>
9303    <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval
9304                    
9305    </p>
9306  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
9307                                    
9308  </p>  </p>
9309    <p>/ VOLUME SP volume_value
9310                    
9311    </p>
9312  </blockquote><p>  </blockquote><p>
9313    
9314  </p>  </p>
# Line 6742  Command Syntax</h3> Line 9327  Command Syntax</h3>
9327  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
9328                                    
9329  </p>  </p>
9330    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
9331                    
9332    </p>
9333    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
9334                    
9335    </p>
9336  </blockquote><p>  </blockquote><p>
9337    
9338  </p>  </p>
# Line 6766  Command Syntax</h3> Line 9357  Command Syntax</h3>
9357  </blockquote><p>  </blockquote><p>
9358    
9359  </p>  </p>
9360    <p>find_instruction =
9361            </p>
9362    <blockquote class="text">
9363    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list
9364                    
9365    </p>
9366    <p>/ DB_INSTRUMENTS SP pathname SP query_val_list
9367                    
9368    </p>
9369    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP query_val_list
9370                    
9371    </p>
9372    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list
9373                    
9374    </p>
9375    </blockquote><p>
9376    
9377    </p>
9378    <p>move_instruction =
9379            </p>
9380    <blockquote class="text">
9381    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
9382                    
9383    </p>
9384    <p>/ DB_INSTRUMENT SP pathname SP pathname
9385                    
9386    </p>
9387    </blockquote><p>
9388    
9389    </p>
9390    <p>copy_instruction =
9391            </p>
9392    <blockquote class="text">
9393    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
9394                    
9395    </p>
9396    <p>/ DB_INSTRUMENT SP pathname SP pathname
9397                    
9398    </p>
9399    </blockquote><p>
9400    
9401    </p>
9402  <p>destroy_instruction =  <p>destroy_instruction =
9403          </p>          </p>
9404  <blockquote class="text">  <blockquote class="text">
# Line 6775  Command Syntax</h3> Line 9408  Command Syntax</h3>
9408  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
9409                                    
9410  </p>  </p>
9411    <p>/ FX_SEND SP sampler_channel SP fx_send_id
9412                    
9413    </p>
9414  </blockquote><p>  </blockquote><p>
9415    
9416  </p>  </p>
# Line 6838  Command Syntax</h3> Line 9474  Command Syntax</h3>
9474  </blockquote><p>  </blockquote><p>
9475    
9476  </p>  </p>
9477    <p>modal_arg =
9478            </p>
9479    <blockquote class="text">
9480    <p>/* epsilon (empty argument) */
9481                    
9482    </p>
9483    <p>/ NON_MODAL SP
9484                    
9485    </p>
9486    </blockquote><p>
9487    
9488    </p>
9489  <p>key_val_list =  <p>key_val_list =
9490          </p>          </p>
9491  <blockquote class="text">  <blockquote class="text">
# Line 6892  Command Syntax</h3> Line 9540  Command Syntax</h3>
9540  <p>/ MIDI_INSTRUMENT_MAPS  <p>/ MIDI_INSTRUMENT_MAPS
9541                                    
9542  </p>  </p>
9543    <p>/ FX_SENDS SP sampler_channel
9544                    
9545    </p>
9546    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9547                    
9548    </p>
9549    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9550                    
9551    </p>
9552    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9553                    
9554    </p>
9555    <p>/ DB_INSTRUMENTS SP pathname
9556                    
9557    </p>
9558  </blockquote><p>  </blockquote><p>
9559    
9560  </p>  </p>
# Line 7015  Command Syntax</h3> Line 9678  Command Syntax</h3>
9678  </blockquote><p>  </blockquote><p>
9679    
9680  </p>  </p>
9681    <p>midi_ctrl =
9682            </p>
9683    <blockquote class="text">
9684    <p>number
9685                    
9686    </p>
9687    </blockquote><p>
9688    
9689    </p>
9690  <p>volume_value =  <p>volume_value =
9691          </p>          </p>
9692  <blockquote class="text">  <blockquote class="text">
# Line 7045  Command Syntax</h3> Line 9717  Command Syntax</h3>
9717  </blockquote><p>  </blockquote><p>
9718    
9719  </p>  </p>
9720    <p>fx_send_id =
9721            </p>
9722    <blockquote class="text">
9723    <p>number
9724                    
9725    </p>
9726    </blockquote><p>
9727    
9728    </p>
9729  <p>engine_name =  <p>engine_name =
9730          </p>          </p>
9731  <blockquote class="text">  <blockquote class="text">
# Line 7054  Command Syntax</h3> Line 9735  Command Syntax</h3>
9735  </blockquote><p>  </blockquote><p>
9736    
9737  </p>  </p>
9738    <p>pathname =
9739            </p>
9740    <blockquote class="text">
9741    <p>stringval
9742                    
9743    </p>
9744    </blockquote><p>
9745    
9746    </p>
9747    <p>dirname =
9748            </p>
9749    <blockquote class="text">
9750    <p>stringval
9751                    
9752    </p>
9753    </blockquote><p>
9754    
9755    </p>
9756  <p>filename =  <p>filename =
9757          </p>          </p>
9758  <blockquote class="text">  <blockquote class="text">
# Line 7081  Command Syntax</h3> Line 9780  Command Syntax</h3>
9780  </blockquote><p>  </blockquote><p>
9781    
9782  </p>  </p>
9783    <p>fx_send_name =
9784            </p>
9785    <blockquote class="text">
9786    <p>stringval
9787                    
9788    </p>
9789    </blockquote><p>
9790    
9791    </p>
9792  <p>param_val_list =  <p>param_val_list =
9793          </p>          </p>
9794  <blockquote class="text">  <blockquote class="text">
# Line 7111  Command Syntax</h3> Line 9819  Command Syntax</h3>
9819  </blockquote><p>  </blockquote><p>
9820    
9821  </p>  </p>
9822    <p>query_val_list =
9823            </p>
9824    <blockquote class="text">
9825    <p>string '=' query_val
9826                    
9827    </p>
9828    <p>/ query_val_list SP string '=' query_val
9829                    
9830    </p>
9831    </blockquote><p>
9832    
9833    </p>
9834    <p>query_val =
9835            </p>
9836    <blockquote class="text">
9837    <p>string
9838                    
9839    </p>
9840    <p>/ stringval
9841                    
9842    </p>
9843    </blockquote><p>
9844    
9845    </p>
9846  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
9847  <table 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>
9848  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 7118  Events</h3> Line 9850  Events</h3>
9850    
9851  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
9852  </p>  </p>
9853  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
9854  <table 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>
9855  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
9856    Number of audio output devices changed</h3>
9857    
9858    <p>Client may want to be notified when the total number of audio output devices on the
9859                    back-end changes by issuing the following command:
9860    </p>
9861    <p>
9862                        </p>
9863    <blockquote class="text">
9864    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
9865    </p>
9866    </blockquote><p>
9867                    
9868    </p>
9869    <p>Server will start sending the following notification messages:
9870    </p>
9871    <p>
9872                        </p>
9873    <blockquote class="text">
9874    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
9875    </p>
9876    </blockquote><p>
9877                    
9878    </p>
9879    <p>where &lt;devices&gt; will be replaced by the new number
9880                    of audio output devices.
9881    </p>
9882    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
9883    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9884    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
9885    Audio output device's settings changed</h3>
9886    
9887    <p>Client may want to be notified when changes were made to audio output devices on the
9888                    back-end by issuing the following command:
9889    </p>
9890    <p>
9891                        </p>
9892    <blockquote class="text">
9893    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
9894    </p>
9895    </blockquote><p>
9896                    
9897    </p>
9898    <p>Server will start sending the following notification messages:
9899    </p>
9900    <p>
9901                        </p>
9902    <blockquote class="text">
9903    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
9904    </p>
9905    </blockquote><p>
9906                    
9907    </p>
9908    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
9909                    which settings has been changed. The front-end will have to send
9910                    the respective command to actually get the audio output device info. Because these messages
9911                    will be triggered by LSCP commands issued by other clients rather than real
9912                    time events happening on the server, it is believed that an empty notification
9913                    message is sufficient here.
9914    </p>
9915    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
9916    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9917    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
9918    Number of MIDI input devices changed</h3>
9919    
9920    <p>Client may want to be notified when the total number of MIDI input devices on the
9921                    back-end changes by issuing the following command:
9922    </p>
9923    <p>
9924                        </p>
9925    <blockquote class="text">
9926    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
9927    </p>
9928    </blockquote><p>
9929                    
9930    </p>
9931    <p>Server will start sending the following notification messages:
9932    </p>
9933    <p>
9934                        </p>
9935    <blockquote class="text">
9936    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
9937    </p>
9938    </blockquote><p>
9939                    
9940    </p>
9941    <p>where &lt;devices&gt; will be replaced by the new number
9942                    of MIDI input devices.
9943    </p>
9944    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
9945    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9946    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
9947    MIDI input device's settings changed</h3>
9948    
9949    <p>Client may want to be notified when changes were made to MIDI input devices on the
9950                    back-end by issuing the following command:
9951    </p>
9952    <p>
9953                        </p>
9954    <blockquote class="text">
9955    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
9956    </p>
9957    </blockquote><p>
9958                    
9959    </p>
9960    <p>Server will start sending the following notification messages:
9961    </p>
9962    <p>
9963                        </p>
9964    <blockquote class="text">
9965    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
9966    </p>
9967    </blockquote><p>
9968                    
9969    </p>
9970    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
9971                    which settings has been changed. The front-end will have to send
9972                    the respective command to actually get the MIDI input device info. Because these messages
9973                    will be triggered by LSCP commands issued by other clients rather than real
9974                    time events happening on the server, it is believed that an empty notification
9975                    message is sufficient here.
9976    </p>
9977    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
9978    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9979    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
9980  Number of sampler channels changed</h3>  Number of sampler channels changed</h3>
9981    
9982  <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 10005  Number of sampler channels changed</h3>
10005  </p>  </p>
10006  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10007  <table 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>
10008  <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
10009  Number of active voices changed</h3>  Number of active voices changed</h3>
10010    
10011  <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 10024  Number of active voices changed</h3>
10024  <p>  <p>
10025                      </p>                      </p>
10026  <blockquote class="text">  <blockquote class="text">
10027  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
10028  </p>  </p>
10029  </blockquote><p>  </blockquote><p>
10030                                    
# Line 7179  Number of active voices changed</h3> Line 10035  Number of active voices changed</h3>
10035  </p>  </p>
10036  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
10037  <table 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>
10038  <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
10039  Number of active disk streams changed</h3>  Number of active disk streams changed</h3>
10040    
10041  <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 10065  Number of active disk streams changed</h
10065  </p>  </p>
10066  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
10067  <table 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>
10068  <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
10069  Disk stream buffer fill state changed</h3>  Disk stream buffer fill state changed</h3>
10070    
10071  <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 10094  Disk stream buffer fill state changed</h
10094                  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>
10095                  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.
10096  </p>  </p>
10097  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
10098  <table 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>
10099  <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
10100  Channel information changed</h3>  Channel information changed</h3>
10101    
10102  <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 10127  Channel information changed</h3>
10127                  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
10128                  message is sufficient here.                  message is sufficient here.
10129  </p>  </p>
10130    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
10131    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10132    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10133    Number of effect sends changed</h3>
10134    
10135    <p>Client may want to be notified when the number of effect sends on
10136                    a particular sampler channel is changed by issuing the following command:
10137    </p>
10138    <p>
10139                        </p>
10140    <blockquote class="text">
10141    <p>SUBSCRIBE FX_SEND_COUNT
10142    </p>
10143    </blockquote><p>
10144                    
10145    </p>
10146    <p>Server will start sending the following notification messages:
10147    </p>
10148    <p>
10149                        </p>
10150    <blockquote class="text">
10151    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
10152    </p>
10153    </blockquote><p>
10154                    
10155    </p>
10156    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10157                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
10158                    be replaced by the new number of effect sends on that channel.
10159    </p>
10160    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
10161    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10162    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
10163    Effect send information changed</h3>
10164    
10165    <p>Client may want to be notified when changes were made to effect sends on a
10166                    a particular sampler channel by issuing the following command:
10167    </p>
10168    <p>
10169                        </p>
10170    <blockquote class="text">
10171    <p>SUBSCRIBE FX_SEND_INFO
10172    </p>
10173    </blockquote><p>
10174                    
10175    </p>
10176    <p>Server will start sending the following notification messages:
10177    </p>
10178    <p>
10179                        </p>
10180    <blockquote class="text">
10181    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
10182    </p>
10183    </blockquote><p>
10184                    
10185    </p>
10186    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10187                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
10188                    be replaced by the numerical ID of the changed effect send.
10189    </p>
10190  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
10191  <table 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>
10192  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
10193  Total number of active voices changed</h3>  Total number of active voices changed</h3>
10194    
10195  <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 10208  Total number of active voices changed</h
10208  <p>  <p>
10209                      </p>                      </p>
10210  <blockquote class="text">  <blockquote class="text">
10211  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
10212  </p>  </p>
10213  </blockquote><p>  </blockquote><p>
10214                                    
# Line 7300  Total number of active voices changed</h Line 10216  Total number of active voices changed</h
10216  <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
10217                  all currently active voices.                  all currently active voices.
10218  </p>  </p>
10219    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
10220    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10221    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
10222    Number of MIDI instrument maps changed</h3>
10223    
10224    <p>Client may want to be notified when the number of MIDI instrument maps on the
10225                    back-end changes by issuing the following command:
10226    </p>
10227    <p>
10228                        </p>
10229    <blockquote class="text">
10230    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
10231    </p>
10232    </blockquote><p>
10233                    
10234    </p>
10235    <p>Server will start sending the following notification messages:
10236    </p>
10237    <p>
10238                        </p>
10239    <blockquote class="text">
10240    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
10241    </p>
10242    </blockquote><p>
10243                    
10244    </p>
10245    <p>where &lt;maps&gt; will be replaced by the new number
10246                    of MIDI instrument maps.
10247    </p>
10248    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
10249    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10250    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
10251    MIDI instrument map information changed</h3>
10252    
10253    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
10254                    back-end by issuing the following command:
10255    </p>
10256    <p>
10257                        </p>
10258    <blockquote class="text">
10259    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
10260    </p>
10261    </blockquote><p>
10262                    
10263    </p>
10264    <p>Server will start sending the following notification messages:
10265    </p>
10266    <p>
10267                        </p>
10268    <blockquote class="text">
10269    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
10270    </p>
10271    </blockquote><p>
10272                    
10273    </p>
10274    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10275                    for which information changes occurred. The front-end will have to send
10276                    the respective command to actually get the MIDI instrument map info. Because these messages
10277                    will be triggered by LSCP commands issued by other clients rather than real
10278                    time events happening on the server, it is believed that an empty notification
10279                    message is sufficient here.
10280    </p>
10281    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
10282    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10283    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
10284    Number of MIDI instruments changed</h3>
10285    
10286    <p>Client may want to be notified when the number of MIDI instrument maps on the
10287                    back-end changes by issuing the following command:
10288    </p>
10289    <p>
10290                        </p>
10291    <blockquote class="text">
10292    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
10293    </p>
10294    </blockquote><p>
10295                    
10296    </p>
10297    <p>Server will start sending the following notification messages:
10298    </p>
10299    <p>
10300                        </p>
10301    <blockquote class="text">
10302    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
10303    </p>
10304    </blockquote><p>
10305                    
10306    </p>
10307    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
10308                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
10309                    the new number of MIDI instruments in the specified map.
10310    </p>
10311    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
10312    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10313    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
10314    MIDI instrument information changed</h3>
10315    
10316    <p>Client may want to be notified when changes were made to MIDI instruments on the
10317                    back-end by issuing the following command:
10318    </p>
10319    <p>
10320                        </p>
10321    <blockquote class="text">
10322    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
10323    </p>
10324    </blockquote><p>
10325                    
10326    </p>
10327    <p>Server will start sending the following notification messages:
10328    </p>
10329    <p>
10330                        </p>
10331    <blockquote class="text">
10332    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
10333    </p>
10334    </blockquote><p>
10335                    
10336    </p>
10337    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10338                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
10339                    the location of the changed MIDI instrument in the map. The front-end will have to send
10340                    the respective command to actually get the MIDI instrument info. Because these messages
10341                    will be triggered by LSCP commands issued by other clients rather than real
10342                    time events happening on the server, it is believed that an empty notification
10343                    message is sufficient here.
10344    </p>
10345    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
10346    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10347    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
10348    Global settings changed</h3>
10349    
10350    <p>Client may want to be notified when changes to the global settings
10351                    of the sampler were made by issuing the following command:
10352    </p>
10353    <p>
10354                        </p>
10355    <blockquote class="text">
10356    <p>SUBSCRIBE GLOBAL_INFO
10357    </p>
10358    </blockquote><p>
10359                    
10360    </p>
10361    <p>Server will start sending the following types of notification messages:
10362    </p>
10363    <p>
10364                        </p>
10365    <blockquote class="text">
10366    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
10367                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
10368                            replaced by the optional dotted floating point value, reflecting the
10369                            new global volume parameter.
10370    </p>
10371    </blockquote><p>
10372                    
10373    </p>
10374    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
10375    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10376    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
10377    Number of database instrument directories changed</h3>
10378    
10379    <p>Client may want to be notified when the number of instrument
10380                    directories in a particular directory in the instruments database
10381                    is changed by issuing the following command:
10382    </p>
10383    <p>
10384                        </p>
10385    <blockquote class="text">
10386    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
10387    </p>
10388    </blockquote><p>
10389                    
10390    </p>
10391    <p>Server will start sending the following notification messages:
10392    </p>
10393    <p>
10394                        </p>
10395    <blockquote class="text">
10396    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
10397    </p>
10398    </blockquote><p>
10399                    
10400    </p>
10401    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10402                    name of the directory in the instruments database,
10403                    in which the number of directories is changed.
10404    </p>
10405    <p>Note that when a non-empty directory is removed, this event
10406                    is not sent for the subdirectories in that directory.
10407    </p>
10408    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
10409    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10410    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
10411    Database instrument directory information changed</h3>
10412    
10413    <p>Client may want to be notified when changes were made to directories
10414                    in the instruments database by issuing the following command:
10415    </p>
10416    <p>
10417                        </p>
10418    <blockquote class="text">
10419    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
10420    </p>
10421    </blockquote><p>
10422                    
10423    </p>
10424    <p>Server will start sending the following notification messages:
10425    </p>
10426    <p>
10427                        </p>
10428    <blockquote class="text">
10429    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
10430    </p>
10431    </blockquote><p>
10432                    
10433    </p>
10434    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
10435                    of the directory, for which information changes occurred. The front-end will have to send
10436                    the respective command to actually get the updated directory info. Because these messages
10437                    will be triggered by LSCP commands issued by other clients rather than real
10438                    time events happening on the server, it is believed that an empty notification
10439                    message is sufficient here.
10440    </p>
10441    <p>
10442                        </p>
10443    <blockquote class="text">
10444    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
10445    </p>
10446    </blockquote><p>
10447                    
10448    </p>
10449    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
10450                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10451                    the new name of the directory, encapsulated into apostrophes.
10452    </p>
10453    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
10454    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10455    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
10456    Number of database instruments changed</h3>
10457    
10458    <p>Client may want to be notified when the number of instruments
10459                    in a particular directory in the instruments database
10460                    is changed by issuing the following command:
10461    </p>
10462    <p>
10463                        </p>
10464    <blockquote class="text">
10465    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
10466    </p>
10467    </blockquote><p>
10468                    
10469    </p>
10470    <p>Server will start sending the following notification messages:
10471    </p>
10472    <p>
10473                        </p>
10474    <blockquote class="text">
10475    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
10476    </p>
10477    </blockquote><p>
10478                    
10479    </p>
10480    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10481                    name of the directory in the instruments database,
10482                    in which the number of instruments is changed.
10483    </p>
10484    <p>Note that when a non-empty directory is removed, this event
10485                    is not sent for the instruments in that directory.
10486    </p>
10487    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
10488    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10489    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
10490    Database instrument information changed</h3>
10491    
10492    <p>Client may want to be notified when changes were made to instruments
10493                    in the instruments database by issuing the following command:
10494    </p>
10495    <p>
10496                        </p>
10497    <blockquote class="text">
10498    <p>SUBSCRIBE DB_INSTRUMENT_INFO
10499    </p>
10500    </blockquote><p>
10501                    
10502    </p>
10503    <p>Server will start sending the following notification messages:
10504    </p>
10505    <p>
10506                        </p>
10507    <blockquote class="text">
10508    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
10509    </p>
10510    </blockquote><p>
10511                    
10512    </p>
10513    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
10514                    of the instrument, which settings are changed. The front-end will have to send
10515                    the respective command to actually get the updated directory info. Because these messages
10516                    will be triggered by LSCP commands issued by other clients rather than real
10517                    time events happening on the server, it is believed that an empty notification
10518                    message is sufficient here.
10519    </p>
10520    <p>
10521                        </p>
10522    <blockquote class="text">
10523    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
10524    </p>
10525    </blockquote><p>
10526                    
10527    </p>
10528    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
10529                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10530                    the new name of the instrument, encapsulated into apostrophes.
10531    </p>
10532  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
10533  <table 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>
10534  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
10535  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
10536    
10537  <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 10626  Schoenebeck</td></tr>
10626  <table 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>
10627  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
10628  <p class='copyright'>  <p class='copyright'>
10629  Copyright &copy; The Internet Society (2006).</p>  Copyright &copy; The IETF Trust (2007).</p>
10630  <p class='copyright'>  <p class='copyright'>
10631  This document is subject to the rights,  This document is subject to the rights,
10632  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 10635  the authors retain all their rights.</p>
10635  <p class='copyright'>  <p class='copyright'>
10636  This document and the information contained herein are provided  This document and the information contained herein are provided
10637  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
10638  THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY),  THE ORGANIZATION HE/SHE REPRESENTS
10639  THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
10640  ALL WARRANTIES,  AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
10641  EXPRESS OR IMPLIED,  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
10642  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
10643  INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
10644  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  PURPOSE.</p>
10645  <h3>Intellectual Property</h3>  <h3>Intellectual Property</h3>
10646  <p class='copyright'>  <p class='copyright'>
10647  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.1189

  ViewVC Help
Powered by ViewVC