/[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 1002 by schoenebeck, Wed Dec 27 16:23:46 2006 UTC revision 1685 by schoenebeck, Thu Feb 14 14:41:08 2008 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.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 30, 2007</td><td class="header">December 27, 2006</td></tr>  <tr><td class="header">Expires: August 17, 2008</td><td class="header">February 14, 2008</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.4</h1>
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
# 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 30, 2007.</p>  This Internet-Draft will expire on August 17, 2008.</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 (2008).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
# Line 328  Getting amount of effect sends on a samp Line 328  Getting amount of effect sends on a samp
328  Listing all effect sends on a sampler channel<br />  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;  &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 />  Getting effect send information<br />
331  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.30.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
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 />  Altering effect send's audio routing<br />
335  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.31.</a>&nbsp;  &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 348  Global commands<br /> Line 354  Global commands<br />
354  Current number of active voices<br />  Current number of active voices<br />
355  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
356  Maximum amount of active voices<br />  Maximum amount of active voices<br />
357  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.3.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_STREAM_COUNT">6.6.3.</a>&nbsp;
358    Current number of active disk streams<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
360  Reset sampler<br />  Reset sampler<br />
361  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.5.</a>&nbsp;
362  General sampler informations<br />  General sampler informations<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
364    Getting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
366    Setting global volume attenuation<br />
367  &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;
368  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
369  &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;
370  Create a new MIDI instrument map<br />  Create a new MIDI instrument map<br />
371  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
372  Delete one particular or all MIDI instrument maps<br />  Delete one particular or all MIDI instrument maps<br />
# Line 378  Remove an entry from the MIDI instrument Line 390  Remove an entry from the MIDI instrument
390  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
391  &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;
392  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
394    Managing Instruments Database<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
396    Creating a new instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
398    Deleting an instrument directory<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
400    Getting amount of instrument directories<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
402    Listing all directories in specific directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
404    Getting instrument directory information<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
406    Renaming an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
408    Moving an instrument directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
410    Copying instrument directories<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
412    Changing the description of directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
414    Finding directories<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
416    Adding instruments to the instruments database<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
418    Removing an instrument<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
420    Getting amount of instruments<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
422    Listing all instruments in specific directory<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
424    Getting instrument information<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
426    Renaming an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
428    Moving an instrument<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
430    Copying instruments<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
432    Changing the description of instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
434    Finding instruments<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
436    Getting job status information<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
438    Formatting the instruments database<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
440    Editing Instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
442    Opening an appropriate instrument editor application<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
444    Managing Files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
446    Retrieving amount of instruments of a file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
448    Retrieving all instruments of a file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
450    Retrieving informations about one instrument in a file<br />
451  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
452  Command Syntax<br />  Command Syntax<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
454    Character Set and Escape Sequences<br />
455  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
456  Events<br />  Events<br />
457  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
# Line 392  Number of MIDI input devices changed<br Line 464  Number of MIDI input devices changed<br
464  MIDI input device's settings changed<br />  MIDI input device's settings changed<br />
465  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
466  Number of sampler channels changed<br />  Number of sampler channels changed<br />
467  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_MIDI">8.6.</a>&nbsp;
468    MIDI data on a sampler channel arrived<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.7.</a>&nbsp;
470  Number of active voices changed<br />  Number of active voices changed<br />
471  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.8.</a>&nbsp;
472  Number of active disk streams changed<br />  Number of active disk streams changed<br />
473  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.9.</a>&nbsp;
474  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
475  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.10.</a>&nbsp;
476  Channel information changed<br />  Channel information changed<br />
477  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.10.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.11.</a>&nbsp;
478    Number of effect sends changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.12.</a>&nbsp;
480    Effect send information changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.13.</a>&nbsp;
482  Total number of active voices changed<br />  Total number of active voices changed<br />
483  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.11.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.14.</a>&nbsp;
484    Total number of active disk streams changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.15.</a>&nbsp;
486  Number of MIDI instrument maps changed<br />  Number of MIDI instrument maps changed<br />
487  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.16.</a>&nbsp;
488  MIDI instrument map information changed<br />  MIDI instrument map information changed<br />
489  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.13.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.17.</a>&nbsp;
490  Number of MIDI instruments changed<br />  Number of MIDI instruments changed<br />
491  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.14.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.18.</a>&nbsp;
492  MIDI instrument information changed<br />  MIDI instrument information changed<br />
493  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.15.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.19.</a>&nbsp;
494    Global settings changed<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.20.</a>&nbsp;
496    Number of database instrument directories changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.21.</a>&nbsp;
498    Database instrument directory information changed<br />
499    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.22.</a>&nbsp;
500    Number of database instruments changed<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.23.</a>&nbsp;
502    Database instrument information changed<br />
503    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.24.</a>&nbsp;
504    Database job status information changed<br />
505    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.25.</a>&nbsp;
506  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
507  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
508  Security Considerations<br />  Security Considerations<br />
# Line 442  Requirements notation</h3> Line 534  Requirements notation</h3>
534              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
535              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
536              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
537              character as defined in the ASCII standard), thus the following              character as defined in the ASCII standard <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>),
538              example:              thus the following example:
539  </p>  </p>
540  <p>  <p>
541                  </p>                  </p>
# Line 3229  Changing settings of MIDI input ports</h Line 3321  Changing settings of MIDI input ports</h
3321                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3322                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3323                      the parameter to change and &lt;value&gt; by the new value for this                      the parameter to change and &lt;value&gt; by the new value for this
3324                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3325                        for specifying no value for parameters allowing a list of values.
3326  </p>  </p>
3327  <p>Possible Answers:  <p>Possible Answers:
3328  </p>  </p>
# Line 3270  Changing settings of MIDI input ports</h Line 3363  Changing settings of MIDI input ports</h
3363  <p>  <p>
3364                          </p>                          </p>
3365  <blockquote class="text">  <blockquote class="text">
3366    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3367    </p>
3368    <p>S: "OK"
3369    </p>
3370    </blockquote><p>
3371                        
3372    </p>
3373  <p>  <p>
3374                            </p>
3375    <blockquote class="text">
3376    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3377    </p>
3378    <p>S: "OK"
3379  </p>  </p>
3380  </blockquote><p>  </blockquote><p>
3381                                            
# Line 3305  Loading an instrument</h3> Line 3410  Loading an instrument</h3>
3410                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3411                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3412  </p>  </p>
3413    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3414                        escape characters for special characters (see chapter
3415                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"
3416                        for details) and accordingly backslash characters in the filename
3417                        MUST now be escaped as well!
3418    </p>
3419  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3420                      is that the regular command returns OK only after the instrument has been                      is that the regular command returns OK only after the instrument has been
3421                      fully loaded and the channel is ready to be used while NON_MODAL version                      fully loaded and the channel is ready to be used while NON_MODAL version
# Line 3352  Loading an instrument</h3> Line 3463  Loading an instrument</h3>
3463  </blockquote><p>  </blockquote><p>
3464                                            
3465  </p>  </p>
3466  <p>Example:  <p>Example (Unix):
3467  </p>  </p>
3468  <p>  <p>
3469                          </p>                          </p>
3470  <blockquote class="text">  <blockquote class="text">
3471    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3472    </p>
3473    <p>S: OK
3474    </p>
3475    </blockquote><p>
3476                        
3477    </p>
3478    <p>Example (Windows):
3479    </p>
3480  <p>  <p>
3481                            </p>
3482    <blockquote class="text">
3483    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3484    </p>
3485    <p>S: OK
3486  </p>  </p>
3487  </blockquote><p>  </blockquote><p>
3488                                            
# Line 3772  Getting information about an engine</h3> Line 3897  Getting information about an engine</h3>
3897                                          </p>                                          </p>
3898  <blockquote class="text">  <blockquote class="text">
3899  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3900                                                (note that the character string may contain
3901                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3902  </p>  </p>
3903  </blockquote>  </blockquote>
3904                                                                            
# Line 3891  Getting sampler channel information</h3> Line 4018  Getting sampler channel information</h3>
4018  <blockquote class="text">  <blockquote class="text">
4019  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4020                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4021                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4022                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4023  </p>  </p>
4024  </blockquote>  </blockquote>
4025                                                                            
# Line 3908  Getting sampler channel information</h3> Line 4036  Getting sampler channel information</h3>
4036                                          </p>                                          </p>
4037  <blockquote class="text">  <blockquote class="text">
4038  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4039                                                (note: since LSCP 1.2 this character string may contain
4040                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4041  </p>  </p>
4042  </blockquote>  </blockquote>
4043                                                                            
# Line 3954  Getting sampler channel information</h3> Line 4084  Getting sampler channel information</h3>
4084                                          </p>                                          </p>
4085  <blockquote class="text">  <blockquote class="text">
4086  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4087                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4088                                              1.0 means amplification)                                              1.0 means amplification)
4089  </p>  </p>
4090  </blockquote>  </blockquote>
# Line 4983  Adding an effect send to a sampler chann Line 5113  Adding an effect send to a sampler chann
5113                      sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;                      sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5114                      is a number between 0..127 defining the MIDI controller which can alter the                      is a number between 0..127 defining the MIDI controller which can alter the
5115                      effect send level and &lt;name&gt; is an optional argument defining a name                      effect send level and &lt;name&gt; is an optional argument defining a name
5116                      for the effect send entity. The name does not have to be unique.                      for the effect send entity. The name does not have to be unique, but MUST be
5117                        encapsulated into apostrophes and supports escape sequences as described in chapter
5118                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
5119  </p>  </p>
5120  <p>By default, that is as initial routing, the effect send's audio channels  <p>By default, that is as initial routing, the effect send's audio channels
5121                      are automatically routed to the last audio channels of the sampler channel's                      are automatically routed to the last audio channels of the sampler channel's
# Line 5252  Getting effect send information</h3> Line 5384  Getting effect send information</h3>
5384                                          </p>                                          </p>
5385  <blockquote class="text">  <blockquote class="text">
5386  <p>name of the effect send entity  <p>name of the effect send entity
5387                                                (note that this character string may contain
5388                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5389    </p>
5390    </blockquote>
5391                                        
5392    
5393    <p>MIDI_CONTROLLER -
5394                                            </p>
5395    <blockquote class="text">
5396    <p>a value between 0 and 127 reflecting the MIDI controller
5397                                                which is able to modify the effect send's send level
5398    </p>
5399    </blockquote>
5400                                        
5401    
5402    <p>LEVEL -
5403                                            </p>
5404    <blockquote class="text">
5405    <p>optionally dotted number reflecting the effect send's
5406                                                current send level (where a value &lt; 1.0 means attenuation
5407                                                and a value > 1.0 means amplification)
5408  </p>  </p>
5409  </blockquote>  </blockquote>
5410                                                                            
# Line 5289  Getting effect send information</h3> Line 5442  Getting effect send information</h3>
5442  </p>  </p>
5443  <p>S: "NAME: Reverb Send"  <p>S: "NAME: Reverb Send"
5444  </p>  </p>
5445    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5446    </p>
5447    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5448    </p>
5449  <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"  <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5450  </p>  </p>
5451  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
# Line 5296  Getting effect send information</h3> Line 5453  Getting effect send information</h3>
5453  </blockquote><p>  </blockquote><p>
5454                                            
5455  </p>  </p>
5456  <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET FX_SEND NAME"></a><br /><hr />
5457  <table 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>
5458  <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;  <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5459    Changing effect send's name</h3>
5460    
5461    <p>The front-end can alter the current name of an effect
5462                        send entity by sending the following command:
5463    </p>
5464    <p>
5465                            </p>
5466    <blockquote class="text">
5467    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5468    </p>
5469    </blockquote><p>
5470                        
5471    </p>
5472    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5473                        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>
5474                        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,
5475                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5476                        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>
5477                        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
5478                        &lt;name&gt; is the new name of the effect send entity, which
5479                        does not have to be unique (name MUST be encapsulated into apostrophes
5480                        and supports escape sequences as described in chapter
5481                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
5482                        
5483    </p>
5484    <p>Possible Answers:
5485    </p>
5486    <p>
5487                            </p>
5488    <blockquote class="text">
5489    <p>"OK" -
5490                                    </p>
5491    <blockquote class="text">
5492    <p>on success
5493    </p>
5494    </blockquote>
5495                                
5496    
5497    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5498                                    </p>
5499    <blockquote class="text">
5500    <p>in case it failed, providing an appropriate error code and error message
5501    </p>
5502    </blockquote>
5503                                
5504    
5505    </blockquote><p>
5506                        
5507    </p>
5508    <p>Example:
5509    </p>
5510    <p>
5511                            </p>
5512    <blockquote class="text">
5513    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5514    </p>
5515    <p>S: "OK"
5516    </p>
5517    </blockquote><p>
5518                        
5519    </p>
5520    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5521    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5522    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5523  Altering effect send's audio routing</h3>  Altering effect send's audio routing</h3>
5524    
5525  <p>The front-end can alter the destination of an effect send's audio channel on a specific  <p>The front-end can alter the destination of an effect send's audio channel on a specific
# Line 5379  Altering effect send's audio routing</h3 Line 5600  Altering effect send's audio routing</h3
5600  </blockquote><p>  </blockquote><p>
5601                                            
5602  </p>  </p>
5603    <a name="SET FX_SEND MIDI_CONTROLLER"></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.32"></a><h3>6.4.32.&nbsp;
5606    Altering effect send's MIDI controller</h3>
5607    
5608    <p>The front-end can alter the MIDI controller 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 MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&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;midi-ctrl&gt; reflects the MIDI controller which shall be
5626                        able to modify the effect send's send level.
5627    </p>
5628    <p>Possible Answers:
5629    </p>
5630    <p>
5631                            </p>
5632    <blockquote class="text">
5633    <p>"OK" -
5634                                    </p>
5635    <blockquote class="text">
5636    <p>on success
5637    </p>
5638    </blockquote>
5639                                
5640    
5641    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5642                                    </p>
5643    <blockquote class="text">
5644    <p>if MIDI controller was set, but there are noteworthy
5645                                        issue(s) related, providing an appropriate warning code and
5646                                        warning message
5647    </p>
5648    </blockquote>
5649                                
5650    
5651    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5652                                    </p>
5653    <blockquote class="text">
5654    <p>in case it failed, providing an appropriate error code and error message
5655    </p>
5656    </blockquote>
5657                                
5658    
5659    </blockquote><p>
5660                        
5661    </p>
5662    <p>Example:
5663    </p>
5664    <p>
5665                            </p>
5666    <blockquote class="text">
5667    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5668    </p>
5669    <p>S: "OK"
5670    </p>
5671    </blockquote><p>
5672                        
5673    </p>
5674    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5675    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5676    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5677    Altering effect send's send level</h3>
5678    
5679    <p>The front-end can alter the current send level of an effect
5680                        send entity by sending the following command:
5681    </p>
5682    <p>
5683                            </p>
5684    <blockquote class="text">
5685    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5686    </p>
5687    </blockquote><p>
5688                        
5689    </p>
5690    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5691                        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>
5692                        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,
5693                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5694                        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>
5695                        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
5696                        &lt;volume&gt; is an optionally dotted positive number (a value
5697                        smaller than 1.0 means attenuation, whereas a value greater than
5698                        1.0 means amplification) reflecting the new send level.
5699    </p>
5700    <p>Possible Answers:
5701    </p>
5702    <p>
5703                            </p>
5704    <blockquote class="text">
5705    <p>"OK" -
5706                                    </p>
5707    <blockquote class="text">
5708    <p>on success
5709    </p>
5710    </blockquote>
5711                                
5712    
5713    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5714                                    </p>
5715    <blockquote class="text">
5716    <p>if new send level was set, but there are noteworthy
5717                                        issue(s) related, providing an appropriate warning code and
5718                                        warning message
5719    </p>
5720    </blockquote>
5721                                
5722    
5723    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5724                                    </p>
5725    <blockquote class="text">
5726    <p>in case it failed, providing an appropriate error code and error message
5727    </p>
5728    </blockquote>
5729                                
5730    
5731    </blockquote><p>
5732                        
5733    </p>
5734    <p>Example:
5735    </p>
5736    <p>
5737                            </p>
5738    <blockquote class="text">
5739    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5740    </p>
5741    <p>S: "OK"
5742    </p>
5743    </blockquote><p>
5744                        
5745    </p>
5746  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5747  <table 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>
5748  <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;  <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5749  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
5750    
5751  <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 5716  Maximum amount of active voices</h3> Line 6080  Maximum amount of active voices</h3>
6080  </blockquote><p>  </blockquote><p>
6081                                            
6082  </p>  </p>
6083  <a name="RESET"></a><br /><hr />  <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6084  <table 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>
6085  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6086    Current number of active disk streams</h3>
6087    
6088    <p>The front-end can ask for the current number of active disk streams on
6089                        the sampler by sending the following command:
6090    </p>
6091    <p>
6092                            </p>
6093    <blockquote class="text">
6094    <p>GET TOTAL_STREAM_COUNT
6095    </p>
6096    </blockquote><p>
6097                        
6098    </p>
6099    <p>Possible Answers:
6100    </p>
6101    <p>
6102                            </p>
6103    <blockquote class="text">
6104    <p>LinuxSampler will answer by returning the number of all active
6105                                disk streams on the sampler.
6106    </p>
6107    </blockquote><p>
6108                        
6109    </p>
6110    <a name="RESET"></a><br /><hr />
6111    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6112    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6113  Reset sampler</h3>  Reset sampler</h3>
6114    
6115  <p>The front-end can reset the whole sampler by sending the following command:  <p>The front-end can reset the whole sampler by sending the following command:
# Line 5759  Reset sampler</h3> Line 6150  Reset sampler</h3>
6150  </p>  </p>
6151  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6152  <table 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>
6153  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;  <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6154  General sampler informations</h3>  General sampler informations</h3>
6155    
6156  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
# Line 5792  General sampler informations</h3> Line 6183  General sampler informations</h3>
6183                                          </p>                                          </p>
6184  <blockquote class="text">  <blockquote class="text">
6185  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6186                                                (note that the character string may contain
6187                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6188  </p>  </p>
6189  </blockquote>  </blockquote>
6190                                                                            
# Line 5813  General sampler informations</h3> Line 6206  General sampler informations</h3>
6206  </blockquote>  </blockquote>
6207                                                                            
6208    
6209    <p>INSTRUMENTS_DB_SUPPORT -
6210                                            </p>
6211    <blockquote class="text">
6212    <p>either yes or no, specifies whether the
6213                                                sampler is build with instruments database support.
6214    </p>
6215    </blockquote>
6216                                        
6217    
6218  </blockquote>  </blockquote>
6219                                                            
6220    
# Line 5822  General sampler informations</h3> Line 6224  General sampler informations</h3>
6224  <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.
6225                      Other fields might be added in future.                      Other fields might be added in future.
6226  </p>  </p>
6227    <a name="GET VOLUME"></a><br /><hr />
6228    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6229    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6230    Getting global volume attenuation</h3>
6231    
6232    <p>The client can ask for the current global sampler-wide volume
6233                        attenuation by sending the following command:
6234    </p>
6235    <p>
6236                            </p>
6237    <blockquote class="text">
6238    <p>GET VOLUME
6239    </p>
6240    </blockquote><p>
6241                        
6242    </p>
6243    <p>Possible Answers:
6244    </p>
6245    <p>
6246                            </p>
6247    <blockquote class="text">
6248    <p>The sampler will always answer by returning the optional
6249                                dotted floating point coefficient, reflecting the current
6250                                global volume attenuation.
6251                                
6252    </p>
6253    </blockquote><p>
6254                        
6255    </p>
6256    <p>Note: it is up to the respective sampler engine whether to obey
6257                        that global volume parameter or not, but in general all engines SHOULD
6258                        use this parameter.
6259    </p>
6260    <a name="SET VOLUME"></a><br /><hr />
6261    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6262    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6263    Setting global volume attenuation</h3>
6264    
6265    <p>The client can alter the current global sampler-wide volume
6266                        attenuation by sending the following command:
6267    </p>
6268    <p>
6269                            </p>
6270    <blockquote class="text">
6271    <p>SET VOLUME &lt;volume&gt;
6272    </p>
6273    </blockquote><p>
6274                        
6275    </p>
6276    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6277                       floating point value, reflecting the new global volume parameter.
6278                       This value might usually be in the range between 0.0 and 1.0, that
6279                       is for attenuating the overall volume.
6280    </p>
6281    <p>Possible Answers:
6282    </p>
6283    <p>
6284                            </p>
6285    <blockquote class="text">
6286    <p>"OK" -
6287                                    </p>
6288    <blockquote class="text">
6289    <p>on success
6290    </p>
6291    </blockquote>
6292                                
6293    
6294    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6295                                    </p>
6296    <blockquote class="text">
6297    <p>if the global volume was set, but there are noteworthy
6298                                        issue(s) related, providing an appropriate warning code and
6299                                        warning message
6300    </p>
6301    </blockquote>
6302                                
6303    
6304    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6305                                    </p>
6306    <blockquote class="text">
6307    <p>in case it failed, providing an appropriate error code and error message
6308    </p>
6309    </blockquote>
6310                                
6311    
6312    </blockquote><p>
6313                        
6314    </p>
6315  <a name="MIDI Instrument Mapping"></a><br /><hr />  <a name="MIDI Instrument Mapping"></a><br /><hr />
6316  <table 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>
6317  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
# Line 5856  MIDI Instrument Mapping</h3> Line 6346  MIDI Instrument Mapping</h3>
6346                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6347                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6348  </p>  </p>
6349  <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />  <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6350  <table 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>
6351  <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;  <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6352  Create a new MIDI instrument map</h3>  Create a new MIDI instrument map</h3>
# Line 5874  Create a new MIDI instrument map</h3> Line 6364  Create a new MIDI instrument map</h3>
6364  </p>  </p>
6365  <p>Where &lt;name&gt; is an optional argument allowing to  <p>Where &lt;name&gt; is an optional argument allowing to
6366                      assign a custom name to the new map. MIDI instrument Map                      assign a custom name to the new map. MIDI instrument Map
6367                      names do not have to be unique.                      names do not have to be unique, but MUST be encapsulated
6368                        into apostrophes and support escape sequences as described
6369                        in chapter "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
6370                        
6371  </p>  </p>
6372  <p>Possible Answers:  <p>Possible Answers:
6373  </p>  </p>
# Line 6132  Getting MIDI instrument map information< Line 6625  Getting MIDI instrument map information<
6625  <blockquote class="text">  <blockquote class="text">
6626  <p>custom name of the given map,  <p>custom name of the given map,
6627                                              which does not have to be unique                                              which does not have to be unique
6628                                                (note that this character string may contain
6629                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6630    </p>
6631    </blockquote>
6632                                        
6633    
6634    <p>DEFAULT -
6635                                            </p>
6636    <blockquote class="text">
6637    <p>either true or false,
6638                                                defines whether this map is the default map
6639  </p>  </p>
6640  </blockquote>  </blockquote>
6641                                                                            
# Line 6153  Getting MIDI instrument map information< Line 6657  Getting MIDI instrument map information<
6657  </p>  </p>
6658  <p>S: "NAME: Standard Map"  <p>S: "NAME: Standard Map"
6659  </p>  </p>
6660    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6661    </p>
6662  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
6663  </p>  </p>
6664  </blockquote><p>  </blockquote><p>
# Line 6176  Renaming a MIDI instrument map</h3> Line 6682  Renaming a MIDI instrument map</h3>
6682  </p>  </p>
6683  <p>Where &lt;map&gt; is the numerical ID of the map and  <p>Where &lt;map&gt; is the numerical ID of the map and
6684                      &lt;name&gt; the new custom name of the map, which does not                      &lt;name&gt; the new custom name of the map, which does not
6685                      have to be unique.                      have to be unique (name MUST be encapsulated into apostrophes
6686                        and supports escape sequences as described in chapter
6687                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
6688                        
6689  </p>  </p>
6690  <p>Possible Answers:  <p>Possible Answers:
6691  </p>  </p>
# Line 6226  Create or replace a MIDI instrument map Line 6735  Create or replace a MIDI instrument map
6735  <p>  <p>
6736                          </p>                          </p>
6737  <blockquote class="text">  <blockquote class="text">
6738  <p>MAP MIDI_INSTRUMENT &lt;map&gt;  <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6739                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6740                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6741                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]
# Line 6242  Create or replace a MIDI instrument map Line 6751  Create or replace a MIDI instrument map
6751                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6752                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6753                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6754                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6755                        supporting escape sequences as described in chapter
6756                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"),
6757                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6758                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6759                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
6760                      value < 1.0 means attenuation and a value > 1.0 means                      value &lt; 1.0 means attenuation and a value > 1.0 means
6761                      amplification). This parameter easily allows to adjust the                      amplification). This parameter easily allows to adjust the
6762                      volume of all intruments within a custom instrument map                      volume of all intruments within a custom instrument map
6763                      without having to adjust their instrument files. The                      without having to adjust their instrument files. The
# Line 6290  Create or replace a MIDI instrument map Line 6801  Create or replace a MIDI instrument map
6801                                  </p>                                  </p>
6802  <blockquote class="text">  <blockquote class="text">
6803  <p>The instrument will immediately be loaded  <p>The instrument will immediately be loaded
6804                                      into memory in the background when this mapping                                      into memory when this mapping
6805                                      command is sent and the instrument is kept all                                      command is sent and the instrument is kept all
6806                                      the time. Instruments with this mode are                                      the time. Instruments with this mode are
6807                                      only freed when the sampler is reset or all                                      only freed when the sampler is reset or all
# Line 6339  Create or replace a MIDI instrument map Line 6850  Create or replace a MIDI instrument map
6850                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
6851                      mode by i.e. sending                      mode by i.e. sending
6852                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
6853                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6854                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
6855                      entry, useful for frontends for displaying an appropriate name for                      "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") for the
6856                        mapping entry, useful for frontends for displaying an appropriate name for
6857                      mapped instruments (using                      mapped instruments (using
6858                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>).                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>).
6859                                            
6860  </p>  </p>
6861  <p>  <p>
6862                      The "MAP MIDI_INSTRUMENT" command                      By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6863                      will immediately return, thus it will not block when an                      completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6864                      instrument is to be loaded due to a "PERSISTENT" type                      however causes the respective "MAP MIDI_INSTRUMENT" command to return
6865                      entry as instruments are loaded in the background. As a                      immediately, that is to let the sampler establish the mapping in the
6866                      consequence this command may not necessarily return an error                      background. So this argument might be especially useful for mappings with
6867                      i.e. when the given instrument file does not exist or may                      a "PERSISTENT" type, because these have to load the respective instruments
6868                      turn out to be corrupt.                      immediately and might thus block for a very long time. It is recommended
6869                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6870                        because it has the following drawbacks: as "NON_MODAL" instructions return
6871                        immediately, they may not necessarily return an error i.e. when the given
6872                        instrument file turns out to be corrupt, beside that subsequent commands
6873                        in a LSCP instruction sequence might fail, because mandatory mappings are
6874                        not yet completed.
6875                                            
6876  </p>  </p>
6877  <p>Possible Answers:  <p>Possible Answers:
# Line 6420  Create or replace a MIDI instrument map Line 6938  Create or replace a MIDI instrument map
6938  <p>  <p>
6939                          </p>                          </p>
6940  <blockquote class="text">  <blockquote class="text">
6941  <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'"
6942  </p>  </p>
6943  <p>S: "OK"  <p>S: "OK"
6944  </p>  </p>
# Line 6657  Get current settings of MIDI instrument Line 7175  Get current settings of MIDI instrument
7175                                      changed with the                                      changed with the
7176                                      <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>                                      <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
7177                                      command and does not have to be unique.                                      command and does not have to be unique.
7178                                        (note that this character string may contain
7179                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7180  </p>  </p>
7181  </blockquote>  </blockquote>
7182                                                            
# Line 6673  Get current settings of MIDI instrument Line 7193  Get current settings of MIDI instrument
7193  <p>"INSTRUMENT_FILE" -  <p>"INSTRUMENT_FILE" -
7194                                  </p>                                  </p>
7195  <blockquote class="text">  <blockquote class="text">
7196  <p>File name of the instrument.  <p>File name of the instrument
7197                                        (note that this path may contain
7198                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7199  </p>  </p>
7200  </blockquote>  </blockquote>
7201                                                            
# Line 6691  Get current settings of MIDI instrument Line 7213  Get current settings of MIDI instrument
7213  <blockquote class="text">  <blockquote class="text">
7214  <p>Name of the loaded instrument as reflected by its file.  <p>Name of the loaded instrument as reflected by its file.
7215                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7216                                      cannot be changed.                                      cannot be changed (note that this character string may contain
7217                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7218  </p>  </p>
7219  </blockquote>  </blockquote>
7220                                                            
# Line 6709  Get current settings of MIDI instrument Line 7232  Get current settings of MIDI instrument
7232                                  </p>                                  </p>
7233  <blockquote class="text">  <blockquote class="text">
7234  <p>master volume of the instrument as optionally  <p>master volume of the instrument as optionally
7235                                      dotted number (where a value < 1.0 means attenuation                                      dotted number (where a value &lt; 1.0 means attenuation
7236                                      and a value > 1.0 means amplification)                                      and a value > 1.0 means amplification)
7237  </p>  </p>
7238  </blockquote>  </blockquote>
# Line 6818  Clear MIDI instrument map</h3> Line 7341  Clear MIDI instrument map</h3>
7341  </blockquote><p>  </blockquote><p>
7342                                            
7343  </p>  </p>
7344    <a name="Managing Instruments Database"></a><br /><hr />
7345    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7346    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7347    Managing Instruments Database</h3>
7348    
7349    <p>The following commands describe how to use and manage
7350                    the instruments database.
7351    </p>
7352    <p>Notice:
7353    </p>
7354    <p>
7355                            </p>
7356    <blockquote class="text">
7357    <p>All command arguments representing a path or
7358                                instrument/directory name support escape sequences as described in chapter
7359                                "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
7360                                
7361    </p>
7362    <p>All occurrences of a forward slash in instrument and directory
7363                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7364                                
7365    </p>
7366    </blockquote><p>
7367                        
7368    </p>
7369    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7370    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7371    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7372    Creating a new instrument directory</h3>
7373    
7374    <p>The front-end can add a new instrument directory to the
7375                        instruments database by sending the following command:
7376    </p>
7377    <p>
7378                            </p>
7379    <blockquote class="text">
7380    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7381    </p>
7382    </blockquote><p>
7383                        
7384    </p>
7385    <p>Where &lt;dir&gt; is the absolute path name of the directory
7386                        to be created (encapsulated into apostrophes).
7387    </p>
7388    <p>Possible Answers:
7389    </p>
7390    <p>
7391                            </p>
7392    <blockquote class="text">
7393    <p>"OK" -
7394                                    </p>
7395    <blockquote class="text">
7396    <p>on success
7397    </p>
7398    </blockquote>
7399                                
7400    
7401    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7402                                    </p>
7403    <blockquote class="text">
7404    <p>when the directory could not be created, which
7405                                        can happen if the directory already exists or the
7406                                        name contains not allowed symbols
7407    </p>
7408    </blockquote>
7409                                
7410    
7411    </blockquote><p>
7412                        
7413    </p>
7414    <p>Examples:
7415    </p>
7416    <p>
7417                            </p>
7418    <blockquote class="text">
7419    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7420    </p>
7421    <p>S: "OK"
7422    </p>
7423    </blockquote><p>
7424                        
7425    </p>
7426    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7427    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7428    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7429    Deleting an instrument directory</h3>
7430    
7431    <p>The front-end can delete a particular instrument directory
7432                        from the instruments database by sending the following command:
7433    </p>
7434    <p>
7435                            </p>
7436    <blockquote class="text">
7437    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7438    </p>
7439    </blockquote><p>
7440                        
7441    </p>
7442    <p>Where &lt;dir&gt; is the absolute path name of the directory
7443                        to delete. The optional FORCE argument can be used to
7444                        force the deletion of a non-empty directory and all its content.
7445    </p>
7446    <p>Possible Answers:
7447    </p>
7448    <p>
7449                            </p>
7450    <blockquote class="text">
7451    <p>"OK" -
7452                                    </p>
7453    <blockquote class="text">
7454    <p>if the directory is deleted successfully
7455    </p>
7456    </blockquote>
7457                                
7458    
7459    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7460                                    </p>
7461    <blockquote class="text">
7462    <p>if the given directory does not exist, or
7463                                        if trying to delete a non-empty directory,
7464                                        without using the FORCE argument.
7465    </p>
7466    </blockquote>
7467                                
7468    
7469    </blockquote><p>
7470                        
7471    </p>
7472    <p>Examples:
7473    </p>
7474    <p>
7475                            </p>
7476    <blockquote class="text">
7477    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7478    </p>
7479    <p>S: "OK"
7480    </p>
7481    </blockquote><p>
7482                        
7483    </p>
7484    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7485    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7486    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7487    Getting amount of instrument directories</h3>
7488    
7489    <p>The front-end can retrieve the current amount of
7490                        directories in a specific directory by sending the following command:
7491    </p>
7492    <p>
7493                            </p>
7494    <blockquote class="text">
7495    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7496    </p>
7497    </blockquote><p>
7498                        
7499    </p>
7500    <p>Where &lt;dir&gt; should be replaced by the absolute path
7501                        name of the directory. If RECURSIVE is specified, the number of
7502                        all directories, including those located in subdirectories of the
7503                        specified directory, will be returned.
7504    </p>
7505    <p>Possible Answers:
7506    </p>
7507    <p>
7508                            </p>
7509    <blockquote class="text">
7510    <p>The current number of instrument directories
7511                                in the specified directory.
7512    </p>
7513    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7514                                    </p>
7515    <blockquote class="text">
7516    <p>if the given directory does not exist.
7517    </p>
7518    </blockquote>
7519                                
7520    
7521    </blockquote><p>
7522                        
7523    </p>
7524    <p>Example:
7525    </p>
7526    <p>
7527                            </p>
7528    <blockquote class="text">
7529    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7530    </p>
7531    <p>S: "2"
7532    </p>
7533    </blockquote><p>
7534                        
7535    </p>
7536    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7537    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7538    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7539    Listing all directories in specific directory</h3>
7540    
7541    <p>The front-end can retrieve the current list of directories
7542                        in specific directory by sending the following command:
7543    </p>
7544    <p>
7545                            </p>
7546    <blockquote class="text">
7547    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7548    </p>
7549    </blockquote><p>
7550                        
7551    </p>
7552    <p>Where &lt;dir&gt; should be replaced by the absolute path
7553                        name of the directory. If RECURSIVE is specified, the absolute path names
7554                        of all directories, including those located in subdirectories of the
7555                        specified directory, will be returned.
7556    </p>
7557    <p>Possible Answers:
7558    </p>
7559    <p>
7560                            </p>
7561    <blockquote class="text">
7562    <p>A comma separated list of all instrument directories
7563                                (encapsulated into apostrophes) in the specified directory.
7564    </p>
7565    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7566                                    </p>
7567    <blockquote class="text">
7568    <p>if the given directory does not exist.
7569    </p>
7570    </blockquote>
7571                                
7572    
7573    </blockquote><p>
7574                        
7575    </p>
7576    <p>Example:
7577    </p>
7578    <p>
7579                            </p>
7580    <blockquote class="text">
7581    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7582    </p>
7583    <p>S: "'Piano Collection','Percussion Collection'"
7584    </p>
7585    </blockquote><p>
7586                        
7587    </p>
7588    <p>
7589                            </p>
7590    <blockquote class="text">
7591    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7592    </p>
7593    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7594    </p>
7595    </blockquote><p>
7596                        
7597    </p>
7598    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7599    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7600    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7601    Getting instrument directory information</h3>
7602    
7603    <p>The front-end can ask for the current settings of an
7604                        instrument directory by sending the following command:
7605    </p>
7606    <p>
7607                            </p>
7608    <blockquote class="text">
7609    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7610    </p>
7611    </blockquote><p>
7612                        
7613    </p>
7614    <p>Where &lt;dir&gt; should be replaced by the absolute path
7615                        name of the directory the front-end is interested in.
7616    </p>
7617    <p>Possible Answers:
7618    </p>
7619    <p>
7620                            </p>
7621    <blockquote class="text">
7622    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7623                                Each answer line begins with the settings category name
7624                                followed by a colon and then a space character &lt;SP&gt; and finally
7625                                the info character string to that setting category. At the
7626                                moment the following categories are defined:
7627    </p>
7628    <p>
7629                                    </p>
7630    <blockquote class="text">
7631    <p>DESCRIPTION -
7632                                            </p>
7633    <blockquote class="text">
7634    <p>A brief description of the directory content.
7635                                                Note that the character string may contain
7636                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7637    </p>
7638    </blockquote>
7639                                        
7640    
7641    <p>CREATED -
7642                                            </p>
7643    <blockquote class="text">
7644    <p>The creation date and time of the directory,
7645                                                represented in "YYYY-MM-DD HH:MM:SS" format
7646    </p>
7647    </blockquote>
7648                                        
7649    
7650    <p>MODIFIED -
7651                                            </p>
7652    <blockquote class="text">
7653    <p>The date and time of the last modification of the
7654                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7655    </p>
7656    </blockquote>
7657                                        
7658    
7659    </blockquote>
7660                                
7661    
7662    </blockquote><p>
7663                        
7664    </p>
7665    <p>The mentioned fields above don't have to be in particular order.
7666    </p>
7667    <p>Example:
7668    </p>
7669    <p>
7670                            </p>
7671    <blockquote class="text">
7672    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7673    </p>
7674    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7675    </p>
7676    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7677    </p>
7678    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7679    </p>
7680    <p>&nbsp;&nbsp;&nbsp;"."
7681    </p>
7682    </blockquote><p>
7683                        
7684    </p>
7685    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7686    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7687    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7688    Renaming an instrument directory</h3>
7689    
7690    <p>The front-end can alter the name of a specific
7691                        instrument directory by sending the following command:
7692    </p>
7693    <p>
7694                            </p>
7695    <blockquote class="text">
7696    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7697    </p>
7698    </blockquote><p>
7699                        
7700    </p>
7701    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7702                        &lt;name&gt; is the new name for that directory.
7703    </p>
7704    <p>Possible Answers:
7705    </p>
7706    <p>
7707                            </p>
7708    <blockquote class="text">
7709    <p>"OK" -
7710                                    </p>
7711    <blockquote class="text">
7712    <p>on success
7713    </p>
7714    </blockquote>
7715                                
7716    
7717    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7718                                    </p>
7719    <blockquote class="text">
7720    <p>in case the given directory does not exists,
7721                                        or if a directory with name equal to the new
7722                                        name already exists.
7723    </p>
7724    </blockquote>
7725                                
7726    
7727    </blockquote><p>
7728                        
7729    </p>
7730    <p>Example:
7731    </p>
7732    <p>
7733                            </p>
7734    <blockquote class="text">
7735    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7736    </p>
7737    <p>S: "OK"
7738    </p>
7739    </blockquote><p>
7740                        
7741    </p>
7742    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7743    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7744    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7745    Moving an instrument directory</h3>
7746    
7747    <p>The front-end can move a specific
7748                        instrument directory by sending the following command:
7749    </p>
7750    <p>
7751                            </p>
7752    <blockquote class="text">
7753    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7754    </p>
7755    </blockquote><p>
7756                        
7757    </p>
7758    <p>Where &lt;dir&gt; is the absolute path name of the directory
7759                        to move and &lt;dst&gt; is the location where the directory will
7760                        be moved to.
7761    </p>
7762    <p>Possible Answers:
7763    </p>
7764    <p>
7765                            </p>
7766    <blockquote class="text">
7767    <p>"OK" -
7768                                    </p>
7769    <blockquote class="text">
7770    <p>on success
7771    </p>
7772    </blockquote>
7773                                
7774    
7775    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7776                                    </p>
7777    <blockquote class="text">
7778    <p>in case a given directory does not exists,
7779                                        or if a directory with name equal to the name
7780                                        of the specified directory already exists in
7781                                        the destination directory. Error is also thrown
7782                                        when trying to move a directory to a subdirectory
7783                                        of itself.
7784    </p>
7785    </blockquote>
7786                                
7787    
7788    </blockquote><p>
7789                        
7790    </p>
7791    <p>Example:
7792    </p>
7793    <p>
7794                            </p>
7795    <blockquote class="text">
7796    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7797    </p>
7798    <p>S: "OK"
7799    </p>
7800    </blockquote><p>
7801                        
7802    </p>
7803    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7804    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7805    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7806    Copying instrument directories</h3>
7807    
7808    <p>The front-end can copy a specific
7809                        instrument directory by sending the following command:
7810    </p>
7811    <p>
7812                            </p>
7813    <blockquote class="text">
7814    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7815    </p>
7816    </blockquote><p>
7817                        
7818    </p>
7819    <p>Where &lt;dir&gt; is the absolute path name of the directory
7820                        to copy and &lt;dst&gt; is the location where the directory will
7821                        be copied to.
7822    </p>
7823    <p>Possible Answers:
7824    </p>
7825    <p>
7826                            </p>
7827    <blockquote class="text">
7828    <p>"OK" -
7829                                    </p>
7830    <blockquote class="text">
7831    <p>on success
7832    </p>
7833    </blockquote>
7834                                
7835    
7836    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7837                                    </p>
7838    <blockquote class="text">
7839    <p>in case a given directory does not exists,
7840                                        or if a directory with name equal to the name
7841                                        of the specified directory already exists in
7842                                        the destination directory. Error is also thrown
7843                                        when trying to copy a directory to a subdirectory
7844                                        of itself.
7845    </p>
7846    </blockquote>
7847                                
7848    
7849    </blockquote><p>
7850                        
7851    </p>
7852    <p>Example:
7853    </p>
7854    <p>
7855                            </p>
7856    <blockquote class="text">
7857    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7858    </p>
7859    <p>S: "OK"
7860    </p>
7861    </blockquote><p>
7862                        
7863    </p>
7864    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7865    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7866    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7867    Changing the description of directory</h3>
7868    
7869    <p>The front-end can alter the description of a specific
7870                        instrument directory by sending the following command:
7871    </p>
7872    <p>
7873                            </p>
7874    <blockquote class="text">
7875    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7876    </p>
7877    </blockquote><p>
7878                        
7879    </p>
7880    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7881                        &lt;desc&gt; is the new description for the directory
7882                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7883                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
7884    </p>
7885    <p>Possible Answers:
7886    </p>
7887    <p>
7888                            </p>
7889    <blockquote class="text">
7890    <p>"OK" -
7891                                    </p>
7892    <blockquote class="text">
7893    <p>on success
7894    </p>
7895    </blockquote>
7896                                
7897    
7898    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7899                                    </p>
7900    <blockquote class="text">
7901    <p>in case the given directory does not exists.
7902    </p>
7903    </blockquote>
7904                                
7905    
7906    </blockquote><p>
7907                        
7908    </p>
7909    <p>Example:
7910    </p>
7911    <p>
7912                            </p>
7913    <blockquote class="text">
7914    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7915    </p>
7916    <p>S: "OK"
7917    </p>
7918    </blockquote><p>
7919                        
7920    </p>
7921    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7922    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7923    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7924    Finding directories</h3>
7925    
7926    <p>The front-end can search for directories
7927                        in specific directory by sending the following command:
7928    </p>
7929    <p>
7930                            </p>
7931    <blockquote class="text">
7932    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7933    </p>
7934    </blockquote><p>
7935                        
7936    </p>
7937    <p>Where &lt;dir&gt; should be replaced by the absolute path
7938                        name of the directory to search in. If NON_RECURSIVE is specified, the
7939                        directories located in subdirectories of the specified directory will not
7940                        be searched. &lt;criteria-list&gt; is a list of search criterias
7941                        in form of "key1=val1 key2=val2 ...". The following criterias are
7942                        allowed:
7943    </p>
7944    <p>
7945                          
7946    <p>NAME='&lt;search-string&gt;'
7947                              </p>
7948    <blockquote class="text">
7949    <p>Restricts the search to directories, which names
7950                                  satisfy the supplied search string (encapsulated into apostrophes,
7951                                  supporting escape sequences as described in chapter
7952                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
7953    </p>
7954    </blockquote><p>
7955                          
7956    </p>
7957    
7958                          
7959    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7960                              </p>
7961    <blockquote class="text">
7962    <p>Restricts the search to directories, which creation
7963                                  date satisfies the specified period, where &lt;date-after&gt;
7964                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7965                                  If &lt;date-after&gt; is omitted the search is restricted to
7966                                  directories created before &lt;date-before&gt;. If
7967                                  &lt;date-before&gt; is omitted, the search is restricted
7968                                  to directories created after &lt;date-after&gt;.
7969    </p>
7970    </blockquote><p>
7971                          
7972    </p>
7973    
7974                          
7975    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7976                              </p>
7977    <blockquote class="text">
7978    <p>Restricts the search to directories, which
7979                                  date of last modification satisfies the specified period, where
7980                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7981                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7982                                  directories, which are last modified before &lt;date-before&gt;. If
7983                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7984                                  which are last modified after &lt;date-after&gt;.
7985    </p>
7986    </blockquote><p>
7987                          
7988    </p>
7989    
7990                          
7991    <p>DESCRIPTION='&lt;search-string&gt;'
7992                              </p>
7993    <blockquote class="text">
7994    <p>Restricts the search to directories with description
7995                                  that satisfies the supplied search string
7996                                  (encapsulated into apostrophes, supporting escape
7997                                  sequences as described in chapter
7998                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
7999    </p>
8000    </blockquote><p>
8001                          
8002    </p>
8003                        
8004    
8005    <p>Where &lt;search-string&gt; is either a regular expression, or a
8006                        word list separated with spaces for OR search and with '+' for AND search.
8007    </p>
8008    <p>Possible Answers:
8009    </p>
8010    <p>
8011                            </p>
8012    <blockquote class="text">
8013    <p>A comma separated list with the absolute path names (encapsulated into
8014                                apostrophes) of all directories in the specified directory that satisfy
8015                                the supplied search criterias.
8016    </p>
8017    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8018                                    </p>
8019    <blockquote class="text">
8020    <p>if the given directory does not exist.
8021    </p>
8022    </blockquote>
8023                                
8024    
8025    </blockquote><p>
8026                        
8027    </p>
8028    <p>Example:
8029    </p>
8030    <p>
8031                            </p>
8032    <blockquote class="text">
8033    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8034    </p>
8035    <p>S: "'/Piano Collection'"
8036    </p>
8037    </blockquote><p>
8038                        
8039    </p>
8040    <p>
8041                            </p>
8042    <blockquote class="text">
8043    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8044    </p>
8045    <p>S: "'/Piano Collection','/Percussions'"
8046    </p>
8047    </blockquote><p>
8048                        
8049    </p>
8050    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8051    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8052    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8053    Adding instruments to the instruments database</h3>
8054    
8055    <p>The front-end can add one or more instruments
8056                        to the instruments database by sending the following command:
8057    </p>
8058    <p>
8059                            </p>
8060    <blockquote class="text">
8061    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8062    </p>
8063    </blockquote><p>
8064                        
8065    </p>
8066    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8067                        (encapsulated into apostrophes) in the instruments database in which
8068                        only the new instruments (that are not already in the database) will
8069                        be added, &lt;file_path&gt; is the absolute path name of a file or
8070                        directory in the file system (encapsulated into apostrophes). In case
8071                        an instrument file is supplied, only the instruments in the specified
8072                        file will be added to the instruments database. If the optional
8073                        &lt;instr_index&gt; (the index of the instrument within the given file)
8074                        is supplied too, then only the specified instrument will be added.
8075                        In case a directory is supplied, the instruments in that directory
8076                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8077                        when a directory is provided as &lt;file_path&gt; and specifies how the
8078                        scanning will be done and has exactly the following possibilities:
8079    </p>
8080    <p>
8081                            </p>
8082    <blockquote class="text">
8083    <p>"RECURSIVE" -
8084                                    </p>
8085    <blockquote class="text">
8086    <p>All instruments will be processed, including those
8087                                        in the subdirectories, and the respective subdirectory
8088                                        tree structure will be recreated in the instruments
8089                                        database
8090    </p>
8091    </blockquote>
8092                                
8093    
8094    <p>"NON_RECURSIVE" -
8095                                    </p>
8096    <blockquote class="text">
8097    <p>Only the instruments in the specified directory
8098                                        will be added, the instruments in the subdirectories
8099                                        will not be processed.
8100    </p>
8101    </blockquote>
8102                                
8103    
8104    <p>"FLAT" -
8105                                    </p>
8106    <blockquote class="text">
8107    <p>All instruments will be processed, including those
8108                                        in the subdirectories, but the respective subdirectory
8109                                        structure will not be recreated in the instruments
8110                                        database. All instruments will be added directly in
8111                                        the specified database directory.
8112    </p>
8113    </blockquote>
8114                                
8115    
8116    </blockquote><p>
8117                        
8118    </p>
8119    <p>The difference between regular and NON_MODAL versions of the command
8120                        is that the regular command returns when the scanning is finished
8121                        while NON_MODAL version returns immediately and a background process is launched.
8122                        The <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
8123                        command can be used to monitor the scanning progress.
8124    </p>
8125    <p>Possible Answers:
8126    </p>
8127    <p>
8128                            </p>
8129    <blockquote class="text">
8130    <p>"OK" -
8131                                    </p>
8132    <blockquote class="text">
8133    <p>on success when NON_MODAL is not supplied
8134    </p>
8135    </blockquote>
8136                                
8137    
8138    <p>"OK[&lt;job-id&gt;]" -
8139                                    </p>
8140    <blockquote class="text">
8141    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8142                                        is a numerical ID used to obtain status information about the job progress.
8143                                        See <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
8144                                        
8145    </p>
8146    </blockquote>
8147                                
8148    
8149    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8150                                    </p>
8151    <blockquote class="text">
8152    <p>if an invalid path is specified.
8153    </p>
8154    </blockquote>
8155                                
8156    
8157    </blockquote><p>
8158                        
8159    </p>
8160    <p>Examples:
8161    </p>
8162    <p>
8163                            </p>
8164    <blockquote class="text">
8165    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8166    </p>
8167    <p>S: "OK"
8168    </p>
8169    </blockquote><p>
8170                        
8171    </p>
8172    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8173    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8174    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8175    Removing an instrument</h3>
8176    
8177    <p>The front-end can remove a particular instrument
8178                        from the instruments database by sending the following command:
8179    </p>
8180    <p>
8181                            </p>
8182    <blockquote class="text">
8183    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8184    </p>
8185    </blockquote><p>
8186                        
8187    </p>
8188    <p>Where &lt;instr_path&gt; is the absolute path name
8189                        (in the instruments database) of the instrument to remove.
8190    </p>
8191    <p>Possible Answers:
8192    </p>
8193    <p>
8194                            </p>
8195    <blockquote class="text">
8196    <p>"OK" -
8197                                    </p>
8198    <blockquote class="text">
8199    <p>if the instrument is removed successfully
8200    </p>
8201    </blockquote>
8202                                
8203    
8204    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8205                                    </p>
8206    <blockquote class="text">
8207    <p>if the given path does not exist or
8208                                        is a directory.
8209    </p>
8210    </blockquote>
8211                                
8212    
8213    </blockquote><p>
8214                        
8215    </p>
8216    <p>Examples:
8217    </p>
8218    <p>
8219                            </p>
8220    <blockquote class="text">
8221    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8222    </p>
8223    <p>S: "OK"
8224    </p>
8225    </blockquote><p>
8226                        
8227    </p>
8228    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8229    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8230    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8231    Getting amount of instruments</h3>
8232    
8233    <p>The front-end can retrieve the current amount of
8234                        instruments in a specific directory by sending the following command:
8235    </p>
8236    <p>
8237                            </p>
8238    <blockquote class="text">
8239    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8240    </p>
8241    </blockquote><p>
8242                        
8243    </p>
8244    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8245                        of the directory. If RECURSIVE is specified, the number of all
8246                        instruments, including those located in subdirectories of the
8247                        specified directory, will be returned.
8248    </p>
8249    <p>Possible Answers:
8250    </p>
8251    <p>
8252                            </p>
8253    <blockquote class="text">
8254    <p>The current number of instruments
8255                                in the specified directory.
8256    </p>
8257    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8258                                    </p>
8259    <blockquote class="text">
8260    <p>if the given directory does not exist.
8261    </p>
8262    </blockquote>
8263                                
8264    
8265    </blockquote><p>
8266                        
8267    </p>
8268    <p>Example:
8269    </p>
8270    <p>
8271                            </p>
8272    <blockquote class="text">
8273    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8274    </p>
8275    <p>S: "2"
8276    </p>
8277    </blockquote><p>
8278                        
8279    </p>
8280    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8281    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8282    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8283    Listing all instruments in specific directory</h3>
8284    
8285    <p>The front-end can retrieve the current list of instruments
8286                        in specific directory by sending the following command:
8287    </p>
8288    <p>
8289                            </p>
8290    <blockquote class="text">
8291    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8292    </p>
8293    </blockquote><p>
8294                        
8295    </p>
8296    <p>Where &lt;dir&gt; should be replaced by the absolute path
8297                        name of the directory. If RECURSIVE is specified, the absolute path
8298                        names of all instruments, including those located in subdirectories
8299                        of the specified directory, will be returned.
8300    </p>
8301    <p>Possible Answers:
8302    </p>
8303    <p>
8304                            </p>
8305    <blockquote class="text">
8306    <p>A comma separated list of all instruments
8307                                (encapsulated into apostrophes) in the specified directory.
8308    </p>
8309    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8310                                    </p>
8311    <blockquote class="text">
8312    <p>if the given directory does not exist.
8313    </p>
8314    </blockquote>
8315                                
8316    
8317    </blockquote><p>
8318                        
8319    </p>
8320    <p>Example:
8321    </p>
8322    <p>
8323                            </p>
8324    <blockquote class="text">
8325    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8326    </p>
8327    <p>S: "'Bosendorfer 290','Steinway D'"
8328    </p>
8329    </blockquote><p>
8330                        
8331    </p>
8332    <p>
8333                            </p>
8334    <blockquote class="text">
8335    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8336    </p>
8337    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8338    </p>
8339    </blockquote><p>
8340                        
8341    </p>
8342    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8343    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8344    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8345    Getting instrument information</h3>
8346    
8347    <p>The front-end can ask for the current settings of an
8348                        instrument by sending the following command:
8349    </p>
8350    <p>
8351                            </p>
8352    <blockquote class="text">
8353    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8354    </p>
8355    </blockquote><p>
8356                        
8357    </p>
8358    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8359                        name of the instrument the front-end is interested in.
8360    </p>
8361    <p>Possible Answers:
8362    </p>
8363    <p>
8364                            </p>
8365    <blockquote class="text">
8366    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8367                                Each answer line begins with the settings category name
8368                                followed by a colon and then a space character &lt;SP&gt; and finally
8369                                the info character string to that setting category. At the
8370                                moment the following categories are defined:
8371    </p>
8372    <p>
8373                                    </p>
8374    <blockquote class="text">
8375    <p>INSTRUMENT_FILE -
8376                                            </p>
8377    <blockquote class="text">
8378    <p>File name of the instrument.
8379                                                Note that the character string may contain
8380                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8381    </p>
8382    </blockquote>
8383                                        
8384    
8385    <p>INSTRUMENT_NR -
8386                                            </p>
8387    <blockquote class="text">
8388    <p>Index of the instrument within the file.
8389    </p>
8390    </blockquote>
8391                                        
8392    
8393    <p>FORMAT_FAMILY -
8394                                            </p>
8395    <blockquote class="text">
8396    <p>The format family of the instrument.
8397    </p>
8398    </blockquote>
8399                                        
8400    
8401    <p>FORMAT_VERSION -
8402                                            </p>
8403    <blockquote class="text">
8404    <p>The format version of the instrument.
8405    </p>
8406    </blockquote>
8407                                        
8408    
8409    <p>SIZE -
8410                                            </p>
8411    <blockquote class="text">
8412    <p>The size of the instrument in bytes.
8413    </p>
8414    </blockquote>
8415                                        
8416    
8417    <p>CREATED -
8418                                            </p>
8419    <blockquote class="text">
8420    <p>The date and time when the instrument is added
8421                                                in the instruments database, represented in
8422                                               "YYYY-MM-DD HH:MM:SS" format
8423    </p>
8424    </blockquote>
8425                                        
8426    
8427    <p>MODIFIED -
8428                                            </p>
8429    <blockquote class="text">
8430    <p>The date and time of the last modification of the
8431                                                instrument's database settings, represented in
8432                                                "YYYY-MM-DD HH:MM:SS" format
8433    </p>
8434    </blockquote>
8435                                        
8436    
8437    <p>DESCRIPTION -
8438                                            </p>
8439    <blockquote class="text">
8440    <p>A brief description of the instrument.
8441                                                Note that the character string may contain
8442                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8443    </p>
8444    </blockquote>
8445                                        
8446    
8447    <p>IS_DRUM -
8448                                            </p>
8449    <blockquote class="text">
8450    <p>either true or false, determines whether the
8451                                                instrument is a drumkit or a chromatic instrument
8452    </p>
8453    </blockquote>
8454                                        
8455    
8456    <p>PRODUCT -
8457                                            </p>
8458    <blockquote class="text">
8459    <p>The product title of the instrument.
8460                                                Note that the character string may contain
8461                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8462    </p>
8463    </blockquote>
8464                                        
8465    
8466    <p>ARTISTS -
8467                                            </p>
8468    <blockquote class="text">
8469    <p>Lists the artist names.
8470                                                Note that the character string may contain
8471                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8472    </p>
8473    </blockquote>
8474                                        
8475    
8476    <p>KEYWORDS -
8477                                            </p>
8478    <blockquote class="text">
8479    <p>Provides a list of keywords that refer to the instrument.
8480                                                Keywords are separated with semicolon and blank.
8481                                                Note that the character string may contain
8482                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8483    </p>
8484    </blockquote>
8485                                        
8486    
8487    </blockquote>
8488                                
8489    
8490    </blockquote><p>
8491                        
8492    </p>
8493    <p>The mentioned fields above don't have to be in particular order.
8494    </p>
8495    <p>Example:
8496    </p>
8497    <p>
8498                            </p>
8499    <blockquote class="text">
8500    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8501    </p>
8502    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8503    </p>
8504    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8505    </p>
8506    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8507    </p>
8508    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8509    </p>
8510    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8511    </p>
8512    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8513    </p>
8514    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8515    </p>
8516    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8517    </p>
8518    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8519    </p>
8520    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8521    </p>
8522    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8523    </p>
8524    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8525    </p>
8526    <p>&nbsp;&nbsp;&nbsp;"."
8527    </p>
8528    </blockquote><p>
8529                        
8530    </p>
8531    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8532    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8533    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8534    Renaming an instrument</h3>
8535    
8536    <p>The front-end can alter the name of a specific
8537                        instrument by sending the following command:
8538    </p>
8539    <p>
8540                            </p>
8541    <blockquote class="text">
8542    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8543    </p>
8544    </blockquote><p>
8545                        
8546    </p>
8547    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8548                        &lt;name&gt; is the new name for that instrument.
8549    </p>
8550    <p>Possible Answers:
8551    </p>
8552    <p>
8553                            </p>
8554    <blockquote class="text">
8555    <p>"OK" -
8556                                    </p>
8557    <blockquote class="text">
8558    <p>on success
8559    </p>
8560    </blockquote>
8561                                
8562    
8563    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8564                                    </p>
8565    <blockquote class="text">
8566    <p>in case the given instrument does not exists,
8567                                        or if an instrument with name equal to the new
8568                                        name already exists.
8569    </p>
8570    </blockquote>
8571                                
8572    
8573    </blockquote><p>
8574                        
8575    </p>
8576    <p>Example:
8577    </p>
8578    <p>
8579                            </p>
8580    <blockquote class="text">
8581    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8582    </p>
8583    <p>S: "OK"
8584    </p>
8585    </blockquote><p>
8586                        
8587    </p>
8588    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8589    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8590    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8591    Moving an instrument</h3>
8592    
8593    <p>The front-end can move a specific instrument to another directory by
8594                        sending the following command:
8595    </p>
8596    <p>
8597                            </p>
8598    <blockquote class="text">
8599    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8600    </p>
8601    </blockquote><p>
8602                        
8603    </p>
8604    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8605                        to move and &lt;dst&gt; is the directory where the instrument will
8606                        be moved to.
8607    </p>
8608    <p>Possible Answers:
8609    </p>
8610    <p>
8611                            </p>
8612    <blockquote class="text">
8613    <p>"OK" -
8614                                    </p>
8615    <blockquote class="text">
8616    <p>on success
8617    </p>
8618    </blockquote>
8619                                
8620    
8621    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8622                                    </p>
8623    <blockquote class="text">
8624    <p>in case the given instrument does not exists,
8625                                        or if an instrument with name equal to the name of the
8626                                        specified instrument already exists in the destination
8627                                        directory.
8628    </p>
8629    </blockquote>
8630                                
8631    
8632    </blockquote><p>
8633                        
8634    </p>
8635    <p>Example:
8636    </p>
8637    <p>
8638                            </p>
8639    <blockquote class="text">
8640    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8641    </p>
8642    <p>S: "OK"
8643    </p>
8644    </blockquote><p>
8645                        
8646    </p>
8647    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8648    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8649    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8650    Copying instruments</h3>
8651    
8652    <p>The front-end can copy a specific instrument to another directory by
8653                        sending the following command:
8654    </p>
8655    <p>
8656                            </p>
8657    <blockquote class="text">
8658    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8659    </p>
8660    </blockquote><p>
8661                        
8662    </p>
8663    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8664                        to copy and &lt;dst&gt; is the directory where the instrument will
8665                        be copied to.
8666    </p>
8667    <p>Possible Answers:
8668    </p>
8669    <p>
8670                            </p>
8671    <blockquote class="text">
8672    <p>"OK" -
8673                                    </p>
8674    <blockquote class="text">
8675    <p>on success
8676    </p>
8677    </blockquote>
8678                                
8679    
8680    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8681                                    </p>
8682    <blockquote class="text">
8683    <p>in case the given instrument does not exists,
8684                                        or if an instrument with name equal to the name of the
8685                                        specified instrument already exists in the destination
8686                                        directory.
8687    </p>
8688    </blockquote>
8689                                
8690    
8691    </blockquote><p>
8692                        
8693    </p>
8694    <p>Example:
8695    </p>
8696    <p>
8697                            </p>
8698    <blockquote class="text">
8699    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8700    </p>
8701    <p>S: "OK"
8702    </p>
8703    </blockquote><p>
8704                        
8705    </p>
8706    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8707    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8708    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8709    Changing the description of instrument</h3>
8710    
8711    <p>The front-end can alter the description of a specific
8712                        instrument by sending the following command:
8713    </p>
8714    <p>
8715                            </p>
8716    <blockquote class="text">
8717    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8718    </p>
8719    </blockquote><p>
8720                        
8721    </p>
8722    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8723                        &lt;desc&gt; is the new description for the instrument
8724                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8725                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8726    </p>
8727    <p>Possible Answers:
8728    </p>
8729    <p>
8730                            </p>
8731    <blockquote class="text">
8732    <p>"OK" -
8733                                    </p>
8734    <blockquote class="text">
8735    <p>on success
8736    </p>
8737    </blockquote>
8738                                
8739    
8740    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8741                                    </p>
8742    <blockquote class="text">
8743    <p>in case the given instrument does not exists.
8744    </p>
8745    </blockquote>
8746                                
8747    
8748    </blockquote><p>
8749                        
8750    </p>
8751    <p>Example:
8752    </p>
8753    <p>
8754                            </p>
8755    <blockquote class="text">
8756    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8757    </p>
8758    <p>S: "OK"
8759    </p>
8760    </blockquote><p>
8761                        
8762    </p>
8763    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8764    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8765    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8766    Finding instruments</h3>
8767    
8768    <p>The front-end can search for instruments
8769                        in specific directory by sending the following command:
8770    </p>
8771    <p>
8772                            </p>
8773    <blockquote class="text">
8774    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8775    </p>
8776    </blockquote><p>
8777                        
8778    </p>
8779    <p>Where &lt;dir&gt; should be replaced by the absolute path
8780                        name of the directory to search in. If NON_RECURSIVE is specified, the
8781                        directories located in subdirectories of the specified directory will not
8782                        be searched. &lt;criteria-list&gt; is a list of search criterias
8783                        in form of "key1=val1 key2=val2 ...". The following criterias are
8784                        allowed:
8785    </p>
8786    <p>
8787                          
8788    <p>NAME='&lt;search-string&gt;'
8789                              </p>
8790    <blockquote class="text">
8791    <p>Restricts the search to instruments, which names
8792                                  satisfy the supplied search string (encapsulated into apostrophes,
8793                                  supporting escape sequences as described in chapter
8794                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8795    </p>
8796    </blockquote><p>
8797                          
8798    </p>
8799    
8800                          
8801    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8802                              </p>
8803    <blockquote class="text">
8804    <p>Restricts the search to instruments, which
8805                                  size is in the specified range. If &lt;min&gt; is omitted,
8806                                  the search results are restricted to instruments with size less then
8807                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8808                                  search is restricted to instruments with size greater then
8809                                  or equal to &lt;min&gt;.
8810    </p>
8811    </blockquote><p>
8812                          
8813    </p>
8814    
8815                          
8816    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8817                              </p>
8818    <blockquote class="text">
8819    <p>Restricts the search to instruments, which creation
8820                                  date satisfies the specified period, where &lt;date-after&gt;
8821                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8822                                  If &lt;date-after&gt; is omitted the search is restricted to
8823                                  instruments created before &lt;date-before&gt;. If
8824                                  &lt;date-before&gt; is omitted, the search is restricted
8825                                  to instruments created after &lt;date-after&gt;.
8826    </p>
8827    </blockquote><p>
8828                          
8829    </p>
8830    
8831                          
8832    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8833                              </p>
8834    <blockquote class="text">
8835    <p>Restricts the search to instruments, which
8836                                  date of last modification satisfies the specified period, where
8837                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8838                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8839                                  instruments, which are last modified before &lt;date-before&gt;. If
8840                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8841                                  which are last modified after &lt;date-after&gt;.
8842    </p>
8843    </blockquote><p>
8844                          
8845    </p>
8846    
8847                          
8848    <p>DESCRIPTION='&lt;search-string&gt;'
8849                              </p>
8850    <blockquote class="text">
8851    <p>Restricts the search to instruments with description
8852                                  that satisfies the supplied search string (encapsulated into apostrophes,
8853                                  supporting escape sequences as described in chapter
8854                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8855    </p>
8856    </blockquote><p>
8857                          
8858    </p>
8859    
8860                          
8861    <p>PRODUCT='&lt;search-string&gt;'
8862                              </p>
8863    <blockquote class="text">
8864    <p>Restricts the search to instruments with product info
8865                                  that satisfies the supplied search string (encapsulated into apostrophes,
8866                                  supporting escape sequences as described in chapter
8867                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8868    </p>
8869    </blockquote><p>
8870                          
8871    </p>
8872    
8873                          
8874    <p>ARTISTS='&lt;search-string&gt;'
8875                              </p>
8876    <blockquote class="text">
8877    <p>Restricts the search to instruments with artists info
8878                                  that satisfies the supplied search string (encapsulated into apostrophes,
8879                                  supporting escape sequences as described in chapter
8880                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8881    </p>
8882    </blockquote><p>
8883                          
8884    </p>
8885    
8886                          
8887    <p>KEYWORDS='&lt;search-string&gt;'
8888                              </p>
8889    <blockquote class="text">
8890    <p>Restricts the search to instruments with keyword list
8891                                  that satisfies the supplied search string (encapsulated into apostrophes,
8892                                  supporting escape sequences as described in chapter
8893                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8894    </p>
8895    </blockquote><p>
8896                          
8897    </p>
8898    
8899                          
8900    <p>IS_DRUM=true | false
8901                              </p>
8902    <blockquote class="text">
8903    <p>Either true or false. Restricts the search to
8904                                  drum kits or chromatic instruments.
8905    </p>
8906    </blockquote><p>
8907                          
8908    </p>
8909    
8910                          
8911    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8912                              </p>
8913    <blockquote class="text">
8914    <p>Restricts the search to instruments of the supplied format families,
8915                                  where &lt;format-list&gt; is a comma separated list of format families.
8916    </p>
8917    </blockquote><p>
8918                          
8919    </p>
8920                        
8921    
8922    <p>Where &lt;search-string&gt; is either a regular expression, or a
8923                        word list separated with spaces for OR search and with '+' for AND search.
8924    </p>
8925    <p>Possible Answers:
8926    </p>
8927    <p>
8928                            </p>
8929    <blockquote class="text">
8930    <p>A comma separated list with the absolute path names (encapsulated into
8931                                apostrophes) of all instruments in the specified directory that satisfy
8932                                the supplied search criterias.
8933    </p>
8934    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8935                                    </p>
8936    <blockquote class="text">
8937    <p>if the given directory does not exist.
8938    </p>
8939    </blockquote>
8940                                
8941    
8942    </blockquote><p>
8943                        
8944    </p>
8945    <p>Example:
8946    </p>
8947    <p>
8948                            </p>
8949    <blockquote class="text">
8950    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8951    </p>
8952    <p>S: "'/Piano Collection/Bosendorfer 290'"
8953    </p>
8954    </blockquote><p>
8955                        
8956    </p>
8957    <p>
8958                            </p>
8959    <blockquote class="text">
8960    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8961    </p>
8962    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8963    </p>
8964    </blockquote><p>
8965                        
8966    </p>
8967    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8968    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8969    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8970    Getting job status information</h3>
8971    
8972    <p>The front-end can ask for the current status of a
8973                        particular database instruments job by sending the following command:
8974    </p>
8975    <p>
8976                            </p>
8977    <blockquote class="text">
8978    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8979    </p>
8980    </blockquote><p>
8981                        
8982    </p>
8983    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8984                        of the job the front-end is interested in.
8985    </p>
8986    <p>Possible Answers:
8987    </p>
8988    <p>
8989                            </p>
8990    <blockquote class="text">
8991    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8992                                Each answer line begins with the settings category name
8993                                followed by a colon and then a space character &lt;SP&gt; and finally
8994                                the info character string to that setting category. At the
8995                                moment the following categories are defined:
8996    </p>
8997    <p>
8998                                    </p>
8999    <blockquote class="text">
9000    <p>FILES_TOTAL -
9001                                            </p>
9002    <blockquote class="text">
9003    <p>The total number of files scheduled for scanning
9004    </p>
9005    </blockquote>
9006                                        
9007    
9008    <p>FILES_SCANNED -
9009                                            </p>
9010    <blockquote class="text">
9011    <p>The current number of scanned files
9012    </p>
9013    </blockquote>
9014                                        
9015    
9016    <p>SCANNING -
9017                                            </p>
9018    <blockquote class="text">
9019    <p>The absolute path name of the file which is currently
9020                                                being scanned
9021    </p>
9022    </blockquote>
9023                                        
9024    
9025    <p>STATUS -
9026                                            </p>
9027    <blockquote class="text">
9028    <p>An integer value between 0 and 100 indicating the
9029                                                scanning progress percentage of the file which is
9030                                                currently being scanned
9031    </p>
9032    </blockquote>
9033                                        
9034    
9035    </blockquote>
9036                                
9037    
9038    </blockquote><p>
9039                        
9040    </p>
9041    <p>The mentioned fields above don't have to be in particular order.
9042    </p>
9043    <p>Example:
9044    </p>
9045    <p>
9046                            </p>
9047    <blockquote class="text">
9048    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9049    </p>
9050    <p>S: "FILES_TOTAL: 12"
9051    </p>
9052    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9053    </p>
9054    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9055    </p>
9056    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9057    </p>
9058    <p>&nbsp;&nbsp;&nbsp;"."
9059    </p>
9060    </blockquote><p>
9061                        
9062    </p>
9063    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9064    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9065    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9066    Formatting the instruments database</h3>
9067    
9068    <p>The front-end can remove all instruments and directories and re-create
9069                        the instruments database structure (e.g., in case of a database corruption)
9070                        by sending the following command:
9071    </p>
9072    <p>
9073                            </p>
9074    <blockquote class="text">
9075    <p>FORMAT INSTRUMENTS_DB
9076    </p>
9077    </blockquote><p>
9078                        
9079    </p>
9080    <p>Possible Answers:
9081    </p>
9082    <p>
9083                            </p>
9084    <blockquote class="text">
9085    <p>"OK" -
9086                                    </p>
9087    <blockquote class="text">
9088    <p>on success
9089    </p>
9090    </blockquote>
9091                                
9092    
9093    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9094                                    </p>
9095    <blockquote class="text">
9096    <p>If the formatting of the instruments database
9097                                        failed.
9098    </p>
9099    </blockquote>
9100                                
9101    
9102    </blockquote><p>
9103                        
9104    </p>
9105    <a name="editing_instruments"></a><br /><hr />
9106    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9107    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9108    Editing Instruments</h3>
9109    
9110    <p>The sampler allows to edit instruments while playing with the
9111                    sampler by spawning an external (3rd party) instrument editor
9112                    application for a given instrument. The 3rd party instrument
9113                    editor applications have to place a respective plugin DLL file
9114                    into the sampler's plugins directory. The sampler will
9115                    automatically try to load all plugin DLLs in that directory on
9116                    startup and only on startup!
9117    </p>
9118    <p>At the moment there is only one command for this feature set,
9119                    but this will most probably change in future.
9120    </p>
9121    <a name="EDIT INSTRUMENT"></a><br /><hr />
9122    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9123    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9124    Opening an appropriate instrument editor application</h3>
9125    
9126    <p>The front-end can request to open an appropriate instrument
9127                        editor application by sending the following command:
9128    </p>
9129    <p>
9130                            </p>
9131    <blockquote class="text">
9132    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9133    </p>
9134    </blockquote><p>
9135                        
9136    </p>
9137    <p>Where &lt;sampler-channel&gt; should be replaced by the
9138                        number of the sampler channel as given by the
9139                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9140                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9141                        command.
9142    </p>
9143    <p>The sampler will try to ask all registered instrument
9144                        editors (or to be more specific: their sampler plugins)
9145                        whether they are capable to handle the instrument on the
9146                        given sampler channel. The sampler will simply use the first
9147                        instrument editor application which replied with a positive
9148                        answer and spawn that instrument editor application within
9149                        the sampler's process and provide that application access
9150                        to the instrument's data structures, so both applications
9151                        can share and access the same instruments data at the same
9152                        time, thus allowing to immediately hear changes with the
9153                        sampler made by the instrument editor.
9154    </p>
9155    <p>Note: consequently instrument editors are always spawned
9156                        locally on the same machine where the sampler is running
9157                        on!
9158    </p>
9159    <p>Possible Answers:
9160    </p>
9161    <p>
9162                            </p>
9163    <blockquote class="text">
9164    <p>"OK" -
9165                                    </p>
9166    <blockquote class="text">
9167    <p>when an appropriate instrument editor was
9168                                        launched
9169    </p>
9170    </blockquote>
9171                                
9172    
9173    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9174                                    </p>
9175    <blockquote class="text">
9176    <p>when an appropriate instrument editor was
9177                                        launched, but there are noteworthy issues
9178    </p>
9179    </blockquote>
9180                                
9181    
9182    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9183                                    </p>
9184    <blockquote class="text">
9185    <p>when an appropriate instrument editor
9186                                        could not be launched
9187    </p>
9188    </blockquote>
9189                                
9190    
9191    </blockquote><p>
9192                        
9193    </p>
9194    <p>Examples:
9195    </p>
9196    <p>
9197                            </p>
9198    <blockquote class="text">
9199    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9200    </p>
9201    <p>S: "OK"
9202    </p>
9203    </blockquote><p>
9204                        
9205    </p>
9206    <a name="file_management"></a><br /><hr />
9207    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9208    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9209    Managing Files</h3>
9210    
9211    <p>You can query detailed informations about files located
9212                    at the same system where the sampler instance is running on.
9213                    Using this command set allows to retrieve file informations
9214                    even remotely from another machine.
9215    </p>
9216    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9217    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9218    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9219    Retrieving amount of instruments of a file</h3>
9220    
9221    <p>The front-end can retrieve the amount of instruments
9222                        within a given instrument file by sending the
9223                        following command:
9224    </p>
9225    <p>
9226                            </p>
9227    <blockquote class="text">
9228    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9229    </p>
9230    </blockquote><p>
9231                        
9232    </p>
9233    <p>Where &lt;filename&gt; is the name of the instrument
9234                        file (encapsulated into apostrophes, supporting escape
9235                        sequences as described in chapter
9236                        "<a class='info' href='#character_set'>Character Set and Escape
9237                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9238    </p>
9239    <p>The sampler will try to ask all sampler engines,
9240                        whether they support the given file and ask the first
9241                        engine with a positive answer for the amount of
9242                        instruments.
9243    </p>
9244    <p>Possible Answers:
9245    </p>
9246    <p>
9247                            </p>
9248    <blockquote class="text">
9249    <p>On success, the sampler will answer by
9250                                   returning the amount of instruments.
9251                                
9252    </p>
9253    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9254                                    </p>
9255    <blockquote class="text">
9256    <p>if the file could not be handled
9257    </p>
9258    </blockquote>
9259                                
9260    
9261    </blockquote><p>
9262                        
9263    </p>
9264    <p>Examples:
9265    </p>
9266    <p>
9267                            </p>
9268    <blockquote class="text">
9269    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9270    </p>
9271    <p>S: "10"
9272    </p>
9273    </blockquote><p>
9274                        
9275    </p>
9276    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9277    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9278    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9279    Retrieving all instruments of a file</h3>
9280    
9281    <p>The front-end can retrieve a list of all instruments
9282                        within a given instrument file by sending the
9283                        following command:
9284    </p>
9285    <p>
9286                            </p>
9287    <blockquote class="text">
9288    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9289    </p>
9290    </blockquote><p>
9291                        
9292    </p>
9293    <p>Where &lt;filename&gt; is the name of the instrument
9294                        file (encapsulated into apostrophes, supporting escape
9295                        sequences as described in chapter
9296                        "<a class='info' href='#character_set'>Character Set and Escape
9297                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9298    </p>
9299    <p>The sampler will try to ask all sampler engines,
9300                        whether they support the given file and ask the first
9301                        engine with a positive answer for a list of IDs for the
9302                        instruments in the given file.
9303    </p>
9304    <p>Possible Answers:
9305    </p>
9306    <p>
9307                            </p>
9308    <blockquote class="text">
9309    <p>On success, the sampler will answer by
9310                                   returning a comma separated list of
9311                                   instrument IDs.
9312                                
9313    </p>
9314    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9315                                    </p>
9316    <blockquote class="text">
9317    <p>if the file could not be handled
9318    </p>
9319    </blockquote>
9320                                
9321    
9322    </blockquote><p>
9323                        
9324    </p>
9325    <p>Examples:
9326    </p>
9327    <p>
9328                            </p>
9329    <blockquote class="text">
9330    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9331    </p>
9332    <p>S: "0,1,2,3,4,5,6,7,8,9"
9333    </p>
9334    </blockquote><p>
9335                        
9336    </p>
9337    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9338    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9339    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9340    Retrieving informations about one instrument in a file</h3>
9341    
9342    <p>The front-end can retrieve detailed informations
9343                        about a specific instrument within a given instrument
9344                        file by sending the following command:
9345    </p>
9346    <p>
9347                            </p>
9348    <blockquote class="text">
9349    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9350                                &lt;instr-id&gt;
9351    </p>
9352    </blockquote><p>
9353                        
9354    </p>
9355    <p>Where &lt;filename&gt; is the name of the instrument
9356                        file (encapsulated into apostrophes, supporting escape
9357                        sequences as described in chapter
9358                        "<a class='info' href='#character_set'>Character Set and Escape
9359                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9360                        instrument ID as returned by the
9361                        <a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a> command.
9362    </p>
9363    <p>The sampler will try to ask all sampler engines,
9364                        whether they support the given file and ask the first
9365                        engine with a positive answer for informations about the
9366                        specific instrument in the given file.
9367    </p>
9368    <p>Possible Answers:
9369    </p>
9370    <p>
9371                            </p>
9372    <blockquote class="text">
9373    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9374                                Each answer line begins with the settings category name
9375                                followed by a colon and then a space character &lt;SP&gt; and finally
9376                                the info character string to that setting category. At the
9377                                moment the following categories are defined:
9378    </p>
9379    <p>
9380                                    </p>
9381    <blockquote class="text">
9382    <p>NAME -
9383                                            </p>
9384    <blockquote class="text">
9385    <p>name of the instrument as
9386                                                stored in the instrument file
9387    </p>
9388    </blockquote>
9389                                        
9390    
9391    <p>FORMAT_FAMILY -
9392                                            </p>
9393    <blockquote class="text">
9394    <p>name of the sampler format
9395                                                of the given instrument
9396    </p>
9397    </blockquote>
9398                                        
9399    
9400    <p>FORMAT_VERSION -
9401                                            </p>
9402    <blockquote class="text">
9403    <p>version of the sampler format
9404                                                the instrumen is stored as
9405    </p>
9406    </blockquote>
9407                                        
9408    
9409    <p>PRODUCT -
9410                                            </p>
9411    <blockquote class="text">
9412    <p>official product name of the
9413                                                instrument as stored in the file
9414                                                
9415    </p>
9416    </blockquote>
9417                                        
9418    
9419    <p>ARTISTS -
9420                                            </p>
9421    <blockquote class="text">
9422    <p>artists / sample library
9423                                                vendor of the instrument
9424    </p>
9425    </blockquote>
9426                                        
9427    
9428    </blockquote>
9429                                
9430    
9431    </blockquote><p>
9432                        
9433    </p>
9434    <p>The mentioned fields above don't have to be in particular order.
9435    </p>
9436    <p>Example:
9437    </p>
9438    <p>
9439                            </p>
9440    <blockquote class="text">
9441    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9442    </p>
9443    <p>S: "NAME: Lunatic Loops"
9444    </p>
9445    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9446    </p>
9447    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9448    </p>
9449    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9450    </p>
9451    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9452    </p>
9453    <p>&nbsp;&nbsp;&nbsp;"."
9454    </p>
9455    </blockquote><p>
9456                        
9457    </p>
9458  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9459  <table 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>
9460  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 6918  Command Syntax</h3> Line 9555  Command Syntax</h3>
9555  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9556                                    
9557  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
9558  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
9559                                    
9560  </p>  </p>
9561  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9562                                    
9563  </p>  </p>
9564    <p>/ FIND SP find_instruction
9565                    
9566    </p>
9567    <p>/ MOVE SP move_instruction
9568                    
9569    </p>
9570    <p>/ COPY SP copy_instruction
9571                    
9572    </p>
9573    <p>/ EDIT SP edit_instruction
9574                    
9575    </p>
9576    <p>/ FORMAT SP format_instruction
9577                    
9578    </p>
9579  <p>/ RESET  <p>/ RESET
9580                                    
9581  </p>  </p>
# Line 6942  Command Syntax</h3> Line 9591  Command Syntax</h3>
9591  <p>CHANNEL  <p>CHANNEL
9592                                    
9593  </p>  </p>
9594    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9595                    
9596    </p>
9597    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9598                    
9599    </p>
9600    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9601                    
9602    </p>
9603    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9604                    
9605    </p>
9606    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9607                    
9608    </p>
9609    <p>/ DB_INSTRUMENTS SP db_path SP filename
9610                    
9611    </p>
9612    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9613                    
9614    </p>
9615  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
9616                                    
9617  </p>  </p>
# Line 6969  Command Syntax</h3> Line 9639  Command Syntax</h3>
9639  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
9640                                    
9641  </p>  </p>
9642    <p>/ CHANNEL_MIDI
9643                    
9644    </p>
9645  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
9646                                    
9647  </p>  </p>
# Line 6981  Command Syntax</h3> Line 9654  Command Syntax</h3>
9654  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9655                                    
9656  </p>  </p>
9657    <p>/ FX_SEND_COUNT
9658                    
9659    </p>
9660    <p>/ FX_SEND_INFO
9661                    
9662    </p>
9663  <p>/ MIDI_INSTRUMENT_MAP_COUNT  <p>/ MIDI_INSTRUMENT_MAP_COUNT
9664                                    
9665  </p>  </p>
# Line 6993  Command Syntax</h3> Line 9672  Command Syntax</h3>
9672  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9673                                    
9674  </p>  </p>
9675    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9676                    
9677    </p>
9678    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9679                    
9680    </p>
9681    <p>/ DB_INSTRUMENT_COUNT
9682                    
9683    </p>
9684    <p>/ DB_INSTRUMENT_INFO
9685                    
9686    </p>
9687    <p>/ DB_INSTRUMENTS_JOB_INFO
9688                    
9689    </p>
9690  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9691                                    
9692  </p>  </p>
9693    <p>/ TOTAL_STREAM_COUNT
9694                    
9695    </p>
9696  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9697                                    
9698  </p>  </p>
9699    <p>/ GLOBAL_INFO
9700                    
9701    </p>
9702  </blockquote><p>  </blockquote><p>
9703    
9704  </p>  </p>
# Line 7020  Command Syntax</h3> Line 9720  Command Syntax</h3>
9720  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
9721                                    
9722  </p>  </p>
9723    <p>/ CHANNEL_MIDI
9724                    
9725    </p>
9726  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
9727                                    
9728  </p>  </p>
# Line 7032  Command Syntax</h3> Line 9735  Command Syntax</h3>
9735  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9736                                    
9737  </p>  </p>
9738    <p>/ FX_SEND_COUNT
9739                    
9740    </p>
9741    <p>/ FX_SEND_INFO
9742                    
9743    </p>
9744  <p>/ MIDI_INSTRUMENT_MAP_COUNT  <p>/ MIDI_INSTRUMENT_MAP_COUNT
9745                                    
9746  </p>  </p>
# Line 7044  Command Syntax</h3> Line 9753  Command Syntax</h3>
9753  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9754                                    
9755  </p>  </p>
9756    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9757                    
9758    </p>
9759    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9760                    
9761    </p>
9762    <p>/ DB_INSTRUMENT_COUNT
9763                    
9764    </p>
9765    <p>/ DB_INSTRUMENT_INFO
9766                    
9767    </p>
9768    <p>/ DB_INSTRUMENTS_JOB_INFO
9769                    
9770    </p>
9771  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9772                                    
9773  </p>  </p>
9774    <p>/ TOTAL_STREAM_COUNT
9775                    
9776    </p>
9777  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9778                                    
9779  </p>  </p>
9780    <p>/ GLOBAL_INFO
9781                    
9782    </p>
9783  </blockquote><p>  </blockquote><p>
9784    
9785  </p>  </p>
9786  <p>map_instruction =  <p>map_instruction =
9787          </p>          </p>
9788  <blockquote class="text">  <blockquote class="text">
9789  <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
9790                                    
9791  </p>  </p>
9792  <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
9793                                    
9794  </p>  </p>
9795  <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
9796                                    
9797  </p>  </p>
9798  <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
9799                                    
9800  </p>  </p>
9801  </blockquote><p>  </blockquote><p>
# Line 7092  Command Syntax</h3> Line 9822  Command Syntax</h3>
9822  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
9823                                    
9824  </p>  </p>
9825    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9826                    
9827    </p>
9828    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9829                    
9830    </p>
9831    <p>/ DB_INSTRUMENT SP db_path
9832                    
9833    </p>
9834  </blockquote><p>  </blockquote><p>
9835    
9836  </p>  </p>
# Line 7170  Command Syntax</h3> Line 9909  Command Syntax</h3>
9909  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
9910                                    
9911  </p>  </p>
9912    <p>/ TOTAL_STREAM_COUNT
9913                    
9914    </p>
9915  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9916                                    
9917  </p>  </p>
# Line 7197  Command Syntax</h3> Line 9939  Command Syntax</h3>
9939  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9940                                    
9941  </p>  </p>
9942    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9943                    
9944    </p>
9945    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9946                    
9947    </p>
9948    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9949                    
9950    </p>
9951    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9952                    
9953    </p>
9954    <p>/ DB_INSTRUMENTS SP db_path
9955                    
9956    </p>
9957    <p>/ DB_INSTRUMENT SP INFO SP db_path
9958                    
9959    </p>
9960    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9961                    
9962    </p>
9963    <p>/ VOLUME
9964                    
9965    </p>
9966    <p>/ FILE SP INSTRUMENTS SP filename
9967                    
9968    </p>
9969    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
9970                    
9971    </p>
9972  </blockquote><p>  </blockquote><p>
9973    
9974  </p>  </p>
# Line 7212  Command Syntax</h3> Line 9984  Command Syntax</h3>
9984  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9985                                    
9986  </p>  </p>
9987    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9988                    
9989    </p>
9990  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
9991                                    
9992  </p>  </p>
# Line 7221  Command Syntax</h3> Line 9996  Command Syntax</h3>
9996  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9997                                    
9998  </p>  </p>
9999    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
10000                    
10001    </p>
10002  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
10003                                    
10004  </p>  </p>
10005    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
10006                    
10007    </p>
10008    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
10009                    
10010    </p>
10011    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10012                    
10013    </p>
10014    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10015                    
10016    </p>
10017    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10018                    
10019    </p>
10020    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10021                    
10022    </p>
10023  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
10024                                    
10025  </p>  </p>
10026    <p>/ VOLUME SP volume_value
10027                    
10028    </p>
10029  </blockquote><p>  </blockquote><p>
10030    
10031  </p>  </p>
# Line 7275  Command Syntax</h3> Line 10074  Command Syntax</h3>
10074  </blockquote><p>  </blockquote><p>
10075    
10076  </p>  </p>
10077    <p>find_instruction =
10078            </p>
10079    <blockquote class="text">
10080    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10081                    
10082    </p>
10083    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10084                    
10085    </p>
10086    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10087                    
10088    </p>
10089    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10090                    
10091    </p>
10092    </blockquote><p>
10093    
10094    </p>
10095    <p>move_instruction =
10096            </p>
10097    <blockquote class="text">
10098    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10099                    
10100    </p>
10101    <p>/ DB_INSTRUMENT SP db_path SP db_path
10102                    
10103    </p>
10104    </blockquote><p>
10105    
10106    </p>
10107    <p>copy_instruction =
10108            </p>
10109    <blockquote class="text">
10110    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10111                    
10112    </p>
10113    <p>/ DB_INSTRUMENT SP db_path SP db_path
10114                    
10115    </p>
10116    </blockquote><p>
10117    
10118    </p>
10119  <p>destroy_instruction =  <p>destroy_instruction =
10120          </p>          </p>
10121  <blockquote class="text">  <blockquote class="text">
# Line 7350  Command Syntax</h3> Line 10191  Command Syntax</h3>
10191  </blockquote><p>  </blockquote><p>
10192    
10193  </p>  </p>
10194    <p>edit_instruction =
10195            </p>
10196    <blockquote class="text">
10197    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10198                    
10199    </p>
10200    </blockquote><p>
10201    
10202    </p>
10203    <p>format_instruction =
10204            </p>
10205    <blockquote class="text">
10206    <p>INSTRUMENTS_DB
10207                    
10208    </p>
10209    </blockquote><p>
10210    
10211    </p>
10212    <p>modal_arg =
10213            </p>
10214    <blockquote class="text">
10215    <p>/* epsilon (empty argument) */
10216                    
10217    </p>
10218    <p>/ NON_MODAL SP
10219                    
10220    </p>
10221    </blockquote><p>
10222    
10223    </p>
10224  <p>key_val_list =  <p>key_val_list =
10225          </p>          </p>
10226  <blockquote class="text">  <blockquote class="text">
# Line 7407  Command Syntax</h3> Line 10278  Command Syntax</h3>
10278  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
10279                                    
10280  </p>  </p>
10281    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10282                    
10283    </p>
10284    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10285                    
10286    </p>
10287    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10288                    
10289    </p>
10290    <p>/ DB_INSTRUMENTS SP db_path
10291                    
10292    </p>
10293    <p>/ FILE SP INSTRUMENTS SP filename
10294                    
10295    </p>
10296  </blockquote><p>  </blockquote><p>
10297    
10298  </p>  </p>
# Line 7590  Command Syntax</h3> Line 10476  Command Syntax</h3>
10476  <p>filename =  <p>filename =
10477          </p>          </p>
10478  <blockquote class="text">  <blockquote class="text">
10479  <p>stringval  <p>path
10480                    
10481    </p>
10482    </blockquote><p>
10483    
10484    </p>
10485    <p>db_path =
10486            </p>
10487    <blockquote class="text">
10488    <p>path
10489                                    
10490  </p>  </p>
10491  </blockquote><p>  </blockquote><p>
# Line 7599  Command Syntax</h3> Line 10494  Command Syntax</h3>
10494  <p>map_name =  <p>map_name =
10495          </p>          </p>
10496  <blockquote class="text">  <blockquote class="text">
10497  <p>stringval  <p>stringval_escaped
10498                                    
10499  </p>  </p>
10500  </blockquote><p>  </blockquote><p>
# Line 7608  Command Syntax</h3> Line 10503  Command Syntax</h3>
10503  <p>entry_name =  <p>entry_name =
10504          </p>          </p>
10505  <blockquote class="text">  <blockquote class="text">
10506  <p>stringval  <p>stringval_escaped
10507                                    
10508  </p>  </p>
10509  </blockquote><p>  </blockquote><p>
# Line 7617  Command Syntax</h3> Line 10512  Command Syntax</h3>
10512  <p>fx_send_name =  <p>fx_send_name =
10513          </p>          </p>
10514  <blockquote class="text">  <blockquote class="text">
10515  <p>stringval  <p>stringval_escaped
10516                                    
10517  </p>  </p>
10518  </blockquote><p>  </blockquote><p>
# Line 7653  Command Syntax</h3> Line 10548  Command Syntax</h3>
10548  </blockquote><p>  </blockquote><p>
10549    
10550  </p>  </p>
10551    <p>query_val_list =
10552            </p>
10553    <blockquote class="text">
10554    <p>string '=' query_val
10555                    
10556    </p>
10557    <p>/ query_val_list SP string '=' query_val
10558                    
10559    </p>
10560    </blockquote><p>
10561    
10562    </p>
10563    <p>query_val =
10564            </p>
10565    <blockquote class="text">
10566    <p>text_escaped
10567                    
10568    </p>
10569    <p>/ stringval_escaped
10570                    
10571    </p>
10572    </blockquote><p>
10573    
10574    </p>
10575    <p>scan_mode =
10576            </p>
10577    <blockquote class="text">
10578    <p>RECURSIVE
10579                    
10580    </p>
10581    <p>/ NON_RECURSIVE
10582                    
10583    </p>
10584    <p>/ FLAT
10585                    
10586    </p>
10587    </blockquote><p>
10588    
10589    </p>
10590    <a name="character_set"></a><br /><hr />
10591    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10592    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10593    Character Set and Escape Sequences</h3>
10594    
10595    <p>Older versions of this protocol up to and including v1.1 only
10596                    supported the standard ASCII character set (ASCII code 0 - 127)
10597                    <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>, all younger versions of this protocol
10598                    however support the Extended ASCII character set (ASCII code
10599                    0 - 255). The same group of younger protocols also support
10600                    escape sequences, but only for certain, explicitly declared
10601                    parts of the protocol. The supported escape sequences are
10602                    defined as follows:
10603    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10604    <col align="left"><col align="left">
10605    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10606    <tr>
10607    <td align="left">\n</td>
10608    <td align="left">new line</td>
10609    </tr>
10610    <tr>
10611    <td align="left">\r</td>
10612    <td align="left">carriage return</td>
10613    </tr>
10614    <tr>
10615    <td align="left">\f</td>
10616    <td align="left">form feed</td>
10617    </tr>
10618    <tr>
10619    <td align="left">\t</td>
10620    <td align="left">horizontal tab</td>
10621    </tr>
10622    <tr>
10623    <td align="left">\v</td>
10624    <td align="left">vertical tab</td>
10625    </tr>
10626    <tr>
10627    <td align="left">\'</td>
10628    <td align="left">apostrophe</td>
10629    </tr>
10630    <tr>
10631    <td align="left">\"</td>
10632    <td align="left">quotation mark</td>
10633    </tr>
10634    <tr>
10635    <td align="left">\\</td>
10636    <td align="left">backslash</td>
10637    </tr>
10638    <tr>
10639    <td align="left">\OOO</td>
10640    <td align="left">three digit octal ASCII code of the character</td>
10641    </tr>
10642    <tr>
10643    <td align="left">\xHH</td>
10644    <td align="left">two digit hex ASCII code of the character</td>
10645    </tr>
10646    </table>
10647    
10648    <p>Notice: due to the transition of certain parts of the
10649                    protocol which now support escape sequences, a slight backward
10650                    incompatibility to protocols version v1.1 and younger has been
10651                    introduced. The only difference is that in parts of the protocol
10652                    where escape characters are now supported, a backslash characters
10653                    MUST be escaped as well (that is as double backslash), whereas
10654                    in the old versions a single backslash was sufficient.
10655    </p>
10656    <p>The following LSCP commands support escape sequences as part
10657                    of their filename / path based arguments and / or may contain
10658                    a filename / path with escape sequences in their response:
10659                    </p>
10660    <blockquote class="text">
10661    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10662    </p>
10663    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10664    </p>
10665    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
10666    </p>
10667    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10668    </p>
10669    <p><a class='info' href='#ADD DB_INSTRUMENT_DIRECTORY'>"ADD DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Creating a new instrument directory</span><span>)</span></a>
10670    </p>
10671    <p><a class='info' href='#ADD DB_INSTRUMENTS'>"ADD DB_INSTRUMENTS"<span> (</span><span class='info'>Adding instruments to the instruments database</span><span>)</span></a>
10672    </p>
10673    <p><a class='info' href='#REMOVE DB_INSTRUMENT_DIRECTORY'>"REMOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Deleting an instrument directory</span><span>)</span></a>
10674    </p>
10675    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10676    </p>
10677    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORIES'>"GET DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Getting amount of instrument directories</span><span>)</span></a>
10678    </p>
10679    <p><a class='info' href='#LIST DB_INSTRUMENT_DIRECTORIES'>"LIST DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Listing all directories in specific directory</span><span>)</span></a>
10680    </p>
10681    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
10682    </p>
10683    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10684    </p>
10685    <p><a class='info' href='#LIST DB_INSTRUMENTS'>"LIST DB_INSTRUMENTS"<span> (</span><span class='info'>Listing all instruments in specific directory</span><span>)</span></a>
10686    </p>
10687    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
10688    </p>
10689    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10690    </p>
10691    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10692    </p>
10693    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10694    </p>
10695    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10696    </p>
10697    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10698    </p>
10699    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10700    </p>
10701    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10702    </p>
10703    <p><a class='info' href='#MOVE DB_INSTRUMENT_DIRECTORY'>"MOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Moving an instrument directory</span><span>)</span></a>
10704    </p>
10705    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10706    </p>
10707    <p><a class='info' href='#COPY DB_INSTRUMENT_DIRECTORY'>"COPY DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Copying instrument directories</span><span>)</span></a>
10708    </p>
10709    <p><a class='info' href='#GET FILE INSTRUMENTS'>"GET FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving amount of instruments of a file</span><span>)</span></a>
10710    </p>
10711    <p><a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a>
10712    </p>
10713    <p><a class='info' href='#GET FILE INSTRUMENT INFO'>"GET FILE INSTRUMENT INFO"<span> (</span><span class='info'>Retrieving informations about one instrument in a file</span><span>)</span></a>
10714    </p>
10715    </blockquote><p>
10716                    Note that the forward slash character ('/') has a special meaning in
10717                    filename / path based arguments: it acts as separator of the nodes in
10718                    the path, thus if a directory- or filename includes a forward slash
10719                    (not intended as path node separator), you MUST escape that slash
10720                    either with the respective hex escape sequence ("\x2f") or with the
10721                    respective octal escape sequence ("\057").
10722                    
10723    </p>
10724    <p>
10725                    Note for Windows: file path arguments in LSCP are expected
10726                    to use forward slashes as directory node separator similar
10727                    to Unix based operating systems. In contrast to Unix however
10728                    a Windows typical drive character is expected to be
10729                    prefixed to the path. That is an original Windows file path
10730                    like "D:\Sounds\My.gig" would become in LSCP:
10731                    "D:/Sounds/My.gig".
10732                    
10733    </p>
10734    <p>
10735                    The following LSCP commands even support escape sequences as
10736                    part of at least one of their text-based arguments (i.e. entity name,
10737                    description) and / or may contain escape sequences in at least one of
10738                    their text-based fields in their response:
10739                    </p>
10740    <blockquote class="text">
10741    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10742    </p>
10743    <p><a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>
10744    </p>
10745    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10746    </p>
10747    <p><a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
10748    </p>
10749    <p><a class='info' href='#GET FX_SEND INFO'>"GET FX_SEND INFO"<span> (</span><span class='info'>Getting effect send information</span><span>)</span></a>
10750    </p>
10751    <p><a class='info' href='#SET FX_SEND NAME'>"SET FX_SEND NAME"<span> (</span><span class='info'>Changing effect send's name</span><span>)</span></a>
10752    </p>
10753    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10754    </p>
10755    <p><a class='info' href='#GET MIDI_INSTRUMENT_MAP INFO'>"GET MIDI_INSTRUMENT_MAP INFO"<span> (</span><span class='info'>Getting MIDI instrument map information</span><span>)</span></a>
10756    </p>
10757    <p><a class='info' href='#ADD MIDI_INSTRUMENT_MAP'>"ADD MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Create a new MIDI instrument map</span><span>)</span></a>
10758    </p>
10759    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
10760    </p>
10761    <p><a class='info' href='#SET MIDI_INSTRUMENT_MAP NAME'>"SET MIDI_INSTRUMENT_MAP NAME"<span> (</span><span class='info'>Renaming a MIDI instrument map</span><span>)</span></a>
10762    </p>
10763    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
10764    </p>
10765    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10766    </p>
10767    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10768    </p>
10769    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10770    </p>
10771    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
10772    </p>
10773    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10774    </p>
10775    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10776    </p>
10777    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10778    </p>
10779    </blockquote><p>
10780                    Please note that these lists are manually maintained. If you
10781                    find a command that also supports escape sequences we forgot to
10782                    mention here, please report it!
10783                    
10784    </p>
10785  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10786  <table 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>
10787  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 7813  Number of sampler channels changed</h3> Line 10942  Number of sampler channels changed</h3>
10942  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
10943                  of sampler channels.                  of sampler channels.
10944  </p>  </p>
10945  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
10946  <table 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>
10947  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
10948    MIDI data on a sampler channel arrived</h3>
10949    
10950    <p>Client may want to be notified when MIDI data arrive on sampler channels on
10951                    back-end side, by issuing the following command:
10952    </p>
10953    <p>
10954                        </p>
10955    <blockquote class="text">
10956    <p>SUBSCRIBE CHANNEL_MIDI
10957    </p>
10958    </blockquote><p>
10959                    
10960    </p>
10961    <p>Server will start sending one of the the following notification messages:
10962    </p>
10963    <p>
10964                        </p>
10965    <blockquote class="text">
10966    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
10967    </p>
10968    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
10969    </p>
10970    </blockquote><p>
10971                    
10972    </p>
10973    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
10974                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
10975                    0 .. 127, reflecting the analog meaning of the MIDI specification.
10976                    
10977    </p>
10978    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
10979                    delivered by this mechanism! With other words: events could be lost at any time!
10980                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
10981                    thread unaffected by this feature.
10982    </p>
10983    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10984    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10985    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
10986  Number of active voices changed</h3>  Number of active voices changed</h3>
10987    
10988  <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 7834  Number of active voices changed</h3> Line 11001  Number of active voices changed</h3>
11001  <p>  <p>
11002                      </p>                      </p>
11003  <blockquote class="text">  <blockquote class="text">
11004  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
11005  </p>  </p>
11006  </blockquote><p>  </blockquote><p>
11007                                    
# Line 7845  Number of active voices changed</h3> Line 11012  Number of active voices changed</h3>
11012  </p>  </p>
11013  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
11014  <table 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>
11015  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
11016  Number of active disk streams changed</h3>  Number of active disk streams changed</h3>
11017    
11018  <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 7875  Number of active disk streams changed</h Line 11042  Number of active disk streams changed</h
11042  </p>  </p>
11043  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
11044  <table 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>
11045  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
11046  Disk stream buffer fill state changed</h3>  Disk stream buffer fill state changed</h3>
11047    
11048  <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 7906  Disk stream buffer fill state changed</h Line 11073  Disk stream buffer fill state changed</h
11073  </p>  </p>
11074  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
11075  <table 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>
11076  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11077  Channel information changed</h3>  Channel information changed</h3>
11078    
11079  <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 7937  Channel information changed</h3> Line 11104  Channel information changed</h3>
11104                  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
11105                  message is sufficient here.                  message is sufficient here.
11106  </p>  </p>
11107    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
11108    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11109    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11110    Number of effect sends changed</h3>
11111    
11112    <p>Client may want to be notified when the number of effect sends on
11113                    a particular sampler channel is changed by issuing the following command:
11114    </p>
11115    <p>
11116                        </p>
11117    <blockquote class="text">
11118    <p>SUBSCRIBE FX_SEND_COUNT
11119    </p>
11120    </blockquote><p>
11121                    
11122    </p>
11123    <p>Server will start sending the following notification messages:
11124    </p>
11125    <p>
11126                        </p>
11127    <blockquote class="text">
11128    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
11129    </p>
11130    </blockquote><p>
11131                    
11132    </p>
11133    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11134                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
11135                    be replaced by the new number of effect sends on that channel.
11136    </p>
11137    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11138    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11139    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11140    Effect send information changed</h3>
11141    
11142    <p>Client may want to be notified when changes were made to effect sends on a
11143                    a particular sampler channel by issuing the following command:
11144    </p>
11145    <p>
11146                        </p>
11147    <blockquote class="text">
11148    <p>SUBSCRIBE FX_SEND_INFO
11149    </p>
11150    </blockquote><p>
11151                    
11152    </p>
11153    <p>Server will start sending the following notification messages:
11154    </p>
11155    <p>
11156                        </p>
11157    <blockquote class="text">
11158    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
11159    </p>
11160    </blockquote><p>
11161                    
11162    </p>
11163    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11164                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
11165                    be replaced by the numerical ID of the changed effect send.
11166    </p>
11167  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11168  <table 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>
11169  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11170  Total number of active voices changed</h3>  Total number of active voices changed</h3>
11171    
11172  <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 7958  Total number of active voices changed</h Line 11185  Total number of active voices changed</h
11185  <p>  <p>
11186                      </p>                      </p>
11187  <blockquote class="text">  <blockquote class="text">
11188  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
11189  </p>  </p>
11190  </blockquote><p>  </blockquote><p>
11191                                    
# Line 7966  Total number of active voices changed</h Line 11193  Total number of active voices changed</h
11193  <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
11194                  all currently active voices.                  all currently active voices.
11195  </p>  </p>
11196    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11197    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11198    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11199    Total number of active disk streams changed</h3>
11200    
11201    <p>Client may want to be notified when the total number of disk streams on the
11202                    back-end changes by issuing the following command:
11203    </p>
11204    <p>
11205                        </p>
11206    <blockquote class="text">
11207    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11208    </p>
11209    </blockquote><p>
11210                    
11211    </p>
11212    <p>Server will start sending the following notification messages:
11213    </p>
11214    <p>
11215                        </p>
11216    <blockquote class="text">
11217    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11218    </p>
11219    </blockquote><p>
11220                    
11221    </p>
11222    <p>where &lt;streams&gt; will be replaced by the new number of
11223                    all currently active disk streams.
11224    </p>
11225  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11226  <table 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>
11227  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11228  Number of MIDI instrument maps changed</h3>  Number of MIDI instrument maps changed</h3>
11229    
11230  <p>Client may want to be notified when the number of MIDI instrument maps on the  <p>Client may want to be notified when the number of MIDI instrument maps on the
# Line 7997  Number of MIDI instrument maps changed</ Line 11253  Number of MIDI instrument maps changed</
11253  </p>  </p>
11254  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11255  <table 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>
11256  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11257  MIDI instrument map information changed</h3>  MIDI instrument map information changed</h3>
11258    
11259  <p>Client may want to be notified when changes were made to MIDI instrument maps on the  <p>Client may want to be notified when changes were made to MIDI instrument maps on the
# Line 8030  MIDI instrument map information changed< Line 11286  MIDI instrument map information changed<
11286  </p>  </p>
11287  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11288  <table 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>
11289  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11290  Number of MIDI instruments changed</h3>  Number of MIDI instruments changed</h3>
11291    
11292  <p>Client may want to be notified when the number of MIDI instrument maps on the  <p>Client may want to be notified when the number of MIDI instrument maps on the
# Line 8060  Number of MIDI instruments changed</h3> Line 11316  Number of MIDI instruments changed</h3>
11316  </p>  </p>
11317  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11318  <table 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>
11319  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11320  MIDI instrument information changed</h3>  MIDI instrument information changed</h3>
11321    
11322  <p>Client may want to be notified when changes were made to MIDI instruments on the  <p>Client may want to be notified when changes were made to MIDI instruments on the
# Line 8092  MIDI instrument information changed</h3> Line 11348  MIDI instrument information changed</h3>
11348                  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
11349                  message is sufficient here.                  message is sufficient here.
11350  </p>  </p>
11351    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11352    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11353    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11354    Global settings changed</h3>
11355    
11356    <p>Client may want to be notified when changes to the global settings
11357                    of the sampler were made by issuing the following command:
11358    </p>
11359    <p>
11360                        </p>
11361    <blockquote class="text">
11362    <p>SUBSCRIBE GLOBAL_INFO
11363    </p>
11364    </blockquote><p>
11365                    
11366    </p>
11367    <p>Server will start sending the following types of notification messages:
11368    </p>
11369    <p>
11370                        </p>
11371    <blockquote class="text">
11372    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
11373                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
11374                            replaced by the optional dotted floating point value, reflecting the
11375                            new global volume parameter.
11376    </p>
11377    </blockquote><p>
11378                    
11379    </p>
11380    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11381    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11382    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11383    Number of database instrument directories changed</h3>
11384    
11385    <p>Client may want to be notified when the number of instrument
11386                    directories in a particular directory in the instruments database
11387                    is changed by issuing the following command:
11388    </p>
11389    <p>
11390                        </p>
11391    <blockquote class="text">
11392    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11393    </p>
11394    </blockquote><p>
11395                    
11396    </p>
11397    <p>Server will start sending the following notification messages:
11398    </p>
11399    <p>
11400                        </p>
11401    <blockquote class="text">
11402    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11403    </p>
11404    </blockquote><p>
11405                    
11406    </p>
11407    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11408                    name of the directory in the instruments database,
11409                    in which the number of directories is changed.
11410    </p>
11411    <p>Note that when a non-empty directory is removed, this event
11412                    is not sent for the subdirectories in that directory.
11413    </p>
11414    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11415    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11416    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11417    Database instrument directory information changed</h3>
11418    
11419    <p>Client may want to be notified when changes were made to directories
11420                    in the instruments database by issuing the following command:
11421    </p>
11422    <p>
11423                        </p>
11424    <blockquote class="text">
11425    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11426    </p>
11427    </blockquote><p>
11428                    
11429    </p>
11430    <p>Server will start sending the following notification messages:
11431    </p>
11432    <p>
11433                        </p>
11434    <blockquote class="text">
11435    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11436    </p>
11437    </blockquote><p>
11438                    
11439    </p>
11440    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11441                    of the directory, for which information changes occurred. The front-end will have to send
11442                    the respective command to actually get the updated directory info. Because these messages
11443                    will be triggered by LSCP commands issued by other clients rather than real
11444                    time events happening on the server, it is believed that an empty notification
11445                    message is sufficient here.
11446    </p>
11447    <p>
11448                        </p>
11449    <blockquote class="text">
11450    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11451    </p>
11452    </blockquote><p>
11453                    
11454    </p>
11455    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11456                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11457                    the new name of the directory, encapsulated into apostrophes.
11458    </p>
11459    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11460    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11461    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11462    Number of database instruments changed</h3>
11463    
11464    <p>Client may want to be notified when the number of instruments
11465                    in a particular directory in the instruments database
11466                    is changed by issuing the following command:
11467    </p>
11468    <p>
11469                        </p>
11470    <blockquote class="text">
11471    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11472    </p>
11473    </blockquote><p>
11474                    
11475    </p>
11476    <p>Server will start sending the following notification messages:
11477    </p>
11478    <p>
11479                        </p>
11480    <blockquote class="text">
11481    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11482    </p>
11483    </blockquote><p>
11484                    
11485    </p>
11486    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11487                    name of the directory in the instruments database,
11488                    in which the number of instruments is changed.
11489    </p>
11490    <p>Note that when a non-empty directory is removed, this event
11491                    is not sent for the instruments in that directory.
11492    </p>
11493    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11494    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11495    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11496    Database instrument information changed</h3>
11497    
11498    <p>Client may want to be notified when changes were made to instruments
11499                    in the instruments database by issuing the following command:
11500    </p>
11501    <p>
11502                        </p>
11503    <blockquote class="text">
11504    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11505    </p>
11506    </blockquote><p>
11507                    
11508    </p>
11509    <p>Server will start sending the following notification messages:
11510    </p>
11511    <p>
11512                        </p>
11513    <blockquote class="text">
11514    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11515    </p>
11516    </blockquote><p>
11517                    
11518    </p>
11519    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11520                    of the instrument, which settings are changed. The front-end will have to send
11521                    the respective command to actually get the updated directory info. Because these messages
11522                    will be triggered by LSCP commands issued by other clients rather than real
11523                    time events happening on the server, it is believed that an empty notification
11524                    message is sufficient here.
11525    </p>
11526    <p>
11527                        </p>
11528    <blockquote class="text">
11529    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11530    </p>
11531    </blockquote><p>
11532                    
11533    </p>
11534    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11535                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11536                    the new name of the instrument, encapsulated into apostrophes.
11537    </p>
11538    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11539    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11540    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11541    Database job status information changed</h3>
11542    
11543    <p>Client may want to be notified when the status of particular database
11544                    instruments job is changed by issuing the following command:
11545    </p>
11546    <p>
11547                        </p>
11548    <blockquote class="text">
11549    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11550    </p>
11551    </blockquote><p>
11552                    
11553    </p>
11554    <p>Server will start sending the following notification messages:
11555    </p>
11556    <p>
11557                        </p>
11558    <blockquote class="text">
11559    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11560    </p>
11561    </blockquote><p>
11562                    
11563    </p>
11564    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11565                    which status is changed. The front-end will have to send the respective
11566                    command to actually get the status info. Because these messages
11567                    will be triggered by LSCP commands issued by other clients rather than real
11568                    time events happening on the server, it is believed that an empty notification
11569                    message is sufficient here.
11570    </p>
11571  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11572  <table 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>
11573  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;  <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
11574  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
11575    
11576  <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 8159  Acknowledgments</h3> Line 11635  Acknowledgments</h3>
11635  <table 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>
11636  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11637  <table width="99%" border="0">  <table width="99%" border="0">
11638    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11639    <td class="author-text">UCLA, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc20.txt">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
11640  <tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>
11641  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
11642  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
# Line 8189  Schoenebeck</td></tr> Line 11667  Schoenebeck</td></tr>
11667  <table 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>
11668  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
11669  <p class='copyright'>  <p class='copyright'>
11670  Copyright &copy; The Internet Society (2006).</p>  Copyright &copy; The IETF Trust (2008).</p>
11671  <p class='copyright'>  <p class='copyright'>
11672  This document is subject to the rights,  This document is subject to the rights,
11673  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,
# Line 8198  the authors retain all their rights.</p> Line 11676  the authors retain all their rights.</p>
11676  <p class='copyright'>  <p class='copyright'>
11677  This document and the information contained herein are provided  This document and the information contained herein are provided
11678  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11679  THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY),  THE ORGANIZATION HE/SHE REPRESENTS
11680  THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11681  ALL WARRANTIES,  AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11682  EXPRESS OR IMPLIED,  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11683  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
11684  INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11685  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  PURPOSE.</p>
11686  <h3>Intellectual Property</h3>  <h3>Intellectual Property</h3>
11687  <p class='copyright'>  <p class='copyright'>
11688  The IETF takes no position regarding the validity or scope of any  The IETF takes no position regarding the validity or scope of any
# Line 8236  Please address the information to the IE Line 11714  Please address the information to the IE
11714  Funding for the RFC Editor function is provided by  Funding for the RFC Editor function is provided by
11715  the IETF Administrative Support Activity (IASA).</p>  the IETF Administrative Support Activity (IASA).</p>
11716  </body></html>  </body></html>
11717    

Legend:
Removed from v.1002  
changed lines
  Added in v.1685

  ViewVC Help
Powered by ViewVC