/[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 1048 by schoenebeck, Mon Feb 19 19:46:20 2007 UTC revision 1390 by schoenebeck, Sun Oct 7 14:07:48 2007 UTC
# Line 1  Line 1 
1  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2  <html lang="en"><head><title>LinuxSampler Control Protocol</title>  <html lang="en"><head><title>LinuxSampler Control Protocol (draft)</title>
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 (draft)">
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: August 23, 2007</td><td class="header">February 19, 2007</td></tr>  <tr><td class="header">Expires: April 9, 2008</td><td class="header">October 7, 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>  <h1><br />LinuxSampler Control Protocol (draft)<br />LSCP 1.2cvs</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 August 23, 2007.</p>  This Internet-Draft will expire on April 9, 2008.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
180  Copyright &copy; The Internet Society (2007).</p>  Copyright &copy; The IETF Trust (2007).</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="#SET FX_SEND MIDI_CONTROLLER">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 />  Altering effect send's MIDI controller<br />
337  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.32.</a>&nbsp;  &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 />  Altering effect send's send level<br />
339  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.33.</a>&nbsp;  &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 362  Getting global volume attenuation<br /> Line 364  Getting global volume attenuation<br />
364  Setting global volume attenuation<br />  Setting global volume attenuation<br />
365  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
366  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
367  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
368  Create a new MIDI instrument map<br />  Create a new MIDI instrument map<br />
369  &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;
370  Delete one particular or all MIDI instrument maps<br />  Delete one particular or all MIDI instrument maps<br />
# Line 386  Remove an entry from the MIDI instrument Line 388  Remove an entry from the MIDI instrument
388  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
389  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
390  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
392    Managing Instruments Database<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
394    Creating a new instrument directory<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
396    Deleting an instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
398    Getting amount of instrument directories<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
400    Listing all directories in specific directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
402    Getting instrument directory information<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
404    Renaming an instrument directory<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
406    Moving an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
408    Copying instrument directories<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
410    Changing the description of directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
412    Finding directories<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
414    Adding instruments to the instruments database<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
416    Removing an instrument<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
418    Getting amount of instruments<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
420    Listing all instruments in specific directory<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
422    Getting instrument information<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
424    Renaming an instrument<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
426    Moving an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
428    Copying instruments<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
430    Changing the description of instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
432    Finding instruments<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
434    Getting job status information<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
436    Formatting the instruments database<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
438    Editing Instruments<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
440    Opening an appropriate instrument editor application<br />
441  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
442  Command Syntax<br />  Command Syntax<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
444    Character Set and Escape Sequences<br />
445  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
446  Events<br />  Events<br />
447  &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 408  Number of active disk streams changed<br Line 462  Number of active disk streams changed<br
462  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
463  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;
464  Channel information changed<br />  Channel information changed<br />
465  &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.10.</a>&nbsp;
466    Number of effect sends changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
468    Effect send information changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
470  Total number of active voices changed<br />  Total number of active voices changed<br />
471  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.11.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.13.</a>&nbsp;
472  Number of MIDI instrument maps changed<br />  Number of MIDI instrument maps changed<br />
473  &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.14.</a>&nbsp;
474  MIDI instrument map information changed<br />  MIDI instrument map information changed<br />
475  &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.15.</a>&nbsp;
476  Number of MIDI instruments changed<br />  Number of MIDI instruments changed<br />
477  &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.16.</a>&nbsp;
478  MIDI instrument information changed<br />  MIDI instrument information changed<br />
479  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.15.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
480    Global settings changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;
482    Number of database instrument directories changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
484    Database instrument directory information changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
486    Number of database instruments changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
488    Database instrument information changed<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.22.</a>&nbsp;
490    Database job status information changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a>&nbsp;
492  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
493  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
494  Security Considerations<br />  Security Considerations<br />
# Line 450  Requirements notation</h3> Line 520  Requirements notation</h3>
520              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
521              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
522              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
523              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>),
524              example:              thus the following example:
525  </p>  </p>
526  <p>  <p>
527                  </p>                  </p>
# Line 3237  Changing settings of MIDI input ports</h Line 3307  Changing settings of MIDI input ports</h
3307                      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>
3308                      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
3309                      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
3310                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3311                        for specifying no value for parameters allowing a list of values.
3312  </p>  </p>
3313  <p>Possible Answers:  <p>Possible Answers:
3314  </p>  </p>
# Line 3278  Changing settings of MIDI input ports</h Line 3349  Changing settings of MIDI input ports</h
3349  <p>  <p>
3350                          </p>                          </p>
3351  <blockquote class="text">  <blockquote class="text">
3352    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3353    </p>
3354    <p>S: "OK"
3355    </p>
3356    </blockquote><p>
3357                        
3358    </p>
3359  <p>  <p>
3360                            </p>
3361    <blockquote class="text">
3362    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3363    </p>
3364    <p>S: "OK"
3365  </p>  </p>
3366  </blockquote><p>  </blockquote><p>
3367                                            
# Line 3313  Loading an instrument</h3> Line 3396  Loading an instrument</h3>
3396                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3397                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3398  </p>  </p>
3399    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3400                        escape characters for special characters (see chapter
3401                        "<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>"
3402                        for details) and accordingly backslash characters in the filename
3403                        MUST now be escaped as well!
3404    </p>
3405  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3406                      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
3407                      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 4991  Adding an effect send to a sampler chann Line 5080  Adding an effect send to a sampler chann
5080                      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;
5081                      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
5082                      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
5083                      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
5084                        encapsulated into apostrophes and supports escape sequences as described in chapter
5085                        "<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>".
5086  </p>  </p>
5087  <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
5088                      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 5327  Getting effect send information</h3> Line 5418  Getting effect send information</h3>
5418  </blockquote><p>  </blockquote><p>
5419                                            
5420  </p>  </p>
5421  <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET FX_SEND NAME"></a><br /><hr />
5422  <table 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>
5423  <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;
5424    Changing effect send's name</h3>
5425    
5426    <p>The front-end can alter the current name of an effect
5427                        send entity by sending the following command:
5428    </p>
5429    <p>
5430                            </p>
5431    <blockquote class="text">
5432    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5433    </p>
5434    </blockquote><p>
5435                        
5436    </p>
5437    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5438                        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>
5439                        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,
5440                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5441                        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>
5442                        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
5443                        &lt;name&gt; is the new name of the effect send entity, which
5444                        does not have to be unique (name MUST be encapsulated into apostrophes
5445                        and supports escape sequences as described in chapter
5446                        "<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>").
5447                        
5448    </p>
5449    <p>Possible Answers:
5450    </p>
5451    <p>
5452                            </p>
5453    <blockquote class="text">
5454    <p>"OK" -
5455                                    </p>
5456    <blockquote class="text">
5457    <p>on success
5458    </p>
5459    </blockquote>
5460                                
5461    
5462    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5463                                    </p>
5464    <blockquote class="text">
5465    <p>in case it failed, providing an appropriate error code and error message
5466    </p>
5467    </blockquote>
5468                                
5469    
5470    </blockquote><p>
5471                        
5472    </p>
5473    <p>Example:
5474    </p>
5475    <p>
5476                            </p>
5477    <blockquote class="text">
5478    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5479    </p>
5480    <p>S: "OK"
5481    </p>
5482    </blockquote><p>
5483                        
5484    </p>
5485    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5486    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5487    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5488  Altering effect send's audio routing</h3>  Altering effect send's audio routing</h3>
5489    
5490  <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 5412  Altering effect send's audio routing</h3 Line 5567  Altering effect send's audio routing</h3
5567  </p>  </p>
5568  <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />  <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5569  <table 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>
5570  <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;  <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5571  Altering effect send's MIDI controller</h3>  Altering effect send's MIDI controller</h3>
5572    
5573  <p>The front-end can alter the MIDI controller of an effect  <p>The front-end can alter the MIDI controller of an effect
# Line 5483  Altering effect send's MIDI controller</ Line 5638  Altering effect send's MIDI controller</
5638  </p>  </p>
5639  <a name="SET FX_SEND LEVEL"></a><br /><hr />  <a name="SET FX_SEND LEVEL"></a><br /><hr />
5640  <table 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>
5641  <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;  <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5642  Altering effect send's send level</h3>  Altering effect send's send level</h3>
5643    
5644  <p>The front-end can alter the current send level of an effect  <p>The front-end can alter the current send level of an effect
# Line 5555  Altering effect send's send level</h3> Line 5710  Altering effect send's send level</h3>
5710  </p>  </p>
5711  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5712  <table 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>
5713  <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;  <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5714  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
5715    
5716  <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 5966  General sampler informations</h3> Line 6121  General sampler informations</h3>
6121                                          </p>                                          </p>
6122  <blockquote class="text">  <blockquote class="text">
6123  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6124                                                (note that the character string may contain
6125                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6126  </p>  </p>
6127  </blockquote>  </blockquote>
6128                                                                            
# Line 5987  General sampler informations</h3> Line 6144  General sampler informations</h3>
6144  </blockquote>  </blockquote>
6145                                                                            
6146    
6147    <p>INSTRUMENTS_DB_SUPPORT -
6148                                            </p>
6149    <blockquote class="text">
6150    <p>either yes or no, specifies whether the
6151                                                sampler is build with instruments database support.
6152    </p>
6153    </blockquote>
6154                                        
6155    
6156  </blockquote>  </blockquote>
6157                                                            
6158    
# Line 6118  MIDI Instrument Mapping</h3> Line 6284  MIDI Instrument Mapping</h3>
6284                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6285                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6286  </p>  </p>
6287  <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />  <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6288  <table 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>
6289  <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;
6290  Create a new MIDI instrument map</h3>  Create a new MIDI instrument map</h3>
# Line 6136  Create a new MIDI instrument map</h3> Line 6302  Create a new MIDI instrument map</h3>
6302  </p>  </p>
6303  <p>Where &lt;name&gt; is an optional argument allowing to  <p>Where &lt;name&gt; is an optional argument allowing to
6304                      assign a custom name to the new map. MIDI instrument Map                      assign a custom name to the new map. MIDI instrument Map
6305                      names do not have to be unique.                      names do not have to be unique, but MUST be encapsulated
6306                        into apostrophes and support escape sequences as described
6307                        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>".
6308                        
6309  </p>  </p>
6310  <p>Possible Answers:  <p>Possible Answers:
6311  </p>  </p>
# Line 6398  Getting MIDI instrument map information< Line 6567  Getting MIDI instrument map information<
6567  </blockquote>  </blockquote>
6568                                                                            
6569    
6570    <p>DEFAULT -
6571                                            </p>
6572    <blockquote class="text">
6573    <p>either true or false,
6574                                                defines whether this map is the default map
6575    </p>
6576    </blockquote>
6577                                        
6578    
6579  </blockquote>  </blockquote>
6580                                                            
6581    
# Line 6415  Getting MIDI instrument map information< Line 6593  Getting MIDI instrument map information<
6593  </p>  </p>
6594  <p>S: "NAME: Standard Map"  <p>S: "NAME: Standard Map"
6595  </p>  </p>
6596    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6597    </p>
6598  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
6599  </p>  </p>
6600  </blockquote><p>  </blockquote><p>
# Line 6438  Renaming a MIDI instrument map</h3> Line 6618  Renaming a MIDI instrument map</h3>
6618  </p>  </p>
6619  <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
6620                      &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
6621                      have to be unique.                      have to be unique (name MUST be encapsulated into apostrophes
6622                        and supports escape sequences as described in chapter
6623                        "<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>").
6624                        
6625  </p>  </p>
6626  <p>Possible Answers:  <p>Possible Answers:
6627  </p>  </p>
# Line 6504  Create or replace a MIDI instrument map Line 6687  Create or replace a MIDI instrument map
6687                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6688                      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>
6689                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6690                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6691                        supporting escape sequences as described in chapter
6692                        "<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>"),
6693                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6694                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6695                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 6601  Create or replace a MIDI instrument map Line 6786  Create or replace a MIDI instrument map
6786                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
6787                      mode by i.e. sending                      mode by i.e. sending
6788                      <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>
6789                      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
6790                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
6791                      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
6792                        mapping entry, useful for frontends for displaying an appropriate name for
6793                      mapped instruments (using                      mapped instruments (using
6794                      <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>).
6795                                            
# Line 7086  Clear MIDI instrument map</h3> Line 7272  Clear MIDI instrument map</h3>
7272  </blockquote><p>  </blockquote><p>
7273                                            
7274  </p>  </p>
7275    <a name="Managing Instruments Database"></a><br /><hr />
7276    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7277    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7278    Managing Instruments Database</h3>
7279    
7280    <p>The following commands describe how to use and manage
7281                    the instruments database.
7282    </p>
7283    <p>Notice:
7284    </p>
7285    <p>
7286                            </p>
7287    <blockquote class="text">
7288    <p>All command arguments representing a path or
7289                                instrument/directory name support escape sequences as described in chapter
7290                                "<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>".
7291                                
7292    </p>
7293    <p>All occurrences of a forward slash in instrument and directory
7294                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7295                                
7296    </p>
7297    </blockquote><p>
7298                        
7299    </p>
7300    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7301    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7302    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7303    Creating a new instrument directory</h3>
7304    
7305    <p>The front-end can add a new instrument directory to the
7306                        instruments database by sending the following command:
7307    </p>
7308    <p>
7309                            </p>
7310    <blockquote class="text">
7311    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7312    </p>
7313    </blockquote><p>
7314                        
7315    </p>
7316    <p>Where &lt;dir&gt; is the absolute path name of the directory
7317                        to be created (encapsulated into apostrophes).
7318    </p>
7319    <p>Possible Answers:
7320    </p>
7321    <p>
7322                            </p>
7323    <blockquote class="text">
7324    <p>"OK" -
7325                                    </p>
7326    <blockquote class="text">
7327    <p>on success
7328    </p>
7329    </blockquote>
7330                                
7331    
7332    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7333                                    </p>
7334    <blockquote class="text">
7335    <p>when the directory could not be created, which
7336                                        can happen if the directory already exists or the
7337                                        name contains not allowed symbols
7338    </p>
7339    </blockquote>
7340                                
7341    
7342    </blockquote><p>
7343                        
7344    </p>
7345    <p>Examples:
7346    </p>
7347    <p>
7348                            </p>
7349    <blockquote class="text">
7350    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7351    </p>
7352    <p>S: "OK"
7353    </p>
7354    </blockquote><p>
7355                        
7356    </p>
7357    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7358    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7359    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7360    Deleting an instrument directory</h3>
7361    
7362    <p>The front-end can delete a particular instrument directory
7363                        from the instruments database by sending the following command:
7364    </p>
7365    <p>
7366                            </p>
7367    <blockquote class="text">
7368    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7369    </p>
7370    </blockquote><p>
7371                        
7372    </p>
7373    <p>Where &lt;dir&gt; is the absolute path name of the directory
7374                        to delete. The optional FORCE argument can be used to
7375                        force the deletion of a non-empty directory and all its content.
7376    </p>
7377    <p>Possible Answers:
7378    </p>
7379    <p>
7380                            </p>
7381    <blockquote class="text">
7382    <p>"OK" -
7383                                    </p>
7384    <blockquote class="text">
7385    <p>if the directory is deleted successfully
7386    </p>
7387    </blockquote>
7388                                
7389    
7390    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7391                                    </p>
7392    <blockquote class="text">
7393    <p>if the given directory does not exist, or
7394                                        if trying to delete a non-empty directory,
7395                                        without using the FORCE argument.
7396    </p>
7397    </blockquote>
7398                                
7399    
7400    </blockquote><p>
7401                        
7402    </p>
7403    <p>Examples:
7404    </p>
7405    <p>
7406                            </p>
7407    <blockquote class="text">
7408    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7409    </p>
7410    <p>S: "OK"
7411    </p>
7412    </blockquote><p>
7413                        
7414    </p>
7415    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7416    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7417    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7418    Getting amount of instrument directories</h3>
7419    
7420    <p>The front-end can retrieve the current amount of
7421                        directories in a specific directory by sending the following command:
7422    </p>
7423    <p>
7424                            </p>
7425    <blockquote class="text">
7426    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7427    </p>
7428    </blockquote><p>
7429                        
7430    </p>
7431    <p>Where &lt;dir&gt; should be replaced by the absolute path
7432                        name of the directory. If RECURSIVE is specified, the number of
7433                        all directories, including those located in subdirectories of the
7434                        specified directory, will be returned.
7435    </p>
7436    <p>Possible Answers:
7437    </p>
7438    <p>
7439                            </p>
7440    <blockquote class="text">
7441    <p>The current number of instrument directories
7442                                in the specified directory.
7443    </p>
7444    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7445                                    </p>
7446    <blockquote class="text">
7447    <p>if the given directory does not exist.
7448    </p>
7449    </blockquote>
7450                                
7451    
7452    </blockquote><p>
7453                        
7454    </p>
7455    <p>Example:
7456    </p>
7457    <p>
7458                            </p>
7459    <blockquote class="text">
7460    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7461    </p>
7462    <p>S: "2"
7463    </p>
7464    </blockquote><p>
7465                        
7466    </p>
7467    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7468    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7469    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7470    Listing all directories in specific directory</h3>
7471    
7472    <p>The front-end can retrieve the current list of directories
7473                        in specific directory by sending the following command:
7474    </p>
7475    <p>
7476                            </p>
7477    <blockquote class="text">
7478    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7479    </p>
7480    </blockquote><p>
7481                        
7482    </p>
7483    <p>Where &lt;dir&gt; should be replaced by the absolute path
7484                        name of the directory. If RECURSIVE is specified, the absolute path names
7485                        of all directories, including those located in subdirectories of the
7486                        specified directory, will be returned.
7487    </p>
7488    <p>Possible Answers:
7489    </p>
7490    <p>
7491                            </p>
7492    <blockquote class="text">
7493    <p>A comma separated list of all instrument directories
7494                                (encapsulated into apostrophes) in the specified directory.
7495    </p>
7496    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7497                                    </p>
7498    <blockquote class="text">
7499    <p>if the given directory does not exist.
7500    </p>
7501    </blockquote>
7502                                
7503    
7504    </blockquote><p>
7505                        
7506    </p>
7507    <p>Example:
7508    </p>
7509    <p>
7510                            </p>
7511    <blockquote class="text">
7512    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7513    </p>
7514    <p>S: "'Piano Collection','Percussion Collection'"
7515    </p>
7516    </blockquote><p>
7517                        
7518    </p>
7519    <p>
7520                            </p>
7521    <blockquote class="text">
7522    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7523    </p>
7524    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7525    </p>
7526    </blockquote><p>
7527                        
7528    </p>
7529    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7530    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7531    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7532    Getting instrument directory information</h3>
7533    
7534    <p>The front-end can ask for the current settings of an
7535                        instrument directory by sending the following command:
7536    </p>
7537    <p>
7538                            </p>
7539    <blockquote class="text">
7540    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7541    </p>
7542    </blockquote><p>
7543                        
7544    </p>
7545    <p>Where &lt;dir&gt; should be replaced by the absolute path
7546                        name of the directory the front-end is interested in.
7547    </p>
7548    <p>Possible Answers:
7549    </p>
7550    <p>
7551                            </p>
7552    <blockquote class="text">
7553    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7554                                Each answer line begins with the settings category name
7555                                followed by a colon and then a space character &lt;SP&gt; and finally
7556                                the info character string to that setting category. At the
7557                                moment the following categories are defined:
7558    </p>
7559    <p>
7560                                    </p>
7561    <blockquote class="text">
7562    <p>DESCRIPTION -
7563                                            </p>
7564    <blockquote class="text">
7565    <p>A brief description of the directory content.
7566                                                Note that the character string may contain
7567                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7568    </p>
7569    </blockquote>
7570                                        
7571    
7572    <p>CREATED -
7573                                            </p>
7574    <blockquote class="text">
7575    <p>The creation date and time of the directory,
7576                                                represented in "YYYY-MM-DD HH:MM:SS" format
7577    </p>
7578    </blockquote>
7579                                        
7580    
7581    <p>MODIFIED -
7582                                            </p>
7583    <blockquote class="text">
7584    <p>The date and time of the last modification of the
7585                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7586    </p>
7587    </blockquote>
7588                                        
7589    
7590    </blockquote>
7591                                
7592    
7593    </blockquote><p>
7594                        
7595    </p>
7596    <p>The mentioned fields above don't have to be in particular order.
7597    </p>
7598    <p>Example:
7599    </p>
7600    <p>
7601                            </p>
7602    <blockquote class="text">
7603    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7604    </p>
7605    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7606    </p>
7607    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7608    </p>
7609    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7610    </p>
7611    <p>&nbsp;&nbsp;&nbsp;"."
7612    </p>
7613    </blockquote><p>
7614                        
7615    </p>
7616    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7617    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7618    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7619    Renaming an instrument directory</h3>
7620    
7621    <p>The front-end can alter the name of a specific
7622                        instrument directory by sending the following command:
7623    </p>
7624    <p>
7625                            </p>
7626    <blockquote class="text">
7627    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7628    </p>
7629    </blockquote><p>
7630                        
7631    </p>
7632    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7633                        &lt;name&gt; is the new name for that directory.
7634    </p>
7635    <p>Possible Answers:
7636    </p>
7637    <p>
7638                            </p>
7639    <blockquote class="text">
7640    <p>"OK" -
7641                                    </p>
7642    <blockquote class="text">
7643    <p>on success
7644    </p>
7645    </blockquote>
7646                                
7647    
7648    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7649                                    </p>
7650    <blockquote class="text">
7651    <p>in case the given directory does not exists,
7652                                        or if a directory with name equal to the new
7653                                        name already exists.
7654    </p>
7655    </blockquote>
7656                                
7657    
7658    </blockquote><p>
7659                        
7660    </p>
7661    <p>Example:
7662    </p>
7663    <p>
7664                            </p>
7665    <blockquote class="text">
7666    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7667    </p>
7668    <p>S: "OK"
7669    </p>
7670    </blockquote><p>
7671                        
7672    </p>
7673    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7674    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7675    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7676    Moving an instrument directory</h3>
7677    
7678    <p>The front-end can move a specific
7679                        instrument directory by sending the following command:
7680    </p>
7681    <p>
7682                            </p>
7683    <blockquote class="text">
7684    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7685    </p>
7686    </blockquote><p>
7687                        
7688    </p>
7689    <p>Where &lt;dir&gt; is the absolute path name of the directory
7690                        to move and &lt;dst&gt; is the location where the directory will
7691                        be moved to.
7692    </p>
7693    <p>Possible Answers:
7694    </p>
7695    <p>
7696                            </p>
7697    <blockquote class="text">
7698    <p>"OK" -
7699                                    </p>
7700    <blockquote class="text">
7701    <p>on success
7702    </p>
7703    </blockquote>
7704                                
7705    
7706    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7707                                    </p>
7708    <blockquote class="text">
7709    <p>in case a given directory does not exists,
7710                                        or if a directory with name equal to the name
7711                                        of the specified directory already exists in
7712                                        the destination directory. Error is also thrown
7713                                        when trying to move a directory to a subdirectory
7714                                        of itself.
7715    </p>
7716    </blockquote>
7717                                
7718    
7719    </blockquote><p>
7720                        
7721    </p>
7722    <p>Example:
7723    </p>
7724    <p>
7725                            </p>
7726    <blockquote class="text">
7727    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7728    </p>
7729    <p>S: "OK"
7730    </p>
7731    </blockquote><p>
7732                        
7733    </p>
7734    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7735    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7736    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7737    Copying instrument directories</h3>
7738    
7739    <p>The front-end can copy a specific
7740                        instrument directory by sending the following command:
7741    </p>
7742    <p>
7743                            </p>
7744    <blockquote class="text">
7745    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7746    </p>
7747    </blockquote><p>
7748                        
7749    </p>
7750    <p>Where &lt;dir&gt; is the absolute path name of the directory
7751                        to copy and &lt;dst&gt; is the location where the directory will
7752                        be copied to.
7753    </p>
7754    <p>Possible Answers:
7755    </p>
7756    <p>
7757                            </p>
7758    <blockquote class="text">
7759    <p>"OK" -
7760                                    </p>
7761    <blockquote class="text">
7762    <p>on success
7763    </p>
7764    </blockquote>
7765                                
7766    
7767    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7768                                    </p>
7769    <blockquote class="text">
7770    <p>in case a given directory does not exists,
7771                                        or if a directory with name equal to the name
7772                                        of the specified directory already exists in
7773                                        the destination directory. Error is also thrown
7774                                        when trying to copy a directory to a subdirectory
7775                                        of itself.
7776    </p>
7777    </blockquote>
7778                                
7779    
7780    </blockquote><p>
7781                        
7782    </p>
7783    <p>Example:
7784    </p>
7785    <p>
7786                            </p>
7787    <blockquote class="text">
7788    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7789    </p>
7790    <p>S: "OK"
7791    </p>
7792    </blockquote><p>
7793                        
7794    </p>
7795    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7796    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7797    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7798    Changing the description of directory</h3>
7799    
7800    <p>The front-end can alter the description of a specific
7801                        instrument directory by sending the following command:
7802    </p>
7803    <p>
7804                            </p>
7805    <blockquote class="text">
7806    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7807    </p>
7808    </blockquote><p>
7809                        
7810    </p>
7811    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7812                        &lt;desc&gt; is the new description for the directory
7813                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7814                        "<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>").
7815    </p>
7816    <p>Possible Answers:
7817    </p>
7818    <p>
7819                            </p>
7820    <blockquote class="text">
7821    <p>"OK" -
7822                                    </p>
7823    <blockquote class="text">
7824    <p>on success
7825    </p>
7826    </blockquote>
7827                                
7828    
7829    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7830                                    </p>
7831    <blockquote class="text">
7832    <p>in case the given directory does not exists.
7833    </p>
7834    </blockquote>
7835                                
7836    
7837    </blockquote><p>
7838                        
7839    </p>
7840    <p>Example:
7841    </p>
7842    <p>
7843                            </p>
7844    <blockquote class="text">
7845    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7846    </p>
7847    <p>S: "OK"
7848    </p>
7849    </blockquote><p>
7850                        
7851    </p>
7852    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7853    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7854    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7855    Finding directories</h3>
7856    
7857    <p>The front-end can search for directories
7858                        in specific directory by sending the following command:
7859    </p>
7860    <p>
7861                            </p>
7862    <blockquote class="text">
7863    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7864    </p>
7865    </blockquote><p>
7866                        
7867    </p>
7868    <p>Where &lt;dir&gt; should be replaced by the absolute path
7869                        name of the directory to search in. If NON_RECURSIVE is specified, the
7870                        directories located in subdirectories of the specified directory will not
7871                        be searched. &lt;criteria-list&gt; is a list of search criterias
7872                        in form of "key1=val1 key2=val2 ...". The following criterias are
7873                        allowed:
7874    </p>
7875    <p>
7876                          
7877    <p>NAME='&lt;search-string&gt;'
7878                              </p>
7879    <blockquote class="text">
7880    <p>Restricts the search to directories, which names
7881                                  satisfy the supplied search string (encapsulated into apostrophes,
7882                                  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    </blockquote><p>
7886                          
7887    </p>
7888    
7889                          
7890    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7891                              </p>
7892    <blockquote class="text">
7893    <p>Restricts the search to directories, which creation
7894                                  date satisfies the specified period, where &lt;date-after&gt;
7895                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7896                                  If &lt;date-after&gt; is omitted the search is restricted to
7897                                  directories created before &lt;date-before&gt;. If
7898                                  &lt;date-before&gt; is omitted, the search is restricted
7899                                  to directories created after &lt;date-after&gt;.
7900    </p>
7901    </blockquote><p>
7902                          
7903    </p>
7904    
7905                          
7906    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7907                              </p>
7908    <blockquote class="text">
7909    <p>Restricts the search to directories, which
7910                                  date of last modification satisfies the specified period, where
7911                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7912                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7913                                  directories, which are last modified before &lt;date-before&gt;. If
7914                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7915                                  which are last modified after &lt;date-after&gt;.
7916    </p>
7917    </blockquote><p>
7918                          
7919    </p>
7920    
7921                          
7922    <p>DESCRIPTION='&lt;search-string&gt;'
7923                              </p>
7924    <blockquote class="text">
7925    <p>Restricts the search to directories with description
7926                                  that satisfies the supplied search string
7927                                  (encapsulated into apostrophes, supporting escape
7928                                  sequences as described in chapter
7929                                  "<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>").
7930    </p>
7931    </blockquote><p>
7932                          
7933    </p>
7934                        
7935    
7936    <p>Where &lt;search-string&gt; is either a regular expression, or a
7937                        word list separated with spaces for OR search and with '+' for AND search.
7938    </p>
7939    <p>Possible Answers:
7940    </p>
7941    <p>
7942                            </p>
7943    <blockquote class="text">
7944    <p>A comma separated list with the absolute path names (encapsulated into
7945                                apostrophes) of all directories in the specified directory that satisfy
7946                                the supplied search criterias.
7947    </p>
7948    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7949                                    </p>
7950    <blockquote class="text">
7951    <p>if the given directory does not exist.
7952    </p>
7953    </blockquote>
7954                                
7955    
7956    </blockquote><p>
7957                        
7958    </p>
7959    <p>Example:
7960    </p>
7961    <p>
7962                            </p>
7963    <blockquote class="text">
7964    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7965    </p>
7966    <p>S: "'/Piano Collection'"
7967    </p>
7968    </blockquote><p>
7969                        
7970    </p>
7971    <p>
7972                            </p>
7973    <blockquote class="text">
7974    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7975    </p>
7976    <p>S: "'/Piano Collection','/Percussions'"
7977    </p>
7978    </blockquote><p>
7979                        
7980    </p>
7981    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7982    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7983    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7984    Adding instruments to the instruments database</h3>
7985    
7986    <p>The front-end can add one or more instruments
7987                        to the instruments database by sending the following command:
7988    </p>
7989    <p>
7990                            </p>
7991    <blockquote class="text">
7992    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7993    </p>
7994    </blockquote><p>
7995                        
7996    </p>
7997    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7998                        (encapsulated into apostrophes) in the instruments database in which
7999                        only the new instruments (that are not already in the database) will
8000                        be added, &lt;file_path&gt; is the absolute path name of a file or
8001                        directory in the file system (encapsulated into apostrophes). In case
8002                        an instrument file is supplied, only the instruments in the specified
8003                        file will be added to the instruments database. If the optional
8004                        &lt;instr_index&gt; (the index of the instrument within the given file)
8005                        is supplied too, then only the specified instrument will be added.
8006                        In case a directory is supplied, the instruments in that directory
8007                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8008                        when a directory is provided as &lt;file_path&gt; and specifies how the
8009                        scanning will be done and has exactly the following possibilities:
8010    </p>
8011    <p>
8012                            </p>
8013    <blockquote class="text">
8014    <p>"RECURSIVE" -
8015                                    </p>
8016    <blockquote class="text">
8017    <p>All instruments will be processed, including those
8018                                        in the subdirectories, and the respective subdirectory
8019                                        tree structure will be recreated in the instruments
8020                                        database
8021    </p>
8022    </blockquote>
8023                                
8024    
8025    <p>"NON_RECURSIVE" -
8026                                    </p>
8027    <blockquote class="text">
8028    <p>Only the instruments in the specified directory
8029                                        will be added, the instruments in the subdirectories
8030                                        will not be processed.
8031    </p>
8032    </blockquote>
8033                                
8034    
8035    <p>"FLAT" -
8036                                    </p>
8037    <blockquote class="text">
8038    <p>All instruments will be processed, including those
8039                                        in the subdirectories, but the respective subdirectory
8040                                        structure will not be recreated in the instruments
8041                                        database. All instruments will be added directly in
8042                                        the specified database directory.
8043    </p>
8044    </blockquote>
8045                                
8046    
8047    </blockquote><p>
8048                        
8049    </p>
8050    <p>The difference between regular and NON_MODAL versions of the command
8051                        is that the regular command returns when the scanning is finished
8052                        while NON_MODAL version returns immediately and a background process is launched.
8053                        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>
8054                        command can be used to monitor the scanning progress.
8055    </p>
8056    <p>Possible Answers:
8057    </p>
8058    <p>
8059                            </p>
8060    <blockquote class="text">
8061    <p>"OK" -
8062                                    </p>
8063    <blockquote class="text">
8064    <p>on success when NON_MODAL is not supplied
8065    </p>
8066    </blockquote>
8067                                
8068    
8069    <p>"OK[&lt;job-id&gt;]" -
8070                                    </p>
8071    <blockquote class="text">
8072    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8073                                        is a numerical ID used to obtain status information about the job progress.
8074                                        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>
8075                                        
8076    </p>
8077    </blockquote>
8078                                
8079    
8080    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8081                                    </p>
8082    <blockquote class="text">
8083    <p>if an invalid path is specified.
8084    </p>
8085    </blockquote>
8086                                
8087    
8088    </blockquote><p>
8089                        
8090    </p>
8091    <p>Examples:
8092    </p>
8093    <p>
8094                            </p>
8095    <blockquote class="text">
8096    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8097    </p>
8098    <p>S: "OK"
8099    </p>
8100    </blockquote><p>
8101                        
8102    </p>
8103    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8104    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8105    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8106    Removing an instrument</h3>
8107    
8108    <p>The front-end can remove a particular instrument
8109                        from the instruments database by sending the following command:
8110    </p>
8111    <p>
8112                            </p>
8113    <blockquote class="text">
8114    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8115    </p>
8116    </blockquote><p>
8117                        
8118    </p>
8119    <p>Where &lt;instr_path&gt; is the absolute path name
8120                        (in the instruments database) of the instrument to remove.
8121    </p>
8122    <p>Possible Answers:
8123    </p>
8124    <p>
8125                            </p>
8126    <blockquote class="text">
8127    <p>"OK" -
8128                                    </p>
8129    <blockquote class="text">
8130    <p>if the instrument is removed successfully
8131    </p>
8132    </blockquote>
8133                                
8134    
8135    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8136                                    </p>
8137    <blockquote class="text">
8138    <p>if the given path does not exist or
8139                                        is a directory.
8140    </p>
8141    </blockquote>
8142                                
8143    
8144    </blockquote><p>
8145                        
8146    </p>
8147    <p>Examples:
8148    </p>
8149    <p>
8150                            </p>
8151    <blockquote class="text">
8152    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8153    </p>
8154    <p>S: "OK"
8155    </p>
8156    </blockquote><p>
8157                        
8158    </p>
8159    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8160    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8161    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8162    Getting amount of instruments</h3>
8163    
8164    <p>The front-end can retrieve the current amount of
8165                        instruments in a specific directory by sending the following command:
8166    </p>
8167    <p>
8168                            </p>
8169    <blockquote class="text">
8170    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8171    </p>
8172    </blockquote><p>
8173                        
8174    </p>
8175    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8176                        of the directory. If RECURSIVE is specified, the number of all
8177                        instruments, including those located in subdirectories of the
8178                        specified directory, will be returned.
8179    </p>
8180    <p>Possible Answers:
8181    </p>
8182    <p>
8183                            </p>
8184    <blockquote class="text">
8185    <p>The current number of instruments
8186                                in the specified directory.
8187    </p>
8188    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8189                                    </p>
8190    <blockquote class="text">
8191    <p>if the given directory does not exist.
8192    </p>
8193    </blockquote>
8194                                
8195    
8196    </blockquote><p>
8197                        
8198    </p>
8199    <p>Example:
8200    </p>
8201    <p>
8202                            </p>
8203    <blockquote class="text">
8204    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8205    </p>
8206    <p>S: "2"
8207    </p>
8208    </blockquote><p>
8209                        
8210    </p>
8211    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8212    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8213    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8214    Listing all instruments in specific directory</h3>
8215    
8216    <p>The front-end can retrieve the current list of instruments
8217                        in specific directory by sending the following command:
8218    </p>
8219    <p>
8220                            </p>
8221    <blockquote class="text">
8222    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8223    </p>
8224    </blockquote><p>
8225                        
8226    </p>
8227    <p>Where &lt;dir&gt; should be replaced by the absolute path
8228                        name of the directory. If RECURSIVE is specified, the absolute path
8229                        names of all instruments, including those located in subdirectories
8230                        of the specified directory, will be returned.
8231    </p>
8232    <p>Possible Answers:
8233    </p>
8234    <p>
8235                            </p>
8236    <blockquote class="text">
8237    <p>A comma separated list of all instruments
8238                                (encapsulated into apostrophes) in the specified directory.
8239    </p>
8240    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8241                                    </p>
8242    <blockquote class="text">
8243    <p>if the given directory does not exist.
8244    </p>
8245    </blockquote>
8246                                
8247    
8248    </blockquote><p>
8249                        
8250    </p>
8251    <p>Example:
8252    </p>
8253    <p>
8254                            </p>
8255    <blockquote class="text">
8256    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8257    </p>
8258    <p>S: "'Bosendorfer 290','Steinway D'"
8259    </p>
8260    </blockquote><p>
8261                        
8262    </p>
8263    <p>
8264                            </p>
8265    <blockquote class="text">
8266    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8267    </p>
8268    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8269    </p>
8270    </blockquote><p>
8271                        
8272    </p>
8273    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8274    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8275    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8276    Getting instrument information</h3>
8277    
8278    <p>The front-end can ask for the current settings of an
8279                        instrument by sending the following command:
8280    </p>
8281    <p>
8282                            </p>
8283    <blockquote class="text">
8284    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8285    </p>
8286    </blockquote><p>
8287                        
8288    </p>
8289    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8290                        name of the instrument the front-end is interested in.
8291    </p>
8292    <p>Possible Answers:
8293    </p>
8294    <p>
8295                            </p>
8296    <blockquote class="text">
8297    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8298                                Each answer line begins with the settings category name
8299                                followed by a colon and then a space character &lt;SP&gt; and finally
8300                                the info character string to that setting category. At the
8301                                moment the following categories are defined:
8302    </p>
8303    <p>
8304                                    </p>
8305    <blockquote class="text">
8306    <p>INSTRUMENT_FILE -
8307                                            </p>
8308    <blockquote class="text">
8309    <p>File name of the instrument.
8310                                                Note that the character string may contain
8311                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8312    </p>
8313    </blockquote>
8314                                        
8315    
8316    <p>INSTRUMENT_NR -
8317                                            </p>
8318    <blockquote class="text">
8319    <p>Index of the instrument within the file.
8320    </p>
8321    </blockquote>
8322                                        
8323    
8324    <p>FORMAT_FAMILY -
8325                                            </p>
8326    <blockquote class="text">
8327    <p>The format family of the instrument.
8328    </p>
8329    </blockquote>
8330                                        
8331    
8332    <p>FORMAT_VERSION -
8333                                            </p>
8334    <blockquote class="text">
8335    <p>The format version of the instrument.
8336    </p>
8337    </blockquote>
8338                                        
8339    
8340    <p>SIZE -
8341                                            </p>
8342    <blockquote class="text">
8343    <p>The size of the instrument in bytes.
8344    </p>
8345    </blockquote>
8346                                        
8347    
8348    <p>CREATED -
8349                                            </p>
8350    <blockquote class="text">
8351    <p>The date and time when the instrument is added
8352                                                in the instruments database, represented in
8353                                               "YYYY-MM-DD HH:MM:SS" format
8354    </p>
8355    </blockquote>
8356                                        
8357    
8358    <p>MODIFIED -
8359                                            </p>
8360    <blockquote class="text">
8361    <p>The date and time of the last modification of the
8362                                                instrument's database settings, represented in
8363                                                "YYYY-MM-DD HH:MM:SS" format
8364    </p>
8365    </blockquote>
8366                                        
8367    
8368    <p>DESCRIPTION -
8369                                            </p>
8370    <blockquote class="text">
8371    <p>A brief description of the instrument.
8372                                                Note that the character string may contain
8373                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8374    </p>
8375    </blockquote>
8376                                        
8377    
8378    <p>IS_DRUM -
8379                                            </p>
8380    <blockquote class="text">
8381    <p>either true or false, determines whether the
8382                                                instrument is a drumkit or a chromatic instrument
8383    </p>
8384    </blockquote>
8385                                        
8386    
8387    <p>PRODUCT -
8388                                            </p>
8389    <blockquote class="text">
8390    <p>The product title of the instrument.
8391                                                Note that the character string may contain
8392                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8393    </p>
8394    </blockquote>
8395                                        
8396    
8397    <p>ARTISTS -
8398                                            </p>
8399    <blockquote class="text">
8400    <p>Lists the artist names.
8401                                                Note that the character string may contain
8402                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8403    </p>
8404    </blockquote>
8405                                        
8406    
8407    <p>KEYWORDS -
8408                                            </p>
8409    <blockquote class="text">
8410    <p>Provides a list of keywords that refer to the instrument.
8411                                                Keywords are separated with semicolon and blank.
8412                                                Note that the character string may contain
8413                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8414    </p>
8415    </blockquote>
8416                                        
8417    
8418    </blockquote>
8419                                
8420    
8421    </blockquote><p>
8422                        
8423    </p>
8424    <p>The mentioned fields above don't have to be in particular order.
8425    </p>
8426    <p>Example:
8427    </p>
8428    <p>
8429                            </p>
8430    <blockquote class="text">
8431    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8432    </p>
8433    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8434    </p>
8435    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8436    </p>
8437    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8438    </p>
8439    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8440    </p>
8441    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8442    </p>
8443    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8444    </p>
8445    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8446    </p>
8447    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8448    </p>
8449    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8450    </p>
8451    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8452    </p>
8453    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8454    </p>
8455    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8456    </p>
8457    <p>&nbsp;&nbsp;&nbsp;"."
8458    </p>
8459    </blockquote><p>
8460                        
8461    </p>
8462    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8463    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8464    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8465    Renaming an instrument</h3>
8466    
8467    <p>The front-end can alter the name of a specific
8468                        instrument by sending the following command:
8469    </p>
8470    <p>
8471                            </p>
8472    <blockquote class="text">
8473    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8474    </p>
8475    </blockquote><p>
8476                        
8477    </p>
8478    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8479                        &lt;name&gt; is the new name for that instrument.
8480    </p>
8481    <p>Possible Answers:
8482    </p>
8483    <p>
8484                            </p>
8485    <blockquote class="text">
8486    <p>"OK" -
8487                                    </p>
8488    <blockquote class="text">
8489    <p>on success
8490    </p>
8491    </blockquote>
8492                                
8493    
8494    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8495                                    </p>
8496    <blockquote class="text">
8497    <p>in case the given instrument does not exists,
8498                                        or if an instrument with name equal to the new
8499                                        name already exists.
8500    </p>
8501    </blockquote>
8502                                
8503    
8504    </blockquote><p>
8505                        
8506    </p>
8507    <p>Example:
8508    </p>
8509    <p>
8510                            </p>
8511    <blockquote class="text">
8512    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8513    </p>
8514    <p>S: "OK"
8515    </p>
8516    </blockquote><p>
8517                        
8518    </p>
8519    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8520    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8521    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8522    Moving an instrument</h3>
8523    
8524    <p>The front-end can move a specific instrument to another directory by
8525                        sending the following command:
8526    </p>
8527    <p>
8528                            </p>
8529    <blockquote class="text">
8530    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8531    </p>
8532    </blockquote><p>
8533                        
8534    </p>
8535    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8536                        to move and &lt;dst&gt; is the directory where the instrument will
8537                        be moved to.
8538    </p>
8539    <p>Possible Answers:
8540    </p>
8541    <p>
8542                            </p>
8543    <blockquote class="text">
8544    <p>"OK" -
8545                                    </p>
8546    <blockquote class="text">
8547    <p>on success
8548    </p>
8549    </blockquote>
8550                                
8551    
8552    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8553                                    </p>
8554    <blockquote class="text">
8555    <p>in case the given instrument does not exists,
8556                                        or if an instrument with name equal to the name of the
8557                                        specified instrument already exists in the destination
8558                                        directory.
8559    </p>
8560    </blockquote>
8561                                
8562    
8563    </blockquote><p>
8564                        
8565    </p>
8566    <p>Example:
8567    </p>
8568    <p>
8569                            </p>
8570    <blockquote class="text">
8571    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8572    </p>
8573    <p>S: "OK"
8574    </p>
8575    </blockquote><p>
8576                        
8577    </p>
8578    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8579    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8580    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8581    Copying instruments</h3>
8582    
8583    <p>The front-end can copy a specific instrument to another directory by
8584                        sending the following command:
8585    </p>
8586    <p>
8587                            </p>
8588    <blockquote class="text">
8589    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8590    </p>
8591    </blockquote><p>
8592                        
8593    </p>
8594    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8595                        to copy and &lt;dst&gt; is the directory where the instrument will
8596                        be copied to.
8597    </p>
8598    <p>Possible Answers:
8599    </p>
8600    <p>
8601                            </p>
8602    <blockquote class="text">
8603    <p>"OK" -
8604                                    </p>
8605    <blockquote class="text">
8606    <p>on success
8607    </p>
8608    </blockquote>
8609                                
8610    
8611    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8612                                    </p>
8613    <blockquote class="text">
8614    <p>in case the given instrument does not exists,
8615                                        or if an instrument with name equal to the name of the
8616                                        specified instrument already exists in the destination
8617                                        directory.
8618    </p>
8619    </blockquote>
8620                                
8621    
8622    </blockquote><p>
8623                        
8624    </p>
8625    <p>Example:
8626    </p>
8627    <p>
8628                            </p>
8629    <blockquote class="text">
8630    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8631    </p>
8632    <p>S: "OK"
8633    </p>
8634    </blockquote><p>
8635                        
8636    </p>
8637    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8638    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8639    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8640    Changing the description of instrument</h3>
8641    
8642    <p>The front-end can alter the description of a specific
8643                        instrument by sending the following command:
8644    </p>
8645    <p>
8646                            </p>
8647    <blockquote class="text">
8648    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8649    </p>
8650    </blockquote><p>
8651                        
8652    </p>
8653    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8654                        &lt;desc&gt; is the new description for the instrument
8655                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8656                        "<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>").
8657    </p>
8658    <p>Possible Answers:
8659    </p>
8660    <p>
8661                            </p>
8662    <blockquote class="text">
8663    <p>"OK" -
8664                                    </p>
8665    <blockquote class="text">
8666    <p>on success
8667    </p>
8668    </blockquote>
8669                                
8670    
8671    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8672                                    </p>
8673    <blockquote class="text">
8674    <p>in case the given instrument does not exists.
8675    </p>
8676    </blockquote>
8677                                
8678    
8679    </blockquote><p>
8680                        
8681    </p>
8682    <p>Example:
8683    </p>
8684    <p>
8685                            </p>
8686    <blockquote class="text">
8687    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8688    </p>
8689    <p>S: "OK"
8690    </p>
8691    </blockquote><p>
8692                        
8693    </p>
8694    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8695    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8696    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8697    Finding instruments</h3>
8698    
8699    <p>The front-end can search for instruments
8700                        in specific directory by sending the following command:
8701    </p>
8702    <p>
8703                            </p>
8704    <blockquote class="text">
8705    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8706    </p>
8707    </blockquote><p>
8708                        
8709    </p>
8710    <p>Where &lt;dir&gt; should be replaced by the absolute path
8711                        name of the directory to search in. If NON_RECURSIVE is specified, the
8712                        directories located in subdirectories of the specified directory will not
8713                        be searched. &lt;criteria-list&gt; is a list of search criterias
8714                        in form of "key1=val1 key2=val2 ...". The following criterias are
8715                        allowed:
8716    </p>
8717    <p>
8718                          
8719    <p>NAME='&lt;search-string&gt;'
8720                              </p>
8721    <blockquote class="text">
8722    <p>Restricts the search to instruments, which names
8723                                  satisfy the supplied search string (encapsulated into apostrophes,
8724                                  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    </blockquote><p>
8728                          
8729    </p>
8730    
8731                          
8732    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8733                              </p>
8734    <blockquote class="text">
8735    <p>Restricts the search to instruments, which
8736                                  size is in the specified range. If &lt;min&gt; is omitted,
8737                                  the search results are restricted to instruments with size less then
8738                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8739                                  search is restricted to instruments with size greater then
8740                                  or equal to &lt;min&gt;.
8741    </p>
8742    </blockquote><p>
8743                          
8744    </p>
8745    
8746                          
8747    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8748                              </p>
8749    <blockquote class="text">
8750    <p>Restricts the search to instruments, which creation
8751                                  date satisfies the specified period, where &lt;date-after&gt;
8752                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8753                                  If &lt;date-after&gt; is omitted the search is restricted to
8754                                  instruments created before &lt;date-before&gt;. If
8755                                  &lt;date-before&gt; is omitted, the search is restricted
8756                                  to instruments created after &lt;date-after&gt;.
8757    </p>
8758    </blockquote><p>
8759                          
8760    </p>
8761    
8762                          
8763    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8764                              </p>
8765    <blockquote class="text">
8766    <p>Restricts the search to instruments, which
8767                                  date of last modification satisfies the specified period, where
8768                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8769                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8770                                  instruments, which are last modified before &lt;date-before&gt;. If
8771                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8772                                  which are last modified after &lt;date-after&gt;.
8773    </p>
8774    </blockquote><p>
8775                          
8776    </p>
8777    
8778                          
8779    <p>DESCRIPTION='&lt;search-string&gt;'
8780                              </p>
8781    <blockquote class="text">
8782    <p>Restricts the search to instruments with description
8783                                  that satisfies the supplied search string (encapsulated into apostrophes,
8784                                  supporting escape sequences as described in chapter
8785                                  "<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>").
8786    </p>
8787    </blockquote><p>
8788                          
8789    </p>
8790    
8791                          
8792    <p>PRODUCT='&lt;search-string&gt;'
8793                              </p>
8794    <blockquote class="text">
8795    <p>Restricts the search to instruments with product info
8796                                  that satisfies the supplied search string (encapsulated into apostrophes,
8797                                  supporting escape sequences as described in chapter
8798                                  "<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>").
8799    </p>
8800    </blockquote><p>
8801                          
8802    </p>
8803    
8804                          
8805    <p>ARTISTS='&lt;search-string&gt;'
8806                              </p>
8807    <blockquote class="text">
8808    <p>Restricts the search to instruments with artists info
8809                                  that satisfies the supplied search string (encapsulated into apostrophes,
8810                                  supporting escape sequences as described in chapter
8811                                  "<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>").
8812    </p>
8813    </blockquote><p>
8814                          
8815    </p>
8816    
8817                          
8818    <p>KEYWORDS='&lt;search-string&gt;'
8819                              </p>
8820    <blockquote class="text">
8821    <p>Restricts the search to instruments with keyword list
8822                                  that satisfies the supplied search string (encapsulated into apostrophes,
8823                                  supporting escape sequences as described in chapter
8824                                  "<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>").
8825    </p>
8826    </blockquote><p>
8827                          
8828    </p>
8829    
8830                          
8831    <p>IS_DRUM=true | false
8832                              </p>
8833    <blockquote class="text">
8834    <p>Either true or false. Restricts the search to
8835                                  drum kits or chromatic instruments.
8836    </p>
8837    </blockquote><p>
8838                          
8839    </p>
8840    
8841                          
8842    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8843                              </p>
8844    <blockquote class="text">
8845    <p>Restricts the search to instruments of the supplied format families,
8846                                  where &lt;format-list&gt; is a comma separated list of format families.
8847    </p>
8848    </blockquote><p>
8849                          
8850    </p>
8851                        
8852    
8853    <p>Where &lt;search-string&gt; is either a regular expression, or a
8854                        word list separated with spaces for OR search and with '+' for AND search.
8855    </p>
8856    <p>Possible Answers:
8857    </p>
8858    <p>
8859                            </p>
8860    <blockquote class="text">
8861    <p>A comma separated list with the absolute path names (encapsulated into
8862                                apostrophes) of all instruments in the specified directory that satisfy
8863                                the supplied search criterias.
8864    </p>
8865    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8866                                    </p>
8867    <blockquote class="text">
8868    <p>if the given directory does not exist.
8869    </p>
8870    </blockquote>
8871                                
8872    
8873    </blockquote><p>
8874                        
8875    </p>
8876    <p>Example:
8877    </p>
8878    <p>
8879                            </p>
8880    <blockquote class="text">
8881    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8882    </p>
8883    <p>S: "'/Piano Collection/Bosendorfer 290'"
8884    </p>
8885    </blockquote><p>
8886                        
8887    </p>
8888    <p>
8889                            </p>
8890    <blockquote class="text">
8891    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8892    </p>
8893    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8894    </p>
8895    </blockquote><p>
8896                        
8897    </p>
8898    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8899    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8900    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8901    Getting job status information</h3>
8902    
8903    <p>The front-end can ask for the current status of a
8904                        particular database instruments job by sending the following command:
8905    </p>
8906    <p>
8907                            </p>
8908    <blockquote class="text">
8909    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8910    </p>
8911    </blockquote><p>
8912                        
8913    </p>
8914    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8915                        of the job the front-end is interested in.
8916    </p>
8917    <p>Possible Answers:
8918    </p>
8919    <p>
8920                            </p>
8921    <blockquote class="text">
8922    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8923                                Each answer line begins with the settings category name
8924                                followed by a colon and then a space character &lt;SP&gt; and finally
8925                                the info character string to that setting category. At the
8926                                moment the following categories are defined:
8927    </p>
8928    <p>
8929                                    </p>
8930    <blockquote class="text">
8931    <p>FILES_TOTAL -
8932                                            </p>
8933    <blockquote class="text">
8934    <p>The total number of files scheduled for scanning
8935    </p>
8936    </blockquote>
8937                                        
8938    
8939    <p>FILES_SCANNED -
8940                                            </p>
8941    <blockquote class="text">
8942    <p>The current number of scanned files
8943    </p>
8944    </blockquote>
8945                                        
8946    
8947    <p>SCANNING -
8948                                            </p>
8949    <blockquote class="text">
8950    <p>The absolute path name of the file which is currently
8951                                                being scanned
8952    </p>
8953    </blockquote>
8954                                        
8955    
8956    <p>STATUS -
8957                                            </p>
8958    <blockquote class="text">
8959    <p>An integer value between 0 and 100 indicating the
8960                                                scanning progress percentage of the file which is
8961                                                currently being scanned
8962    </p>
8963    </blockquote>
8964                                        
8965    
8966    </blockquote>
8967                                
8968    
8969    </blockquote><p>
8970                        
8971    </p>
8972    <p>The mentioned fields above don't have to be in particular order.
8973    </p>
8974    <p>Example:
8975    </p>
8976    <p>
8977                            </p>
8978    <blockquote class="text">
8979    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8980    </p>
8981    <p>S: "FILES_TOTAL: 12"
8982    </p>
8983    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8984    </p>
8985    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
8986    </p>
8987    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
8988    </p>
8989    <p>&nbsp;&nbsp;&nbsp;"."
8990    </p>
8991    </blockquote><p>
8992                        
8993    </p>
8994    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
8995    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8996    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
8997    Formatting the instruments database</h3>
8998    
8999    <p>The front-end can remove all instruments and directories and re-create
9000                        the instruments database structure (e.g., in case of a database corruption)
9001                        by sending the following command:
9002    </p>
9003    <p>
9004                            </p>
9005    <blockquote class="text">
9006    <p>FORMAT INSTRUMENTS_DB
9007    </p>
9008    </blockquote><p>
9009                        
9010    </p>
9011    <p>Possible Answers:
9012    </p>
9013    <p>
9014                            </p>
9015    <blockquote class="text">
9016    <p>"OK" -
9017                                    </p>
9018    <blockquote class="text">
9019    <p>on success
9020    </p>
9021    </blockquote>
9022                                
9023    
9024    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9025                                    </p>
9026    <blockquote class="text">
9027    <p>If the formatting of the instruments database
9028                                        failed.
9029    </p>
9030    </blockquote>
9031                                
9032    
9033    </blockquote><p>
9034                        
9035    </p>
9036    <a name="editing_instruments"></a><br /><hr />
9037    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9038    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9039    Editing Instruments</h3>
9040    
9041    <p>The sampler allows to edit instruments while playing with the
9042                    sampler by spawning an external (3rd party) instrument editor
9043                    application for a given instrument. The 3rd party instrument
9044                    editor applications have to place a respective plugin DLL file
9045                    into the sampler's plugins directory. The sampler will
9046                    automatically try to load all plugin DLLs in that directory on
9047                    startup and only on startup!
9048    </p>
9049    <p>At the moment there is only one command for this feature set,
9050                    but this will most probably change in future.
9051    </p>
9052    <a name="EDIT INSTRUMENT"></a><br /><hr />
9053    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9054    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9055    Opening an appropriate instrument editor application</h3>
9056    
9057    <p>The front-end can request to open an appropriate instrument
9058                        editor application by sending the following command:
9059    </p>
9060    <p>
9061                            </p>
9062    <blockquote class="text">
9063    <p>EDIT INSTRUMENT &lt;sampler-channel&gt;
9064    </p>
9065    </blockquote><p>
9066                        
9067    </p>
9068    <p>Where &lt;sampler-channel&gt; should be replaced by the
9069                        number of the sampler channel as given by the
9070                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9071                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9072                        command.
9073    </p>
9074    <p>The sampler will try to ask all registered instrument
9075                        editors (or to be more specific: their sampler plugins)
9076                        whether they are capable to handle the instrument on the
9077                        given sampler channel. The sampler will simply use the first
9078                        instrument editor application which replied with a positive
9079                        answer and spawn that instrument editor application within
9080                        the sampler's process and provide that application access
9081                        to the instrument's data structures, so both applications
9082                        can share and access the same instruments data at the same
9083                        time, thus allowing to immediately hear changes with the
9084                        sampler made by the instrument editor.
9085    </p>
9086    <p>Note: consequently instrument editors are always spawned
9087                        locally on the same machine where the sampler is running
9088                        on!
9089    </p>
9090    <p>Possible Answers:
9091    </p>
9092    <p>
9093                            </p>
9094    <blockquote class="text">
9095    <p>"OK" -
9096                                    </p>
9097    <blockquote class="text">
9098    <p>when an appropriate instrument editor was
9099                                        launched
9100    </p>
9101    </blockquote>
9102                                
9103    
9104    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9105                                    </p>
9106    <blockquote class="text">
9107    <p>when an appropriate instrument editor was
9108                                        launched, but there are noteworthy issues
9109    </p>
9110    </blockquote>
9111                                
9112    
9113    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9114                                    </p>
9115    <blockquote class="text">
9116    <p>when an appropriate instrument editor
9117                                        could not be launched
9118    </p>
9119    </blockquote>
9120                                
9121    
9122    </blockquote><p>
9123                        
9124    </p>
9125    <p>Examples:
9126    </p>
9127    <p>
9128                            </p>
9129    <blockquote class="text">
9130    <p>C: "EDIT INSTRUMENT 0"
9131    </p>
9132    <p>S: "OK"
9133    </p>
9134    </blockquote><p>
9135                        
9136    </p>
9137  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9138  <table 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>
9139  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 7186  Command Syntax</h3> Line 9234  Command Syntax</h3>
9234  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9235                                    
9236  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
9237  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
9238                                    
9239  </p>  </p>
9240  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9241                                    
9242  </p>  </p>
9243    <p>/ FIND SP find_instruction
9244                    
9245    </p>
9246    <p>/ MOVE SP move_instruction
9247                    
9248    </p>
9249    <p>/ COPY SP copy_instruction
9250                    
9251    </p>
9252    <p>/ EDIT SP edit_instruction
9253                    
9254    </p>
9255    <p>/ FORMAT SP format_instruction
9256                    
9257    </p>
9258  <p>/ RESET  <p>/ RESET
9259                                    
9260  </p>  </p>
# Line 7210  Command Syntax</h3> Line 9270  Command Syntax</h3>
9270  <p>CHANNEL  <p>CHANNEL
9271                                    
9272  </p>  </p>
9273    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9274                    
9275    </p>
9276    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9277                    
9278    </p>
9279    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9280                    
9281    </p>
9282    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9283                    
9284    </p>
9285    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9286                    
9287    </p>
9288    <p>/ DB_INSTRUMENTS SP db_path SP filename
9289                    
9290    </p>
9291    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9292                    
9293    </p>
9294  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
9295                                    
9296  </p>  </p>
# Line 7249  Command Syntax</h3> Line 9330  Command Syntax</h3>
9330  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9331                                    
9332  </p>  </p>
9333    <p>/ FX_SEND_COUNT
9334                    
9335    </p>
9336    <p>/ FX_SEND_INFO
9337                    
9338    </p>
9339  <p>/ MIDI_INSTRUMENT_MAP_COUNT  <p>/ MIDI_INSTRUMENT_MAP_COUNT
9340                                    
9341  </p>  </p>
# Line 7261  Command Syntax</h3> Line 9348  Command Syntax</h3>
9348  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9349                                    
9350  </p>  </p>
9351    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9352                    
9353    </p>
9354    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9355                    
9356    </p>
9357    <p>/ DB_INSTRUMENT_COUNT
9358                    
9359    </p>
9360    <p>/ DB_INSTRUMENT_INFO
9361                    
9362    </p>
9363    <p>/ DB_INSTRUMENTS_JOB_INFO
9364                    
9365    </p>
9366  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9367                                    
9368  </p>  </p>
9369  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9370                                    
9371  </p>  </p>
9372    <p>/ GLOBAL_INFO
9373                    
9374    </p>
9375  </blockquote><p>  </blockquote><p>
9376    
9377  </p>  </p>
# Line 7300  Command Syntax</h3> Line 9405  Command Syntax</h3>
9405  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9406                                    
9407  </p>  </p>
9408    <p>/ FX_SEND_COUNT
9409                    
9410    </p>
9411    <p>/ FX_SEND_INFO
9412                    
9413    </p>
9414  <p>/ MIDI_INSTRUMENT_MAP_COUNT  <p>/ MIDI_INSTRUMENT_MAP_COUNT
9415                                    
9416  </p>  </p>
# Line 7312  Command Syntax</h3> Line 9423  Command Syntax</h3>
9423  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9424                                    
9425  </p>  </p>
9426    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9427                    
9428    </p>
9429    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9430                    
9431    </p>
9432    <p>/ DB_INSTRUMENT_COUNT
9433                    
9434    </p>
9435    <p>/ DB_INSTRUMENT_INFO
9436                    
9437    </p>
9438    <p>/ DB_INSTRUMENTS_JOB_INFO
9439                    
9440    </p>
9441  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9442                                    
9443  </p>  </p>
9444  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9445                                    
9446  </p>  </p>
9447    <p>/ GLOBAL_INFO
9448                    
9449    </p>
9450  </blockquote><p>  </blockquote><p>
9451    
9452  </p>  </p>
# Line 7360  Command Syntax</h3> Line 9489  Command Syntax</h3>
9489  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
9490                                    
9491  </p>  </p>
9492    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9493                    
9494    </p>
9495    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9496                    
9497    </p>
9498    <p>/ DB_INSTRUMENT SP db_path
9499                    
9500    </p>
9501  </blockquote><p>  </blockquote><p>
9502    
9503  </p>  </p>
# Line 7465  Command Syntax</h3> Line 9603  Command Syntax</h3>
9603  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9604                                    
9605  </p>  </p>
9606    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9607                    
9608    </p>
9609    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9610                    
9611    </p>
9612    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9613                    
9614    </p>
9615    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9616                    
9617    </p>
9618    <p>/ DB_INSTRUMENTS SP db_path
9619                    
9620    </p>
9621    <p>/ DB_INSTRUMENT SP INFO SP db_path
9622                    
9623    </p>
9624    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9625                    
9626    </p>
9627  <p>/ VOLUME  <p>/ VOLUME
9628                                    
9629  </p>  </p>
# Line 7483  Command Syntax</h3> Line 9642  Command Syntax</h3>
9642  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9643                                    
9644  </p>  </p>
9645    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9646                    
9647    </p>
9648  <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
9649                                    
9650  </p>  </p>
# Line 7492  Command Syntax</h3> Line 9654  Command Syntax</h3>
9654  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9655                                    
9656  </p>  </p>
9657    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
9658                    
9659    </p>
9660  <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
9661                                    
9662  </p>  </p>
# Line 7501  Command Syntax</h3> Line 9666  Command Syntax</h3>
9666  <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value  <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
9667                                    
9668  </p>  </p>
9669    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
9670                    
9671    </p>
9672    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
9673                    
9674    </p>
9675    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
9676                    
9677    </p>
9678    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
9679                    
9680    </p>
9681  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
9682                                    
9683  </p>  </p>
# Line 7555  Command Syntax</h3> Line 9732  Command Syntax</h3>
9732  </blockquote><p>  </blockquote><p>
9733    
9734  </p>  </p>
9735    <p>find_instruction =
9736            </p>
9737    <blockquote class="text">
9738    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
9739                    
9740    </p>
9741    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
9742                    
9743    </p>
9744    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
9745                    
9746    </p>
9747    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
9748                    
9749    </p>
9750    </blockquote><p>
9751    
9752    </p>
9753    <p>move_instruction =
9754            </p>
9755    <blockquote class="text">
9756    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9757                    
9758    </p>
9759    <p>/ DB_INSTRUMENT SP db_path SP db_path
9760                    
9761    </p>
9762    </blockquote><p>
9763    
9764    </p>
9765    <p>copy_instruction =
9766            </p>
9767    <blockquote class="text">
9768    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9769                    
9770    </p>
9771    <p>/ DB_INSTRUMENT SP db_path SP db_path
9772                    
9773    </p>
9774    </blockquote><p>
9775    
9776    </p>
9777  <p>destroy_instruction =  <p>destroy_instruction =
9778          </p>          </p>
9779  <blockquote class="text">  <blockquote class="text">
# Line 7630  Command Syntax</h3> Line 9849  Command Syntax</h3>
9849  </blockquote><p>  </blockquote><p>
9850    
9851  </p>  </p>
9852    <p>edit_instruction =
9853            </p>
9854    <blockquote class="text">
9855    <p>INSTRUMENT SP sampler_channel
9856                    
9857    </p>
9858    </blockquote><p>
9859    
9860    </p>
9861    <p>format_instruction =
9862            </p>
9863    <blockquote class="text">
9864    <p>INSTRUMENTS_DB
9865                    
9866    </p>
9867    </blockquote><p>
9868    
9869    </p>
9870  <p>modal_arg =  <p>modal_arg =
9871          </p>          </p>
9872  <blockquote class="text">  <blockquote class="text">
# Line 7699  Command Syntax</h3> Line 9936  Command Syntax</h3>
9936  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
9937                                    
9938  </p>  </p>
9939    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9940                    
9941    </p>
9942    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9943                    
9944    </p>
9945    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9946                    
9947    </p>
9948    <p>/ DB_INSTRUMENTS SP db_path
9949                    
9950    </p>
9951  </blockquote><p>  </blockquote><p>
9952    
9953  </p>  </p>
# Line 7882  Command Syntax</h3> Line 10131  Command Syntax</h3>
10131  <p>filename =  <p>filename =
10132          </p>          </p>
10133  <blockquote class="text">  <blockquote class="text">
10134  <p>stringval  <p>path
10135                    
10136    </p>
10137    </blockquote><p>
10138    
10139    </p>
10140    <p>db_path =
10141            </p>
10142    <blockquote class="text">
10143    <p>path
10144                                    
10145  </p>  </p>
10146  </blockquote><p>  </blockquote><p>
# Line 7891  Command Syntax</h3> Line 10149  Command Syntax</h3>
10149  <p>map_name =  <p>map_name =
10150          </p>          </p>
10151  <blockquote class="text">  <blockquote class="text">
10152  <p>stringval  <p>stringval_escaped
10153                                    
10154  </p>  </p>
10155  </blockquote><p>  </blockquote><p>
# Line 7900  Command Syntax</h3> Line 10158  Command Syntax</h3>
10158  <p>entry_name =  <p>entry_name =
10159          </p>          </p>
10160  <blockquote class="text">  <blockquote class="text">
10161  <p>stringval  <p>stringval_escaped
10162                                    
10163  </p>  </p>
10164  </blockquote><p>  </blockquote><p>
# Line 7909  Command Syntax</h3> Line 10167  Command Syntax</h3>
10167  <p>fx_send_name =  <p>fx_send_name =
10168          </p>          </p>
10169  <blockquote class="text">  <blockquote class="text">
10170  <p>stringval  <p>stringval_escaped
10171                                    
10172  </p>  </p>
10173  </blockquote><p>  </blockquote><p>
# Line 7945  Command Syntax</h3> Line 10203  Command Syntax</h3>
10203  </blockquote><p>  </blockquote><p>
10204    
10205  </p>  </p>
10206    <p>query_val_list =
10207            </p>
10208    <blockquote class="text">
10209    <p>string '=' query_val
10210                    
10211    </p>
10212    <p>/ query_val_list SP string '=' query_val
10213                    
10214    </p>
10215    </blockquote><p>
10216    
10217    </p>
10218    <p>query_val =
10219            </p>
10220    <blockquote class="text">
10221    <p>text_escaped
10222                    
10223    </p>
10224    <p>/ stringval_escaped
10225                    
10226    </p>
10227    </blockquote><p>
10228    
10229    </p>
10230    <p>scan_mode =
10231            </p>
10232    <blockquote class="text">
10233    <p>RECURSIVE
10234                    
10235    </p>
10236    <p>/ NON_RECURSIVE
10237                    
10238    </p>
10239    <p>/ FLAT
10240                    
10241    </p>
10242    </blockquote><p>
10243    
10244    </p>
10245    <a name="character_set"></a><br /><hr />
10246    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10247    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10248    Character Set and Escape Sequences</h3>
10249    
10250    <p>Older versions of this protocol up to and including v1.1 only
10251                    supported the standard ASCII character set (ASCII code 0 - 127)
10252                    <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
10253                    however support the Extended ASCII character set (ASCII code
10254                    0 - 255). The same group of younger protocols also support
10255                    escape sequences, but only for certain, explicitly declared
10256                    parts of the protocol. The supported escape sequences are
10257                    defined as follows:
10258    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10259    <col align="left"><col align="left">
10260    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10261    <tr>
10262    <td align="left">\n</td>
10263    <td align="left">new line</td>
10264    </tr>
10265    <tr>
10266    <td align="left">\r</td>
10267    <td align="left">carriage return</td>
10268    </tr>
10269    <tr>
10270    <td align="left">\f</td>
10271    <td align="left">form feed</td>
10272    </tr>
10273    <tr>
10274    <td align="left">\t</td>
10275    <td align="left">horizontal tab</td>
10276    </tr>
10277    <tr>
10278    <td align="left">\v</td>
10279    <td align="left">vertical tab</td>
10280    </tr>
10281    <tr>
10282    <td align="left">\'</td>
10283    <td align="left">apostrophe</td>
10284    </tr>
10285    <tr>
10286    <td align="left">\"</td>
10287    <td align="left">quotation mark</td>
10288    </tr>
10289    <tr>
10290    <td align="left">\\</td>
10291    <td align="left">backslash</td>
10292    </tr>
10293    <tr>
10294    <td align="left">\OOO</td>
10295    <td align="left">three digit octal ASCII code of the character</td>
10296    </tr>
10297    <tr>
10298    <td align="left">\xHH</td>
10299    <td align="left">two digit hex ASCII code of the character</td>
10300    </tr>
10301    </table>
10302    
10303    <p>Notice: due to the transition of certain parts of the
10304                    protocol which now support escape sequences, a slight backward
10305                    incompatibility to protocols version v1.1 and younger has been
10306                    introduced. The only difference is that in parts of the protocol
10307                    where escape characters are now supported, a backslash characters
10308                    MUST be escaped as well (that is as double backslash), whereas
10309                    in the old versions a single backslash was sufficient.
10310    </p>
10311    <p>The following LSCP commands support escape sequences as part
10312                    of their filename / path based arguments:
10313                    </p>
10314    <blockquote class="text">
10315    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10316    </p>
10317    <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>
10318    </p>
10319    <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>
10320    </p>
10321    <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>
10322    </p>
10323    <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>
10324    </p>
10325    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10326    </p>
10327    <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>
10328    </p>
10329    <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>
10330    </p>
10331    <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>
10332    </p>
10333    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10334    </p>
10335    <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>
10336    </p>
10337    <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>
10338    </p>
10339    <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>
10340    </p>
10341    <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>
10342    </p>
10343    <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>
10344    </p>
10345    <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>
10346    </p>
10347    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10348    </p>
10349    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10350    </p>
10351    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10352    </p>
10353    <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>
10354    </p>
10355    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10356    </p>
10357    <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>
10358    </p>
10359    </blockquote><p>
10360                    Note that the forward slash character ('/') has a special meaning in
10361                    filename / path based arguments: it acts as separator of the nodes in
10362                    the path, thus if a directory- or filename includes a forward slash
10363                    (not intended as path node separator), you MUST escape that slash
10364                    either with the respective hex escape sequence ("\x2f") or with the
10365                    respective octal escape sequence ("\057").
10366                    
10367    </p>
10368    <p>
10369                    The following LSCP commands even support escape sequences as
10370                    part of at least one of their text-based arguments (i.e. entity name,
10371                    description):
10372                    </p>
10373    <blockquote class="text">
10374    <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>
10375    </p>
10376    <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>
10377    </p>
10378    <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>
10379    </p>
10380    <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>
10381    </p>
10382    <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>
10383    </p>
10384    <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>
10385    </p>
10386    <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>
10387    </p>
10388    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10389    </p>
10390    </blockquote><p>
10391                    Please note that these lists are manually maintained. If you
10392                    find a command that also supports escape sequences we forgot to
10393                    mention here, please report it!
10394                    
10395    </p>
10396  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10397  <table 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>
10398  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 8126  Number of active voices changed</h3> Line 10574  Number of active voices changed</h3>
10574  <p>  <p>
10575                      </p>                      </p>
10576  <blockquote class="text">  <blockquote class="text">
10577  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
10578  </p>  </p>
10579  </blockquote><p>  </blockquote><p>
10580                                    
# Line 8229  Channel information changed</h3> Line 10677  Channel information changed</h3>
10677                  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
10678                  message is sufficient here.                  message is sufficient here.
10679  </p>  </p>
10680  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
10681  <table 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>
10682  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10683    Number of effect sends changed</h3>
10684    
10685    <p>Client may want to be notified when the number of effect sends on
10686                    a particular sampler channel is changed by issuing the following command:
10687    </p>
10688    <p>
10689                        </p>
10690    <blockquote class="text">
10691    <p>SUBSCRIBE FX_SEND_COUNT
10692    </p>
10693    </blockquote><p>
10694                    
10695    </p>
10696    <p>Server will start sending the following notification messages:
10697    </p>
10698    <p>
10699                        </p>
10700    <blockquote class="text">
10701    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
10702    </p>
10703    </blockquote><p>
10704                    
10705    </p>
10706    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10707                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
10708                    be replaced by the new number of effect sends on that channel.
10709    </p>
10710    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
10711    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10712    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
10713    Effect send information changed</h3>
10714    
10715    <p>Client may want to be notified when changes were made to effect sends on a
10716                    a particular sampler channel by issuing the following command:
10717    </p>
10718    <p>
10719                        </p>
10720    <blockquote class="text">
10721    <p>SUBSCRIBE FX_SEND_INFO
10722    </p>
10723    </blockquote><p>
10724                    
10725    </p>
10726    <p>Server will start sending the following notification messages:
10727    </p>
10728    <p>
10729                        </p>
10730    <blockquote class="text">
10731    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
10732    </p>
10733    </blockquote><p>
10734                    
10735    </p>
10736    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10737                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
10738                    be replaced by the numerical ID of the changed effect send.
10739    </p>
10740    <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
10741    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10742    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
10743  Total number of active voices changed</h3>  Total number of active voices changed</h3>
10744    
10745  <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 8250  Total number of active voices changed</h Line 10758  Total number of active voices changed</h
10758  <p>  <p>
10759                      </p>                      </p>
10760  <blockquote class="text">  <blockquote class="text">
10761  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
10762  </p>  </p>
10763  </blockquote><p>  </blockquote><p>
10764                                    
# Line 8260  Total number of active voices changed</h Line 10768  Total number of active voices changed</h
10768  </p>  </p>
10769  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
10770  <table 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>
10771  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
10772  Number of MIDI instrument maps changed</h3>  Number of MIDI instrument maps changed</h3>
10773    
10774  <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 8289  Number of MIDI instrument maps changed</ Line 10797  Number of MIDI instrument maps changed</
10797  </p>  </p>
10798  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
10799  <table 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>
10800  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
10801  MIDI instrument map information changed</h3>  MIDI instrument map information changed</h3>
10802    
10803  <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 8322  MIDI instrument map information changed< Line 10830  MIDI instrument map information changed<
10830  </p>  </p>
10831  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
10832  <table 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>
10833  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
10834  Number of MIDI instruments changed</h3>  Number of MIDI instruments changed</h3>
10835    
10836  <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 8352  Number of MIDI instruments changed</h3> Line 10860  Number of MIDI instruments changed</h3>
10860  </p>  </p>
10861  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
10862  <table 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>
10863  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
10864  MIDI instrument information changed</h3>  MIDI instrument information changed</h3>
10865    
10866  <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 8384  MIDI instrument information changed</h3> Line 10892  MIDI instrument information changed</h3>
10892                  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
10893                  message is sufficient here.                  message is sufficient here.
10894  </p>  </p>
10895    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
10896    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10897    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
10898    Global settings changed</h3>
10899    
10900    <p>Client may want to be notified when changes to the global settings
10901                    of the sampler were made by issuing the following command:
10902    </p>
10903    <p>
10904                        </p>
10905    <blockquote class="text">
10906    <p>SUBSCRIBE GLOBAL_INFO
10907    </p>
10908    </blockquote><p>
10909                    
10910    </p>
10911    <p>Server will start sending the following types of notification messages:
10912    </p>
10913    <p>
10914                        </p>
10915    <blockquote class="text">
10916    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
10917                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
10918                            replaced by the optional dotted floating point value, reflecting the
10919                            new global volume parameter.
10920    </p>
10921    </blockquote><p>
10922                    
10923    </p>
10924    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
10925    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10926    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
10927    Number of database instrument directories changed</h3>
10928    
10929    <p>Client may want to be notified when the number of instrument
10930                    directories in a particular directory in the instruments database
10931                    is changed by issuing the following command:
10932    </p>
10933    <p>
10934                        </p>
10935    <blockquote class="text">
10936    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
10937    </p>
10938    </blockquote><p>
10939                    
10940    </p>
10941    <p>Server will start sending the following notification messages:
10942    </p>
10943    <p>
10944                        </p>
10945    <blockquote class="text">
10946    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
10947    </p>
10948    </blockquote><p>
10949                    
10950    </p>
10951    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10952                    name of the directory in the instruments database,
10953                    in which the number of directories is changed.
10954    </p>
10955    <p>Note that when a non-empty directory is removed, this event
10956                    is not sent for the subdirectories in that directory.
10957    </p>
10958    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
10959    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10960    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
10961    Database instrument directory information changed</h3>
10962    
10963    <p>Client may want to be notified when changes were made to directories
10964                    in the instruments database by issuing the following command:
10965    </p>
10966    <p>
10967                        </p>
10968    <blockquote class="text">
10969    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
10970    </p>
10971    </blockquote><p>
10972                    
10973    </p>
10974    <p>Server will start sending the following notification messages:
10975    </p>
10976    <p>
10977                        </p>
10978    <blockquote class="text">
10979    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
10980    </p>
10981    </blockquote><p>
10982                    
10983    </p>
10984    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
10985                    of the directory, for which information changes occurred. The front-end will have to send
10986                    the respective command to actually get the updated directory info. Because these messages
10987                    will be triggered by LSCP commands issued by other clients rather than real
10988                    time events happening on the server, it is believed that an empty notification
10989                    message is sufficient here.
10990    </p>
10991    <p>
10992                        </p>
10993    <blockquote class="text">
10994    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
10995    </p>
10996    </blockquote><p>
10997                    
10998    </p>
10999    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11000                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11001                    the new name of the directory, encapsulated into apostrophes.
11002    </p>
11003    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11004    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11005    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11006    Number of database instruments changed</h3>
11007    
11008    <p>Client may want to be notified when the number of instruments
11009                    in a particular directory in the instruments database
11010                    is changed by issuing the following command:
11011    </p>
11012    <p>
11013                        </p>
11014    <blockquote class="text">
11015    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11016    </p>
11017    </blockquote><p>
11018                    
11019    </p>
11020    <p>Server will start sending the following notification messages:
11021    </p>
11022    <p>
11023                        </p>
11024    <blockquote class="text">
11025    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11026    </p>
11027    </blockquote><p>
11028                    
11029    </p>
11030    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11031                    name of the directory in the instruments database,
11032                    in which the number of instruments is changed.
11033    </p>
11034    <p>Note that when a non-empty directory is removed, this event
11035                    is not sent for the instruments in that directory.
11036    </p>
11037    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11038    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11039    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11040    Database instrument information changed</h3>
11041    
11042    <p>Client may want to be notified when changes were made to instruments
11043                    in the instruments database by issuing the following command:
11044    </p>
11045    <p>
11046                        </p>
11047    <blockquote class="text">
11048    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11049    </p>
11050    </blockquote><p>
11051                    
11052    </p>
11053    <p>Server will start sending the following notification messages:
11054    </p>
11055    <p>
11056                        </p>
11057    <blockquote class="text">
11058    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11059    </p>
11060    </blockquote><p>
11061                    
11062    </p>
11063    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11064                    of the instrument, which settings are changed. The front-end will have to send
11065                    the respective command to actually get the updated directory info. Because these messages
11066                    will be triggered by LSCP commands issued by other clients rather than real
11067                    time events happening on the server, it is believed that an empty notification
11068                    message is sufficient here.
11069    </p>
11070    <p>
11071                        </p>
11072    <blockquote class="text">
11073    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11074    </p>
11075    </blockquote><p>
11076                    
11077    </p>
11078    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11079                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11080                    the new name of the instrument, encapsulated into apostrophes.
11081    </p>
11082    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11083    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11084    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11085    Database job status information changed</h3>
11086    
11087    <p>Client may want to be notified when the status of particular database
11088                    instruments job is changed by issuing the following command:
11089    </p>
11090    <p>
11091                        </p>
11092    <blockquote class="text">
11093    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11094    </p>
11095    </blockquote><p>
11096                    
11097    </p>
11098    <p>Server will start sending the following notification messages:
11099    </p>
11100    <p>
11101                        </p>
11102    <blockquote class="text">
11103    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11104    </p>
11105    </blockquote><p>
11106                    
11107    </p>
11108    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11109                    which status is changed. The front-end will have to send the respective
11110                    command to actually get the status info. Because these messages
11111                    will be triggered by LSCP commands issued by other clients rather than real
11112                    time events happening on the server, it is believed that an empty notification
11113                    message is sufficient here.
11114    </p>
11115  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11116  <table 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>
11117  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;  <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11118  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
11119    
11120  <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 8451  Acknowledgments</h3> Line 11179  Acknowledgments</h3>
11179  <table 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>
11180  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11181  <table width="99%" border="0">  <table width="99%" border="0">
11182    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11183    <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>
11184  <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>
11185  <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>
11186  <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 8481  Schoenebeck</td></tr> Line 11211  Schoenebeck</td></tr>
11211  <table 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>
11212  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
11213  <p class='copyright'>  <p class='copyright'>
11214  Copyright &copy; The Internet Society (2007).</p>  Copyright &copy; The IETF Trust (2007).</p>
11215  <p class='copyright'>  <p class='copyright'>
11216  This document is subject to the rights,  This document is subject to the rights,
11217  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,
# Line 8490  the authors retain all their rights.</p> Line 11220  the authors retain all their rights.</p>
11220  <p class='copyright'>  <p class='copyright'>
11221  This document and the information contained herein are provided  This document and the information contained herein are provided
11222  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11223  THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY),  THE ORGANIZATION HE/SHE REPRESENTS
11224  THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11225  ALL WARRANTIES,  AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11226  EXPRESS OR IMPLIED,  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11227  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
11228  INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11229  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  PURPOSE.</p>
11230  <h3>Intellectual Property</h3>  <h3>Intellectual Property</h3>
11231  <p class='copyright'>  <p class='copyright'>
11232  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 8528  Please address the information to the IE Line 11258  Please address the information to the IE
11258  Funding for the RFC Editor function is provided by  Funding for the RFC Editor function is provided by
11259  the IETF Administrative Support Activity (IASA).</p>  the IETF Administrative Support Activity (IASA).</p>
11260  </body></html>  </body></html>
11261    

Legend:
Removed from v.1048  
changed lines
  Added in v.1390

  ViewVC Help
Powered by ViewVC