/[svn]/linuxsampler/trunk/Documentation/lscp.xml
ViewVC logotype

Diff of /linuxsampler/trunk/Documentation/lscp.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1554 by schoenebeck, Thu Dec 6 01:38:31 2007 UTC revision 1727 by iliev, Tue Apr 29 15:44:09 2008 UTC
# Line 16  Line 16 
16       to an annoying "missing Normative/Informative References" error message -->       to an annoying "missing Normative/Informative References" error message -->
17  <?rfc strict="no" ?>  <?rfc strict="no" ?>
18    
19  <rfc category="std" ipr="full3978" docName="LSCP 1.3">  <rfc category="std" ipr="full3978" docName="LSCP 1.4">
20      <front>      <front>
21          <title>LinuxSampler Control Protocol</title>          <title>LinuxSampler Control Protocol</title>
22          <author initials='C.S.' surname="Schoenebeck" fullname='C.          <author initials='C.S.' surname="Schoenebeck" fullname='C.
# Line 34  Schoenebeck'> Line 34  Schoenebeck'>
34                  <email>schoenebeck at software minus engineering dot org</email>                  <email>schoenebeck at software minus engineering dot org</email>
35              </address>              </address>
36          </author>          </author>
37          <date month="December" year="2007"/>          <date month="April" year="2008"/>
38          <workgroup>LinuxSampler Developers</workgroup>          <workgroup>LinuxSampler Developers</workgroup>
39          <keyword>LSCP</keyword>          <keyword>LSCP</keyword>
40          <abstract>          <abstract>
# Line 6003  Schoenebeck'> Line 6003  Schoenebeck'>
6003                      </t>                      </t>
6004                  </section>                  </section>
6005    
6006                    <section title="Checking for lost instrument files" anchor="FIND LOST DB_INSTRUMENT_FILES">
6007                        <t>The front-end can retrieve the list of all instrument files in the instruments database
6008                        that don't exist in the filesystem by sending the following command:</t>
6009                        <t>
6010                            <list>
6011                                <t>FIND LOST DB_INSTRUMENT_FILES</t>
6012                            </list>
6013                        </t>
6014    
6015                        <t>Possible Answers:</t>
6016                        <t>
6017                            <list>
6018                                <t>A comma separated list with the absolute path names
6019                                (encapsulated into apostrophes) of all lost instrument files.</t>
6020                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6021                                    <list>
6022                                        <t>in case it failed, providing an appropriate error code and error message.</t>
6023                                    </list>
6024                                </t>
6025                            </list>
6026                        </t>
6027                        <t>Example:</t>
6028                        <t>
6029                            <list>
6030                                <t>C: "FIND LOST DB_INSTRUMENT_FILES"</t>
6031                                <t>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"</t>
6032                            </list>
6033                        </t>
6034                    </section>
6035    
6036                    <section title="Replacing an instrument file" anchor="SET DB_INSTRUMENT FILE_PATH">
6037                        <t>The front-end can substitute all occurrences of an instrument file
6038                        in the instruments database with a new one by sending the following command:</t>
6039                        <t>
6040                            <list>
6041                                <t>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;</t>
6042                            </list>
6043                        </t>
6044                        <t>Where &lt;old_path&gt; is the absolute path name of the instrument file
6045                        to substitute with &lt;new_path&gt;.</t>
6046    
6047                        <t>Possible Answers:</t>
6048                        <t>
6049                            <list>
6050                                <t>"OK" -
6051                                    <list>
6052                                        <t>on success</t>
6053                                    </list>
6054                                </t>
6055                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6056                                    <list>
6057                                        <t>in case it failed, providing an appropriate error code and error message.</t>
6058                                    </list>
6059                                </t>
6060                            </list>
6061                        </t>
6062    
6063                        <t>Example:</t>
6064                        <t>
6065                            <list>
6066                                <t>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"</t>
6067                                <t>S: "OK"</t>
6068                            </list>
6069                        </t>
6070                    </section>
6071    
6072              </section>              </section>
6073    
6074    
# Line 6391  Schoenebeck'> Line 6457  Schoenebeck'>
6457                  </t>                  </t>
6458                  <t>/ CHANNEL_COUNT                  <t>/ CHANNEL_COUNT
6459                  </t>                  </t>
6460                    <t>/ CHANNEL_MIDI
6461                    </t>
6462                    <t>/ DEVICE_MIDI
6463                    </t>
6464                  <t>/ VOICE_COUNT                  <t>/ VOICE_COUNT
6465                  </t>                  </t>
6466                  <t>/ STREAM_COUNT                  <t>/ STREAM_COUNT
# Line 6443  Schoenebeck'> Line 6513  Schoenebeck'>
6513                  </t>                  </t>
6514                  <t>/ CHANNEL_COUNT                  <t>/ CHANNEL_COUNT
6515                  </t>                  </t>
6516                    <t>/ CHANNEL_MIDI
6517                    </t>
6518                    <t>/ DEVICE_MIDI
6519                    </t>
6520                  <t>/ VOICE_COUNT                  <t>/ VOICE_COUNT
6521                  </t>                  </t>
6522                  <t>/ STREAM_COUNT                  <t>/ STREAM_COUNT
# Line 6641  Schoenebeck'> Line 6715  Schoenebeck'>
6715                  </t>                  </t>
6716                  <t>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped                  <t>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
6717                  </t>                  </t>
6718                    <t>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
6719                    </t>
6720                  <t>/ ECHO SP boolean                  <t>/ ECHO SP boolean
6721                  </t>                  </t>
6722                  <t>/ VOLUME SP volume_value                  <t>/ VOLUME SP volume_value
# Line 6687  Schoenebeck'> Line 6763  Schoenebeck'>
6763                  </t>                  </t>
6764                  <t>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list                  <t>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
6765                  </t>                  </t>
6766                    <t>/ LOST SP DB_INSTRUMENT_FILES
6767                    </t>
6768          </list>          </list>
6769  </t>  </t>
6770  <t>move_instruction =  <t>move_instruction =
# Line 7082  Schoenebeck'> Line 7160  Schoenebeck'>
7160                      <t><xref target="MOVE DB_INSTRUMENT_DIRECTORY">"MOVE DB_INSTRUMENT_DIRECTORY"</xref></t>                      <t><xref target="MOVE DB_INSTRUMENT_DIRECTORY">"MOVE DB_INSTRUMENT_DIRECTORY"</xref></t>
7161                      <t><xref target="COPY DB_INSTRUMENT">"COPY DB_INSTRUMENT"</xref></t>                      <t><xref target="COPY DB_INSTRUMENT">"COPY DB_INSTRUMENT"</xref></t>
7162                      <t><xref target="COPY DB_INSTRUMENT_DIRECTORY">"COPY DB_INSTRUMENT_DIRECTORY"</xref></t>                      <t><xref target="COPY DB_INSTRUMENT_DIRECTORY">"COPY DB_INSTRUMENT_DIRECTORY"</xref></t>
7163                        <t><xref target="FIND LOST DB_INSTRUMENT_FILES">"FIND LOST DB_INSTRUMENT_FILES"</xref></t>
7164                        <t><xref target="SET DB_INSTRUMENT FILE_PATH">"SET DB_INSTRUMENT FILE_PATH"</xref></t>
7165                      <t><xref target="GET FILE INSTRUMENTS">"GET FILE INSTRUMENTS"</xref></t>                      <t><xref target="GET FILE INSTRUMENTS">"GET FILE INSTRUMENTS"</xref></t>
7166                      <t><xref target="LIST FILE INSTRUMENTS">"LIST FILE INSTRUMENTS"</xref></t>                      <t><xref target="LIST FILE INSTRUMENTS">"LIST FILE INSTRUMENTS"</xref></t>
7167                      <t><xref target="GET FILE INSTRUMENT INFO">"GET FILE INSTRUMENT INFO"</xref></t>                      <t><xref target="GET FILE INSTRUMENT INFO">"GET FILE INSTRUMENT INFO"</xref></t>
# Line 7238  Schoenebeck'> Line 7318  Schoenebeck'>
7318                  of sampler channels.</t>                  of sampler channels.</t>
7319              </section>              </section>
7320    
7321                <section title="MIDI data on a sampler channel arrived" anchor="SUBSCRIBE CHANNEL_MIDI">
7322                    <t>Client may want to be notified when MIDI data arrive on sampler channels on
7323                    back-end side, by issuing the following command:</t>
7324                    <t>
7325                        <list>
7326                            <t>SUBSCRIBE CHANNEL_MIDI</t>
7327                        </list>
7328                    </t>
7329                    <t>Server will start sending one of the the following notification messages:</t>
7330                    <t>
7331                        <list>
7332                            <t>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"</t>
7333                            <t>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"</t>
7334                        </list>
7335                    </t>
7336                    <t>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
7337                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
7338                    0 .. 127, reflecting the analog meaning of the MIDI specification.
7339                    </t>
7340                    <t>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
7341                    delivered by this mechanism! With other words: events could be lost at any time!
7342                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
7343                    thread unaffected by this feature.</t>
7344                </section>
7345    
7346                <section title="MIDI data on a MIDI input device arrived" anchor="SUBSCRIBE DEVICE_MIDI">
7347                        <t>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:</t>
7348                        <t>
7349                                <list>
7350                                        <t>SUBSCRIBE DEVICE_MIDI</t>
7351                                </list>
7352                        </t>
7353                        <t>Server will start sending one of the the following notification messages:</t>
7354                        <t>
7355                                <list>
7356                                        <t>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"</t>
7357                                        <t>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"</t>
7358                                </list>
7359                        </t>
7360                        <t>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
7361                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
7362                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
7363                           0 .. 127, reflecting the analog meaning of the MIDI specification.
7364                        </t>
7365                        <t>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
7366                           delivered by this mechanism! With other words: events could be lost at any time!
7367                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
7368                           thread unaffected by this feature.</t>
7369                </section>
7370    
7371              <section title="Number of active voices changed" anchor="SUBSCRIBE VOICE_COUNT">              <section title="Number of active voices changed" anchor="SUBSCRIBE VOICE_COUNT">
7372                  <t>Client may want to be notified when the number of voices on the                  <t>Client may want to be notified when the number of voices on the
7373                  back-end changes by issuing the following command:</t>                  back-end changes by issuing the following command:</t>

Legend:
Removed from v.1554  
changed lines
  Added in v.1727

  ViewVC Help
Powered by ViewVC