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: November 17, 2007</td><td class="header">May 16, 2007</td></tr> |
<tr><td class="header">Expires: November 25, 2007</td><td class="header">May 24, 2007</td></tr> |
149 |
</table></td></tr></table> |
</table></td></tr></table> |
150 |
<h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1> |
<h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1> |
151 |
|
|
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 November 17, 2007.</p> |
This Internet-Draft will expire on November 25, 2007.</p> |
177 |
|
|
178 |
<h3>Copyright Notice</h3> |
<h3>Copyright Notice</h3> |
179 |
<p> |
<p> |
430 |
Changing the description of instrument<br /> |
Changing the description of instrument<br /> |
431 |
<a href="#FIND DB_INSTRUMENTS">6.8.20.</a> |
<a href="#FIND DB_INSTRUMENTS">6.8.20.</a> |
432 |
Finding instruments<br /> |
Finding instruments<br /> |
433 |
|
<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a> |
434 |
|
Getting job status information<br /> |
435 |
<a href="#command_syntax">7.</a> |
<a href="#command_syntax">7.</a> |
436 |
Command Syntax<br /> |
Command Syntax<br /> |
437 |
<a href="#events">8.</a> |
<a href="#events">8.</a> |
478 |
Number of database instruments changed<br /> |
Number of database instruments changed<br /> |
479 |
<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a> |
<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a> |
480 |
Database instrument information changed<br /> |
Database instrument information changed<br /> |
481 |
<a href="#SUBSCRIBE MISCELLANEOUS">8.22.</a> |
<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.22.</a> |
482 |
|
Database job status information changed<br /> |
483 |
|
<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a> |
484 |
Miscellaneous and debugging events<br /> |
Miscellaneous and debugging events<br /> |
485 |
<a href="#anchor14">9.</a> |
<a href="#anchor14">9.</a> |
486 |
Security Considerations<br /> |
Security Considerations<br /> |
7920 |
<p> |
<p> |
7921 |
</p> |
</p> |
7922 |
<blockquote class="text"> |
<blockquote class="text"> |
7923 |
<p>ADD DB_INSTRUMENTS [<mode>] <db_dir> <file_path> [<instr_index>] |
<p>ADD DB_INSTRUMENTS [NON_MODAL] [<mode>] <db_dir> <file_path> [<instr_index>] |
7924 |
</p> |
</p> |
7925 |
</blockquote><p> |
</blockquote><p> |
7926 |
|
|
7942 |
<p> |
<p> |
7943 |
</p> |
</p> |
7944 |
<blockquote class="text"> |
<blockquote class="text"> |
7945 |
|
<p>"RECURSIVE" - |
7946 |
|
</p> |
7947 |
|
<blockquote class="text"> |
7948 |
|
<p>All instruments will be processed, including those |
7949 |
|
in the subdirectories, and the respective subdirectory |
7950 |
|
tree structure will be recreated in the instruments |
7951 |
|
database |
7952 |
|
</p> |
7953 |
|
</blockquote> |
7954 |
|
|
7955 |
|
|
7956 |
<p>"NON_RECURSIVE" - |
<p>"NON_RECURSIVE" - |
7957 |
</p> |
</p> |
7958 |
<blockquote class="text"> |
<blockquote class="text"> |
7975 |
</blockquote> |
</blockquote> |
7976 |
|
|
7977 |
|
|
|
<p>not supplied - |
|
|
</p> |
|
|
<blockquote class="text"> |
|
|
<p>The subdirectory tree structure will be recreated |
|
|
in the instruments database and all instruments will be |
|
|
processed and added to the respective subdirectory |
|
|
in the instruments database. |
|
|
</p> |
|
|
</blockquote> |
|
|
|
|
|
|
|
7978 |
</blockquote><p> |
</blockquote><p> |
7979 |
|
|
7980 |
</p> |
</p> |
7981 |
|
<p>The difference between regular and NON_MODAL versions of the command |
7982 |
|
is that the regular command returns when the scanning is finished |
7983 |
|
while NON_MODAL version returns immediately and a background process is launched. |
7984 |
|
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> |
7985 |
|
command can be used to monitor the scanning progress. |
7986 |
|
</p> |
7987 |
<p>Possible Answers: |
<p>Possible Answers: |
7988 |
</p> |
</p> |
7989 |
<p> |
<p> |
7992 |
<p>"OK" - |
<p>"OK" - |
7993 |
</p> |
</p> |
7994 |
<blockquote class="text"> |
<blockquote class="text"> |
7995 |
<p>on success |
<p>on success when NON_MODAL is not supplied |
7996 |
|
</p> |
7997 |
|
</blockquote> |
7998 |
|
|
7999 |
|
|
8000 |
|
<p>"OK[<job-id>]" - |
8001 |
|
</p> |
8002 |
|
<blockquote class="text"> |
8003 |
|
<p>on success when NON_MODAL is supplied, where <job-id> |
8004 |
|
is a numerical ID used to obtain status information about the job progress. |
8005 |
|
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> |
8006 |
|
|
8007 |
</p> |
</p> |
8008 |
</blockquote> |
</blockquote> |
8009 |
|
|
8804 |
</blockquote><p> |
</blockquote><p> |
8805 |
|
|
8806 |
</p> |
</p> |
8807 |
|
<a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr /> |
8808 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
8809 |
|
<a name="rfc.section.6.8.21"></a><h3>6.8.21. |
8810 |
|
Getting job status information</h3> |
8811 |
|
|
8812 |
|
<p>The front-end can ask for the current status of a |
8813 |
|
particular database instruments job by sending the following command: |
8814 |
|
</p> |
8815 |
|
<p> |
8816 |
|
</p> |
8817 |
|
<blockquote class="text"> |
8818 |
|
<p>GET DB_INSTRUMENTS_JOB INFO <job-id> |
8819 |
|
</p> |
8820 |
|
</blockquote><p> |
8821 |
|
|
8822 |
|
</p> |
8823 |
|
<p>Where <job-id> should be replaced by the numerical ID |
8824 |
|
of the job the front-end is interested in. |
8825 |
|
</p> |
8826 |
|
<p>Possible Answers: |
8827 |
|
</p> |
8828 |
|
<p> |
8829 |
|
</p> |
8830 |
|
<blockquote class="text"> |
8831 |
|
<p>LinuxSampler will answer by sending a <CRLF> separated list. |
8832 |
|
Each answer line begins with the settings category name |
8833 |
|
followed by a colon and then a space character <SP> and finally |
8834 |
|
the info character string to that setting category. At the |
8835 |
|
moment the following categories are defined: |
8836 |
|
</p> |
8837 |
|
<p> |
8838 |
|
</p> |
8839 |
|
<blockquote class="text"> |
8840 |
|
<p>FILES_TOTAL - |
8841 |
|
</p> |
8842 |
|
<blockquote class="text"> |
8843 |
|
<p>The total number of files scheduled for scanning |
8844 |
|
</p> |
8845 |
|
</blockquote> |
8846 |
|
|
8847 |
|
|
8848 |
|
<p>FILES_SCANNED - |
8849 |
|
</p> |
8850 |
|
<blockquote class="text"> |
8851 |
|
<p>The current number of scanned files |
8852 |
|
</p> |
8853 |
|
</blockquote> |
8854 |
|
|
8855 |
|
|
8856 |
|
<p>SCANNING - |
8857 |
|
</p> |
8858 |
|
<blockquote class="text"> |
8859 |
|
<p>The absolute path name of the file which is currently |
8860 |
|
being scanned |
8861 |
|
</p> |
8862 |
|
</blockquote> |
8863 |
|
|
8864 |
|
|
8865 |
|
<p>STATUS - |
8866 |
|
</p> |
8867 |
|
<blockquote class="text"> |
8868 |
|
<p>An integer value between 0 and 100 indicating the |
8869 |
|
scanning progress percentage of the file which is |
8870 |
|
currently being scanned |
8871 |
|
</p> |
8872 |
|
</blockquote> |
8873 |
|
|
8874 |
|
|
8875 |
|
</blockquote> |
8876 |
|
|
8877 |
|
|
8878 |
|
</blockquote><p> |
8879 |
|
|
8880 |
|
</p> |
8881 |
|
<p>The mentioned fields above don't have to be in particular order. |
8882 |
|
</p> |
8883 |
|
<p>Example: |
8884 |
|
</p> |
8885 |
|
<p> |
8886 |
|
</p> |
8887 |
|
<blockquote class="text"> |
8888 |
|
<p>C: "GET DB_INSTRUMENTS_JOB INFO 2" |
8889 |
|
</p> |
8890 |
|
<p>S: "FILES_TOTAL: 12" |
8891 |
|
</p> |
8892 |
|
<p> "FILES_SCANNED: 7" |
8893 |
|
</p> |
8894 |
|
<p> "SCANNING: /home/me/gigs/Bosendorfer 290.gig" |
8895 |
|
</p> |
8896 |
|
<p> "STATUS: 42" |
8897 |
|
</p> |
8898 |
|
<p> "." |
8899 |
|
</p> |
8900 |
|
</blockquote><p> |
8901 |
|
|
8902 |
|
</p> |
8903 |
<a name="command_syntax"></a><br /><hr /> |
<a name="command_syntax"></a><br /><hr /> |
8904 |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
8905 |
<a name="rfc.section.7"></a><h3>7. |
<a name="rfc.section.7"></a><h3>7. |
9033 |
<p>/ DB_INSTRUMENT_DIRECTORY SP pathname |
<p>/ DB_INSTRUMENT_DIRECTORY SP pathname |
9034 |
|
|
9035 |
</p> |
</p> |
9036 |
<p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname |
<p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname |
9037 |
|
|
9038 |
|
</p> |
9039 |
|
<p>/ DB_INSTRUMENTS SP scan_mode SP pathname SP pathname |
9040 |
|
|
9041 |
</p> |
</p> |
9042 |
<p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname |
<p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname |
9043 |
|
|
9044 |
|
</p> |
9045 |
|
<p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP instrument_index |
9046 |
|
|
9047 |
</p> |
</p> |
9048 |
<p>/ DB_INSTRUMENTS SP pathname SP pathname |
<p>/ DB_INSTRUMENTS SP pathname SP pathname |
9120 |
<p>/ DB_INSTRUMENT_INFO |
<p>/ DB_INSTRUMENT_INFO |
9121 |
|
|
9122 |
</p> |
</p> |
9123 |
|
<p>/ DB_INSTRUMENTS_JOB_INFO |
9124 |
|
|
9125 |
|
</p> |
9126 |
<p>/ MISCELLANEOUS |
<p>/ MISCELLANEOUS |
9127 |
|
|
9128 |
</p> |
</p> |
9195 |
<p>/ DB_INSTRUMENT_INFO |
<p>/ DB_INSTRUMENT_INFO |
9196 |
|
|
9197 |
</p> |
</p> |
9198 |
|
<p>/ DB_INSTRUMENTS_JOB_INFO |
9199 |
|
|
9200 |
|
</p> |
9201 |
<p>/ MISCELLANEOUS |
<p>/ MISCELLANEOUS |
9202 |
|
|
9203 |
</p> |
</p> |
9381 |
<p>/ DB_INSTRUMENT SP INFO SP pathname |
<p>/ DB_INSTRUMENT SP INFO SP pathname |
9382 |
|
|
9383 |
</p> |
</p> |
9384 |
|
<p>/ DB_INSTRUMENTS_JOB SP INFO SP number |
9385 |
|
|
9386 |
|
</p> |
9387 |
<p>/ VOLUME |
<p>/ VOLUME |
9388 |
|
|
9389 |
</p> |
</p> |
9975 |
</blockquote><p> |
</blockquote><p> |
9976 |
|
|
9977 |
</p> |
</p> |
9978 |
|
<p>scan_mode = |
9979 |
|
</p> |
9980 |
|
<blockquote class="text"> |
9981 |
|
<p>RECURSIVE |
9982 |
|
|
9983 |
|
</p> |
9984 |
|
<p>/ NON_RECURSIVE |
9985 |
|
|
9986 |
|
</p> |
9987 |
|
<p>/ FLAT |
9988 |
|
|
9989 |
|
</p> |
9990 |
|
</blockquote><p> |
9991 |
|
|
9992 |
|
</p> |
9993 |
<a name="events"></a><br /><hr /> |
<a name="events"></a><br /><hr /> |
9994 |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
9995 |
<a name="rfc.section.8"></a><h3>8. |
<a name="rfc.section.8"></a><h3>8. |
10676 |
(encapsulated into apostrophes), which name is changes and <new-name> is |
(encapsulated into apostrophes), which name is changes and <new-name> is |
10677 |
the new name of the instrument, encapsulated into apostrophes. |
the new name of the instrument, encapsulated into apostrophes. |
10678 |
</p> |
</p> |
10679 |
<a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr /> |
<a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr /> |
10680 |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
10681 |
<a name="rfc.section.8.22"></a><h3>8.22. |
<a name="rfc.section.8.22"></a><h3>8.22. |
10682 |
|
Database job status information changed</h3> |
10683 |
|
|
10684 |
|
<p>Client may want to be notified when the status of particular database |
10685 |
|
instruments job is changed by issuing the following command: |
10686 |
|
</p> |
10687 |
|
<p> |
10688 |
|
</p> |
10689 |
|
<blockquote class="text"> |
10690 |
|
<p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO |
10691 |
|
</p> |
10692 |
|
</blockquote><p> |
10693 |
|
|
10694 |
|
</p> |
10695 |
|
<p>Server will start sending the following notification messages: |
10696 |
|
</p> |
10697 |
|
<p> |
10698 |
|
</p> |
10699 |
|
<blockquote class="text"> |
10700 |
|
<p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:<job-id>" |
10701 |
|
</p> |
10702 |
|
</blockquote><p> |
10703 |
|
|
10704 |
|
</p> |
10705 |
|
<p>where <job-id> will be replaced by the numerical ID of the job, |
10706 |
|
which status is changed. The front-end will have to send the respective |
10707 |
|
command to actually get the status info. Because these messages |
10708 |
|
will be triggered by LSCP commands issued by other clients rather than real |
10709 |
|
time events happening on the server, it is believed that an empty notification |
10710 |
|
message is sufficient here. |
10711 |
|
</p> |
10712 |
|
<a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr /> |
10713 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
10714 |
|
<a name="rfc.section.8.23"></a><h3>8.23. |
10715 |
Miscellaneous and debugging events</h3> |
Miscellaneous and debugging events</h3> |
10716 |
|
|
10717 |
<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 |