/[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 561 by schoenebeck, Sat May 21 20:01:32 2005 UTC revision 706 by iliev, Thu Jul 21 08:34:46 2005 UTC
# Line 13  Line 13 
13  <?rfc iprnotified="no" ?>  <?rfc iprnotified="no" ?>
14  <?rfc strict="yes" ?>  <?rfc strict="yes" ?>
15    
16  <rfc category="std" ipr="full2026" docName="lscp.txt">  <rfc category="std" ipr="full2026" docName="LSCP 1.1">
17      <front>      <front>
18          <title>LinuxSampler Control Protocol</title>          <title>LinuxSampler Control Protocol</title>
19          <author initials='C.S.' surname="Schoenebeck" fullname='C.          <author initials='C.S.' surname="Schoenebeck" fullname='C.
# Line 37  Schoenebeck'> Line 37  Schoenebeck'>
37          <abstract>          <abstract>
38              <t>The LinuxSampler Control Protocol (LSCP) is an              <t>The LinuxSampler Control Protocol (LSCP) is an
39              application-level protocol primarily intended for local and              application-level protocol primarily intended for local and
40              remote controlling the LinuxSampler main application, which is a              remote controlling the LinuxSampler backend application, which is a
41              sophisticated console application essentially playing back audio              sophisticated server-like console application essentially playing
42              samples and manipulating the samples in real time to certain              back audio samples and manipulating the samples in real time to
43              extent.</t>              certain extent.</t>
44          </abstract>          </abstract>
45      </front>      </front>
46    
# Line 112  Schoenebeck'> Line 112  Schoenebeck'>
112              return and line feed characters respectively.</t>              return and line feed characters respectively.</t>
113          </section>          </section>
114    
115            <section title="Versioning of this specification" anchor="LSCP versioning">
116                <t>LSCP will certainly be extended and enhanced by-and-by. Each official
117                release of the LSCP specification will be tagged with a unique version
118                tuple. The version tuple consists at least of a major and minor version
119                number like:
120                </t>
121                <t>
122                    <list>
123                        <t>"1.2"</t>
124                    </list>
125                </t>
126                <t>
127                In this example the major version number would be "1" and the minor
128                version number would be "2". Note that the version tuple might also
129                have more than two elements. The major version number defines a
130                group of backward compatible versions. That means a frontend is
131                compatible to the connected sampler if and only if the LSCP versions
132                to which each of the two parties complies to, match both of the
133                following rules:
134                </t>
135                <t>Compatibility:</t>
136                <t>
137                    <list style="numbers">
138                        <t>The frontend's LSCP major version and the sampler's LSCP
139                        major version are exactly equal.</t>
140                        <t>The frontend's LSCP minor version is less or equal than
141                        the sampler's LSCP minor version.</t>
142                    </list>
143                </t>
144                <t>
145                Compatibility can only be claimed if both rules are true.
146                The frontend can use the
147                <xref target="GET SERVER INFO">"GET SERVER INFO"</xref> command to
148                get the version of the LSCP specification the sampler complies with.
149                </t>
150            </section>
151    
152          <section title="Introduction">          <section title="Introduction">
153              <t>LinuxSampler is a so called software sampler application              <t>LinuxSampler is a so called software sampler application
154              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 124  Schoenebeck'> Line 161  Schoenebeck'>
161              arbitrary MIDI input method and arbitrary MIDI channel (e.g.              arbitrary MIDI input method and arbitrary MIDI channel (e.g.
162              sampler channel 17 could be connected to an ALSA sequencer              sampler channel 17 could be connected to an ALSA sequencer
163              device 64:0 and listening to MIDI channel 1 there). Each sampler              device 64:0 and listening to MIDI channel 1 there). Each sampler
164              engine will be assigned an own instance of one of the available              channel will be associated with an instance of one of the available
165              sampler engines (e.g. GigEngine, DLSEngine). The audio output of              sampler engines (e.g. GigEngine, DLSEngine). The audio output of
166              each sampler channel can be routed to an arbitrary audio output              each sampler channel can be routed to an arbitrary audio output
167              method (ALSA / JACK) and an arbitrary audio output channel              method (ALSA / JACK) and an arbitrary audio output channel
# Line 154  Schoenebeck'> Line 191  Schoenebeck'>
191              methods will be described next.</t>              methods will be described next.</t>
192    
193              <section title="Request/response communication method">              <section title="Request/response communication method">
194                  <t>This simple communication method is based on TCP. The                  <t>This simple communication method is based on
195                    <xref target="RFC793">TCP</xref>. The
196                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
197                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
198                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 425  Schoenebeck'> Line 463  Schoenebeck'>
463              </section>              </section>
464          </section>          </section>
465    
466          <section title="Description for control commands">          <section title="Description for control commands" anchor="control_commands">
467              <t>This chapter will describe the available control commands              <t>This chapter will describe the available control commands
468              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
469              commands (e.g. <xref target="GET CHANNEL INFO">"GET CHANNEL INFO"</xref>              commands (e.g. <xref target="GET CHANNEL INFO">"GET CHANNEL INFO"</xref>
# Line 796  Schoenebeck'> Line 834  Schoenebeck'>
834                      </t>                      </t>
835    
836                      <t>Where &lt;audio-output-driver&gt; should be replaced by the desired audio                      <t>Where &lt;audio-output-driver&gt; should be replaced by the desired audio
837                      output system and &lt;param-list&gt; by an optional list of driver                      output system as returned by the
838                        <xref target="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"</xref>
839                        command and &lt;param-list&gt; by an optional list of driver
840                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
841                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
842                      Note that there might be drivers which require parameter(s) to be                      Note that there might be drivers which require parameter(s) to be
# Line 1017  Schoenebeck'> Line 1057  Schoenebeck'>
1057                          </list>                          </list>
1058                      </t>                      </t>
1059                      <t>Where &lt;device-id&gt; should be replaced by the numerical ID of the                      <t>Where &lt;device-id&gt; should be replaced by the numerical ID of the
1060                      audio output device, &lt;key&gt; by the name of the parameter to change                      audio output device as given by the
1061                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
1062                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
1063                        command, &lt;key&gt; by the name of the parameter to change
1064                      and &lt;value&gt; by the new value for this parameter.</t>                      and &lt;value&gt; by the new value for this parameter.</t>
1065                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
1066                      <t>                      <t>
# Line 1058  Schoenebeck'> Line 1101  Schoenebeck'>
1101                              <t>GET AUDIO_OUTPUT_CHANNEL INFO &lt;device-id&gt; &lt;audio-chan&gt;</t>                              <t>GET AUDIO_OUTPUT_CHANNEL INFO &lt;device-id&gt; &lt;audio-chan&gt;</t>
1102                          </list>                          </list>
1103                      </t>                      </t>
1104                      <t>Where &lt;device-id&gt; is the numerical ID of the audio output device                      <t>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the
1105                      and &lt;audio-chan&gt; the audio channel number.</t>                      <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
1106                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
1107                        command and &lt;audio-chan&gt; the audio channel number.</t>
1108                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
1109                      <t>                      <t>
1110                          <list>                          <list>
# Line 1158  Schoenebeck'> Line 1203  Schoenebeck'>
1203                          </list>                          </list>
1204                      </t>                      </t>
1205    
1206                      <t>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned                      <t>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the
1207                      by the <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>                      <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
1208                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
1209                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
1210                      and &lt;param&gt; a specific channel parameter name for which information should                      and &lt;param&gt; a specific channel parameter name for which information should
1211                      be obtained (as returned by the <xref target="GET AUDIO_OUTPUT_CHANNEL INFO">                      be obtained (as returned by the <xref target="GET AUDIO_OUTPUT_CHANNEL INFO">
# Line 1261  Schoenebeck'> Line 1307  Schoenebeck'>
1307                              <t>SET AUDIO_OUTPUT_CHANNEL_PARAMETER &lt;dev-id&gt; &lt;chn&gt; &lt;key&gt;=&lt;value&gt;</t>                              <t>SET AUDIO_OUTPUT_CHANNEL_PARAMETER &lt;dev-id&gt; &lt;chn&gt; &lt;key&gt;=&lt;value&gt;</t>
1308                          </list>                          </list>
1309                      </t>                      </t>
1310                      <t>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio                      <t>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the
1311                      device, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the                      <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
1312                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
1313                        command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
1314                      parameter to change and &lt;value&gt; by the new value for this parameter.</t>                      parameter to change and &lt;value&gt; by the new value for this parameter.</t>
1315                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
1316                      <t>                      <t>
# Line 1386  Schoenebeck'> Line 1434  Schoenebeck'>
1434                              <t>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;</t>                              <t>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;</t>
1435                          </list>                          </list>
1436                      </t>                      </t>
1437                      <t>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver.</t>                      <t>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
1438                        by the <xref target="LIST AVAILABLE_MIDI_INPUT_DRIVERS">
1439                        "LIST AVAILABLE_MIDI_INPUT_DRIVERS"</xref> command.</t>
1440                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
1441                      <t>                      <t>
1442                          <list>                          <list>
# Line 1596  Schoenebeck'> Line 1646  Schoenebeck'>
1646                          </list>                          </list>
1647                      </t>                      </t>
1648    
1649                      <t>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system and &lt;param-list&gt; by an                      <t>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
1650                        by the <xref target="LIST AVAILABLE_MIDI_INPUT_DRIVERS">
1651                        "LIST AVAILABLE_MIDI_INPUT_DRIVERS"</xref> command and &lt;param-list&gt; by an
1652                      optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where                      optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where
1653                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
1654                      Note that there might be drivers which require parameter(s) to be                      Note that there might be drivers which require parameter(s) to be
# Line 1643  Schoenebeck'> Line 1695  Schoenebeck'>
1695                              <t>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;</t>                              <t>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;</t>
1696                          </list>                          </list>
1697                      </t>                      </t>
1698                      <t>Where &lt;device-id&gt; should be replaced by the device's numerical ID.</t>                      <t>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
1699                        <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
1700                        or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref>
1701                        command.</t>
1702                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
1703                      <t>                      <t>
1704                          <list>                          <list>
# Line 1735  Schoenebeck'> Line 1790  Schoenebeck'>
1790                              <t>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;</t>                              <t>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;</t>
1791                          </list>                          </list>
1792                      </t>                      </t>
1793                      <t>Where &lt;device-id&gt; is the numerical ID of the MIDI input device.</t>                      <t>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
1794                        <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
1795                        or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref>
1796                        command.</t>
1797                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
1798                      <t>                      <t>
1799                          <list>                          <list>
# Line 1800  Schoenebeck'> Line 1858  Schoenebeck'>
1858                      </t>                      </t>
1859    
1860                      <t>Where &lt;device-id&gt; should be replaced by the numerical ID of the                      <t>Where &lt;device-id&gt; should be replaced by the numerical ID of the
1861                      MIDI input device, &lt;key&gt; by the name of the parameter to change and                      MIDI input device as returned by the
1862                        <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
1863                        or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref>
1864                        command, &lt;key&gt; by the name of the parameter to change and
1865                      &lt;value&gt; by the new value for this parameter.</t>                      &lt;value&gt; by the new value for this parameter.</t>
1866    
1867                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
# Line 1841  Schoenebeck'> Line 1902  Schoenebeck'>
1902                              <t>GET MIDI_INPUT_PORT INFO &lt;device-id&gt; &lt;midi-port&gt;</t>                              <t>GET MIDI_INPUT_PORT INFO &lt;device-id&gt; &lt;midi-port&gt;</t>
1903                          </list>                          </list>
1904                      </t>                      </t>
1905                      <t>Where &lt;device-id&gt; is the numerical ID of the MIDI input device                      <t>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
1906                      and &lt;midi-port&gt; the MIDI input port number.</t>                      <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
1907                        or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref>
1908                        command and &lt;midi-port&gt; the MIDI input port number.</t>
1909                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
1910                      <t>                      <t>
1911                          <list>                          <list>
# Line 1884  Schoenebeck'> Line 1947  Schoenebeck'>
1947                          </list>                          </list>
1948                      </t>                      </t>
1949    
1950                      <t>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned                      <t>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the
1951                      by the <xref target="LIST MIDI_INPUT_DEVICES">                      <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
1952                      "LIST MIDI_INPUT_DEVICES"</xref> command, &lt;port&gt; the MIDI port number and                      or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref>
1953                        command, &lt;port&gt; the MIDI port number and
1954                      &lt;param&gt; a specific port parameter name for which information should be                      &lt;param&gt; a specific port parameter name for which information should be
1955                      obtained (as returned by the <xref target="GET MIDI_INPUT_PORT INFO">                      obtained (as returned by the <xref target="GET MIDI_INPUT_PORT INFO">
1956                      "GET MIDI_INPUT_PORT INFO"</xref> command).</t>                      "GET MIDI_INPUT_PORT INFO"</xref> command).</t>
# Line 1989  Schoenebeck'> Line 2053  Schoenebeck'>
2053                      </t>                      </t>
2054    
2055                      <t>Where &lt;device-id&gt; should be replaced by the numerical ID of the                      <t>Where &lt;device-id&gt; should be replaced by the numerical ID of the
2056                      MIDI device, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      MIDI device as returned by the
2057                        <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
2058                        or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref>
2059                        command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
2060                      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
2061                      parameter.</t>                      parameter.</t>
2062    
# Line 2025  Schoenebeck'> Line 2092  Schoenebeck'>
2092              </section>              </section>
2093    
2094              <section title="Configuring sampler channels">              <section title="Configuring sampler channels">
2095                  <t>The following commands describe how to add and remove sampler channels, deploy                  <t>The following commands describe how to add and remove sampler channels, associate a
2096                  sampler engines, load instruments and connect sampler channels to MIDI and audio devices.</t>                  sampler channel with a sampler engine, load instruments and connect sampler channels to
2097                    MIDI and audio devices.</t>
2098    
2099                  <section title="Loading an instrument" anchor="LOAD INSTRUMENT">                  <section title="Loading an instrument" anchor="LOAD INSTRUMENT">
2100                      <t>An instrument file can be loaded and assigned to a sampler channel by one of the following commands:</t>                      <t>An instrument file can be loaded and assigned to a sampler channel by one of the following commands:</t>
# Line 2086  Schoenebeck'> Line 2154  Schoenebeck'>
2154                  </section>                  </section>
2155    
2156                  <section title="Loading a sampler engine" anchor="LOAD ENGINE">                  <section title="Loading a sampler engine" anchor="LOAD ENGINE">
2157                      <t>A sample engine can be deployed and assigned to a specific sampler                      <t>A sampler engine type can be associated to a specific sampler
2158                      channel by the following command:</t>                      channel by the following command:</t>
2159                      <t>                      <t>
2160                          <list>                          <list>
# Line 2096  Schoenebeck'> Line 2164  Schoenebeck'>
2164    
2165                      <t>Where &lt;engine-name&gt; is an engine name as obtained by the                      <t>Where &lt;engine-name&gt; is an engine name as obtained by the
2166                      <xref target="LIST AVAILABLE_ENGINES">                      <xref target="LIST AVAILABLE_ENGINES">
2167                      "LIST AVAILABLE_ENGINES"</xref> command and &lt;sampler-channel&gt; the sampler channel the                      "LIST AVAILABLE_ENGINES"</xref> command and &lt;sampler-channel&gt;
2168                      deployed engine should be assigned to. Even if the respective                      the sampler channel as returned by the
2169                      sampler channel has already a deployed engine with that engine                      <xref target="ADD CHANNEL">"ADD CHANNEL"</xref> or
2170                      name, a new engine instance will be assigned to the sampler channel.</t>                      <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command where
2171                        the engine type should be assigned to. This command should be issued
2172                        after adding a new sampler channel and before any other control
2173                        commands on the new sampler channel. It can also be used to change
2174                        the engine type of a sampler channel. This command has (currently) no
2175                        way to define or force if a new engine instance should be created and
2176                        assigned to the given sampler channel or if an already existing
2177                        instance of that engine type, shared with other sampler channels,
2178                        should be used.</t>
2179    
2180                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
2181                      <t>                      <t>
# Line 2384  Schoenebeck'> Line 2460  Schoenebeck'>
2460                              <t>GET CHANNEL INFO &lt;sampler-channel&gt;</t>                              <t>GET CHANNEL INFO &lt;sampler-channel&gt;</t>
2461                          </list>                          </list>
2462                      </t>                      </t>
2463                      <t>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.</t>                      <t>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
2464                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2465                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command.</t>
2466                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
2467                      <t>                      <t>
2468                          <list>                          <list>
# Line 2398  Schoenebeck'> Line 2476  Schoenebeck'>
2476                                  <list>                                  <list>
2477                                      <t>ENGINE_NAME -                                      <t>ENGINE_NAME -
2478                                          <list>                                          <list>
2479                                              <t>name of the engine that is deployed on the sampler                                              <t>name of the engine that is associated with the sampler
2480                                              channel, "NONE" if there's no engine deployed yet for                                              channel, "NONE" if there's no engine associated yet for
2481                                              this sampler channel</t>                                              this sampler channel</t>
2482                                          </list>                                          </list>
2483                                      </t>                                      </t>
# Line 2478  Schoenebeck'> Line 2556  Schoenebeck'>
2556                                              1.0 means amplification)</t>                                              1.0 means amplification)</t>
2557                                          </list>                                          </list>
2558                                      </t>                                      </t>
2559                                        <t>MUTE -
2560                                            <list>
2561                                                <t>Determines whether the channel is muted, "true" if the
2562                                                channel is muted, "false" if the channel is not muted, and
2563                                                "MUTED_BY_SOLO" if the channel is muted because of the
2564                                                presence of a solo channel and will be unmuted when
2565                                                there are no solo channels left</t>
2566                                            </list>
2567                                        </t>
2568                                        <t>SOLO -
2569                                            <list>
2570                                                <t>Determines whether this is a solo channel, "true" if
2571                                                the channel is a solo channel; "false" otherwise</t>
2572                                            </list>
2573                                        </t>
2574                                  </list>                                  </list>
2575                              </t>                              </t>
2576                          </list>                          </list>
# Line 2513  Schoenebeck'> Line 2606  Schoenebeck'>
2606                              <t>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;</t>                              <t>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;</t>
2607                          </list>                          </list>
2608                      </t>                      </t>
2609                      <t>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.</t>                      <t>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
2610                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2611                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command.</t>
2612    
2613                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
2614                      <t>                      <t>
# Line 2538  Schoenebeck'> Line 2633  Schoenebeck'>
2633                              <t>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;</t>                              <t>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;</t>
2634                          </list>                          </list>
2635                      </t>                      </t>
2636                      <t>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.</t>                      <t>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
2637                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2638                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command.</t>
2639    
2640                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
2641                      <t>                      <t>
# Line 2572  Schoenebeck'> Line 2669  Schoenebeck'>
2669                          </list>                          </list>
2670                      </t>                      </t>
2671                      <t>to get the fill state in percent, where &lt;sampler-channel&gt; is the                      <t>to get the fill state in percent, where &lt;sampler-channel&gt; is the
2672                      sampler channel number the front-end is interested in.</t>                      sampler channel number the front-end is interested in
2673                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2674                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command.</t>
2675    
2676                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
2677                      <t>                      <t>
# Line 2616  Schoenebeck'> Line 2715  Schoenebeck'>
2715                              <t>SET CHANNEL AUDIO_OUTPUT_DEVICE &lt;sampler-channel&gt; &lt;audio-device-id&gt;</t>                              <t>SET CHANNEL AUDIO_OUTPUT_DEVICE &lt;sampler-channel&gt; &lt;audio-device-id&gt;</t>
2716                          </list>                          </list>
2717                      </t>                      </t>
2718                      <t>Where &lt;audio-device-id&gt; is the numerical ID of the audio output                      <t>Where &lt;sampler-channel&gt; is the respective sampler channel
2719                      device and &lt;sampler-channel&gt; is the respective sampler channel                      number as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2720                      number.</t>                      or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command and
2721                        &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
2722                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
2723                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
2724                        command.</t>
2725    
2726                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
2727                      <t>                      <t>
# Line 2701  Schoenebeck'> Line 2804  Schoenebeck'>
2804                              <t>SET CHANNEL AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;audio-out&gt; &lt;audio-in&gt;</t>                              <t>SET CHANNEL AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;audio-out&gt; &lt;audio-in&gt;</t>
2805                          </list>                          </list>
2806                      </t>                      </t>
2807                      <t>Where &lt;sampler-chan&gt; is the sampler channel number, &lt;audio-out&gt; is the                      <t>Where &lt;sampler-chan&gt; is the sampler channel number
2808                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2809                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command, &lt;audio-out&gt; is the
2810                      numerical ID of the sampler channel's audio output channel which should be                      numerical ID of the sampler channel's audio output channel which should be
2811                      rerouted and &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio                      rerouted and &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio
2812                      output device where &lt;audio-out&gt; should be routed to.</t>                      output device where &lt;audio-out&gt; should be routed to.</t>
# Line 2744  Schoenebeck'> Line 2849  Schoenebeck'>
2849                              <t>SET CHANNEL MIDI_INPUT_DEVICE &lt;sampler-channel&gt; &lt;midi-device-id&gt;</t>                              <t>SET CHANNEL MIDI_INPUT_DEVICE &lt;sampler-channel&gt; &lt;midi-device-id&gt;</t>
2850                          </list>                          </list>
2851                      </t>                      </t>
2852                      <t>Where &lt;sampler-channel&gt; is the sampler channel number and &lt;midi-device-id&gt; is the                      <t>Where &lt;sampler-channel&gt; is the sampler channel number
2853                      the numerical ID of the MIDI input device.</t>                      as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2854                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command
2855                        and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
2856                        <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
2857                        or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref> command.</t>
2858    
2859                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
2860                      <t>                      <t>
# Line 2947  Schoenebeck'> Line 3056  Schoenebeck'>
3056                      </t>                      </t>
3057                  </section>                  </section>
3058    
3059                    <section title="Muting a sampler channel" anchor="SET CHANNEL MUTE">
3060                        <t>The front-end can mute/unmute a specific sampler
3061                        channel by sending the following command:</t>
3062                        <t>
3063                            <list>
3064                                <t>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;</t>
3065                            </list>
3066                        </t>
3067                        <t>Where &lt;sampler-channel&gt; is the respective sampler channel
3068                        number as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
3069                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command and
3070                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
3071                        to unmute the channel.</t>
3072    
3073                        <t>Possible Answers:</t>
3074                        <t>
3075                            <list>
3076                                <t>"OK" -
3077                                    <list>
3078                                        <t>on success</t>
3079                                    </list>
3080                                </t>
3081                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3082                                    <list>
3083                                        <t>if the channel was muted/unmuted, but there are noteworthy
3084                                        issue(s) related, providing an appropriate warning code and
3085                                        warning message</t>
3086                                    </list>
3087                                </t>
3088                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3089                                    <list>
3090                                        <t>in case it failed, providing an appropriate error code and error message</t>
3091                                    </list>
3092                                </t>
3093                            </list>
3094                        </t>
3095                        <t>Examples:</t>
3096                        <t>
3097                            <list>
3098                                <t></t>
3099                            </list>
3100                        </t>
3101                    </section>
3102    
3103                    <section title="Soloing a sampler channel" anchor="SET CHANNEL SOLO">
3104                        <t>The front-end can solo/unsolo a specific sampler channel
3105                        by sending the following command:</t>
3106                        <t>
3107                            <list>
3108                                <t>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;</t>
3109                            </list>
3110                        </t>
3111                        <t>Where &lt;sampler-channel&gt; is the respective sampler channel
3112                        number as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
3113                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command and
3114                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
3115                        to unsolo the channel.</t>
3116    
3117                        <t>Possible Answers:</t>
3118                        <t>
3119                            <list>
3120                                <t>"OK" -
3121                                    <list>
3122                                        <t>on success</t>
3123                                    </list>
3124                                </t>
3125                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3126                                    <list>
3127                                        <t>if the channel was soloed/unsoloed, but there are noteworthy
3128                                        issue(s) related, providing an appropriate warning code and
3129                                        warning message</t>
3130                                    </list>
3131                                </t>
3132                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3133                                    <list>
3134                                        <t>in case it failed, providing an appropriate error code and error message</t>
3135                                    </list>
3136                                </t>
3137                            </list>
3138                        </t>
3139                        <t>Examples:</t>
3140                        <t>
3141                            <list>
3142                                <t></t>
3143                            </list>
3144                        </t>
3145                    </section>
3146    
3147                  <section title="Resetting a sampler channel" anchor="RESET CHANNEL">                  <section title="Resetting a sampler channel" anchor="RESET CHANNEL">
3148                      <t>The front-end can reset a particular sampler channel by sending the following command:</t>                      <t>The front-end can reset a particular sampler channel by sending the following command:</t>
3149                      <t>                      <t>
# Line 3157  Schoenebeck'> Line 3354  Schoenebeck'>
3354                          </list>                          </list>
3355                      </t>                      </t>
3356                  </section>                  </section>
3357    
3358                    <section title="General sampler informations" anchor="GET SERVER INFO">
3359                        <t>The client can ask for general informations about the LinuxSampler
3360                           instance by sending the following command:</t>
3361                        <t>
3362                            <list>
3363                                <t>GET SERVER INFO</t>
3364                            </list>
3365                        </t>
3366                        <t>Possible Answers:</t>
3367                        <t>
3368                            <list>
3369                                <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3370                                   Each answer line begins with the information category name
3371                                   followed by a colon and then a space character &lt;SP&gt; and finally
3372                                   the info character string to that information category. At the
3373                                   moment the following categories are defined:
3374                                </t>
3375                                <t>
3376                                    <list>
3377                                        <t>DESCRIPTION -
3378                                            <list>
3379                                                <t>arbitrary textual description about the sampler</t>
3380                                            </list>
3381                                        </t>
3382                                        <t>VERSION -
3383                                            <list>
3384                                                <t>version of the sampler</t>
3385                                            </list>
3386                                        </t>
3387                                        <t>PROTOCOL_VERSION -
3388                                            <list>
3389                                                <t>version of the LSCP specification the sampler
3390                                                complies with (see <xref target="LSCP versioning" /> for details)</t>
3391                                            </list>
3392                                        </t>
3393                                    </list>
3394                                </t>
3395                            </list>
3396                        </t>
3397                        <t>The mentioned fields above don't have to be in particular order.
3398                        Other fields might be added in future.</t>
3399                    </section>
3400              </section>              </section>
3401          </section>          </section>
3402    
3403          <section title="Command Syntax" anchor="command_syntax">          <section title="Command Syntax" anchor="command_syntax">
3404              <t>TODO: will soon automatically included from src/network/lscp.y,              <t>The grammar of the control protocol as descibed in <xref target="control_commands"/>
3405              meanwhile have a look at that file to get the exact definition of              is defined below using Backus-Naur Form (BNF as described in <xref target="RFC2234"/>)
3406              the command syntax.</t>              where applicable.
3407                </t>
3408                <!--
3409                    This section is automatically generated by scripts/update_grammar.pl
3410                    from src/network/lscp.y (yacc input file). Do not modify this section
3411                    manually !
3412                -->
3413                <!-- GRAMMAR_BNF_BEGIN - do NOT delete or modify this line !!! -->
3414    
3415    <t>input =
3416            <list>
3417                    <t>line LF
3418                    </t>
3419                    <t>/ line CR LF
3420                    </t>
3421            </list>
3422    </t>
3423    <t>line =
3424            <list>
3425                    <t>/* epsilon (empty line ignored) */
3426                    </t>
3427                    <t>/ comment  
3428                    </t>
3429                    <t>/ command  
3430                    </t>
3431                    <t>/ error    
3432                    </t>
3433            </list>
3434    </t>
3435    <t>comment =
3436            <list>
3437                    <t>'#'
3438                    </t>
3439                    <t>/ comment '#'
3440                    </t>
3441                    <t>/ comment SP
3442                    </t>
3443                    <t>/ comment number
3444                    </t>
3445                    <t>/ comment string
3446                    </t>
3447            </list>
3448    </t>
3449    <t>command =
3450            <list>
3451                    <t>ADD SP CHANNEL                        
3452                    </t>
3453                    <t>/ GET SP get_instruction                
3454                    </t>
3455                    <t>/ CREATE SP create_instruction          
3456                    </t>
3457                    <t>/ DESTROY SP destroy_instruction        
3458                    </t>
3459                    <t>/ LIST SP list_instruction              
3460                    </t>
3461                    <t>/ LOAD SP load_instruction              
3462                    </t>
3463                    <t>/ REMOVE SP CHANNEL SP sampler_channel  
3464                    </t>
3465                    <t>/ SET SP set_instruction                
3466                    </t>
3467                    <t>/ SUBSCRIBE SP subscribe_event          
3468                    </t>
3469                    <t>/ UNSUBSCRIBE SP unsubscribe_event      
3470                    </t>
3471                    <t>/ SELECT SP text                        
3472                    </t>
3473                    <t>/ RESET SP CHANNEL SP sampler_channel  
3474                    </t>
3475                    <t>/ RESET                                
3476                    </t>
3477                    <t>/ QUIT                                  
3478                    </t>
3479            </list>
3480    </t>
3481    <t>subscribe_event =
3482            <list>
3483                    <t>CHANNEL_COUNT                        
3484                    </t>
3485                    <t>/ VOICE_COUNT                          
3486                    </t>
3487                    <t>/ STREAM_COUNT                          
3488                    </t>
3489                    <t>/ BUFFER_FILL                          
3490                    </t>
3491                    <t>/ CHANNEL_INFO                          
3492                    </t>
3493                    <t>/ MISCELLANEOUS                        
3494                    </t>
3495            </list>
3496    </t>
3497    <t>unsubscribe_event =
3498            <list>
3499                    <t>CHANNEL_COUNT                        
3500                    </t>
3501                    <t>/ VOICE_COUNT                          
3502                    </t>
3503                    <t>/ STREAM_COUNT                          
3504                    </t>
3505                    <t>/ BUFFER_FILL                          
3506                    </t>
3507                    <t>/ CHANNEL_INFO                          
3508                    </t>
3509                    <t>/ MISCELLANEOUS                        
3510                    </t>
3511            </list>
3512    </t>
3513    <t>get_instruction =
3514            <list>
3515                    <t>AVAILABLE_ENGINES                                                          
3516                    </t>
3517                    <t>/ AVAILABLE_MIDI_INPUT_DRIVERS                                              
3518                    </t>
3519                    <t>/ MIDI_INPUT_DRIVER SP INFO SP string                                        
3520                    </t>
3521                    <t>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string                    
3522                    </t>
3523                    <t>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list    
3524                    </t>
3525                    <t>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS                                            
3526                    </t>
3527                    <t>/ AUDIO_OUTPUT_DRIVER SP INFO SP string                                      
3528                    </t>
3529                    <t>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string                  
3530                    </t>
3531                    <t>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list  
3532                    </t>
3533                    <t>/ AUDIO_OUTPUT_DEVICES                                                      
3534                    </t>
3535                    <t>/ MIDI_INPUT_DEVICES                                                        
3536                    </t>
3537                    <t>/ AUDIO_OUTPUT_DEVICE SP INFO SP number                                      
3538                    </t>
3539                    <t>/ MIDI_INPUT_DEVICE SP INFO SP number                                        
3540                    </t>
3541                    <t>/ MIDI_INPUT_PORT SP INFO SP number SP number                                
3542                    </t>
3543                    <t>/ MIDI_INPUT_PORT_PARAMETER SP INFO SP number SP number SP string            
3544                    </t>
3545                    <t>/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number                          
3546                    </t>
3547                    <t>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string      
3548                    </t>
3549                    <t>/ CHANNELS                                                                  
3550                    </t>
3551                    <t>/ CHANNEL SP INFO SP sampler_channel                                        
3552                    </t>
3553                    <t>/ CHANNEL SP BUFFER_FILL SP buffer_size_type SP sampler_channel              
3554                    </t>
3555                    <t>/ CHANNEL SP STREAM_COUNT SP sampler_channel                                
3556                    </t>
3557                    <t>/ CHANNEL SP VOICE_COUNT SP sampler_channel                                  
3558                    </t>
3559                    <t>/ ENGINE SP INFO SP engine_name                                              
3560                    </t>
3561                    <t>/ SERVER SP INFO                                                            
3562                    </t>
3563            </list>
3564    </t>
3565    <t>set_instruction =
3566            <list>
3567                    <t>AUDIO_OUTPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list            
3568                    </t>
3569                    <t>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP number SP number SP string '=' param_val_list  
3570                    </t>
3571                    <t>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list              
3572                    </t>
3573                    <t>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list      
3574                    </t>
3575                    <t>/ CHANNEL SP set_chan_instruction                                                  
3576                    </t>
3577                    <t>/ ECHO SP boolean                                                                  
3578                    </t>
3579            </list>
3580    </t>
3581    <t>create_instruction =
3582            <list>
3583                    <t>AUDIO_OUTPUT_DEVICE SP string SP key_val_list  
3584                    </t>
3585                    <t>/ AUDIO_OUTPUT_DEVICE SP string                  
3586                    </t>
3587                    <t>/ MIDI_INPUT_DEVICE SP string SP key_val_list    
3588                    </t>
3589                    <t>/ MIDI_INPUT_DEVICE SP string                    
3590                    </t>
3591            </list>
3592    </t>
3593    <t>destroy_instruction =
3594            <list>
3595                    <t>AUDIO_OUTPUT_DEVICE SP number  
3596                    </t>
3597                    <t>/ MIDI_INPUT_DEVICE SP number    
3598                    </t>
3599            </list>
3600    </t>
3601    <t>load_instruction =
3602            <list>
3603                    <t>INSTRUMENT SP load_instr_args  
3604                    </t>
3605                    <t>/ ENGINE SP load_engine_args    
3606                    </t>
3607            </list>
3608    </t>
3609    <t>set_chan_instruction =
3610            <list>
3611                    <t>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index                                              
3612                    </t>
3613                    <t>/ AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index SP audio_channel_index              
3614                    </t>
3615                    <t>/ AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name                                      
3616                    </t>
3617                    <t>/ MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index  
3618                    </t>
3619                    <t>/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index                                                
3620                    </t>
3621                    <t>/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index                                        
3622                    </t>
3623                    <t>/ MIDI_INPUT_CHANNEL SP sampler_channel SP midi_input_channel_index                                  
3624                    </t>
3625                    <t>/ MIDI_INPUT_TYPE SP sampler_channel SP midi_input_type_name                                          
3626                    </t>
3627                    <t>/ VOLUME SP sampler_channel SP volume_value                                                          
3628                    </t>
3629                    <t>/ MUTE SP sampler_channel SP boolean                                                                  
3630                    </t>
3631                    <t>/ SOLO SP sampler_channel SP boolean                                                                  
3632                    </t>
3633            </list>
3634    </t>
3635    <t>key_val_list =
3636            <list>
3637                    <t>string '=' param_val_list                  
3638                    </t>
3639                    <t>/ key_val_list SP string '=' param_val_list  
3640                    </t>
3641            </list>
3642    </t>
3643    <t>buffer_size_type =
3644            <list>
3645                    <t>BYTES      
3646                    </t>
3647                    <t>/ PERCENTAGE  
3648                    </t>
3649            </list>
3650    </t>
3651    <t>list_instruction =
3652            <list>
3653                    <t>AUDIO_OUTPUT_DEVICES            
3654                    </t>
3655                    <t>/ MIDI_INPUT_DEVICES              
3656                    </t>
3657                    <t>/ CHANNELS                        
3658                    </t>
3659                    <t>/ AVAILABLE_ENGINES              
3660                    </t>
3661                    <t>/ AVAILABLE_MIDI_INPUT_DRIVERS    
3662                    </t>
3663                    <t>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  
3664                    </t>
3665            </list>
3666    </t>
3667    <t>load_instr_args =
3668            <list>
3669                    <t>filename SP instrument_index SP sampler_channel              
3670                    </t>
3671                    <t>/ NON_MODAL SP filename SP instrument_index SP sampler_channel  
3672                    </t>
3673            </list>
3674    </t>
3675    <t>load_engine_args =
3676            <list>
3677                    <t>engine_name SP sampler_channel  
3678                    </t>
3679            </list>
3680    </t>
3681    <t>device_index =
3682            <list>
3683                    <t>number
3684                    </t>
3685            </list>
3686    </t>
3687    <t>audio_channel_index =
3688            <list>
3689                    <t>number
3690                    </t>
3691            </list>
3692    </t>
3693    <t>audio_output_type_name =
3694            <list>
3695                    <t>string
3696                    </t>
3697            </list>
3698    </t>
3699    <t>midi_input_port_index =
3700            <list>
3701                    <t>number
3702                    </t>
3703            </list>
3704    </t>
3705    <t>midi_input_channel_index =
3706            <list>
3707                    <t>number
3708                    </t>
3709                    <t>/ ALL  
3710                    </t>
3711            </list>
3712    </t>
3713    <t>midi_input_type_name =
3714            <list>
3715                    <t>string
3716                    </t>
3717            </list>
3718    </t>
3719    <t>volume_value =
3720            <list>
3721                    <t>dotnum
3722                    </t>
3723                    <t>/ number  
3724                    </t>
3725            </list>
3726    </t>
3727    <t>sampler_channel =
3728            <list>
3729                    <t>number
3730                    </t>
3731            </list>
3732    </t>
3733    <t>instrument_index =
3734            <list>
3735                    <t>number
3736                    </t>
3737            </list>
3738    </t>
3739    <t>engine_name =
3740            <list>
3741                    <t>string
3742                    </t>
3743            </list>
3744    </t>
3745    <t>filename =
3746            <list>
3747                    <t>stringval
3748                    </t>
3749            </list>
3750    </t>
3751    <t>param_val_list =
3752            <list>
3753                    <t>param_val
3754                    </t>
3755                    <t>/ param_val_list','param_val  
3756                    </t>
3757            </list>
3758    </t>
3759    <t>param_val =
3760            <list>
3761                    <t>string
3762                    </t>
3763                    <t>/ '\'' string '\''    
3764                    </t>
3765                    <t>/ '\"' string '\"'    
3766                    </t>
3767                    <t>/ number            
3768                    </t>
3769                    <t>/ dotnum            
3770                    </t>
3771            </list>
3772    </t>
3773    
3774                <!-- GRAMMAR_BNF_END - do NOT delete or modify this line !!! -->
3775          </section>          </section>
3776    
3777          <section title="Events" anchor="events">          <section title="Events" anchor="events">
# Line 3312  Schoenebeck'> Line 3920  Schoenebeck'>
3920      </middle>      </middle>
3921    
3922      <back>      <back>
3923          <references>&rfc2119;</references>          <references>
3924                <reference anchor="RFC2119">
3925                    <front>
3926                        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
3927                        <author initials="S." surname="Bradner" fullname="Scott Bradner">
3928                            <organization>Harvard University</organization>
3929                        </author>
3930                        <date year="1997"></date>
3931                    </front>
3932                    <seriesInfo name="RFC" value="2119" />
3933                </reference>
3934                <reference anchor="RFC793">
3935                    <front>
3936                        <title>TRANSMISSION CONTROL PROTOCOL</title>
3937                        <author>
3938                            <organization>Defense Advanced Research Projects Agency</organization>
3939                        </author>
3940                        <date year="1981"></date>
3941                    </front>
3942                    <seriesInfo name="RFC" value="793" />
3943                </reference>
3944                <reference anchor="RFC2234">
3945                    <front>
3946                        <title>Augmented BNF for Syntax Specifications</title>
3947                        <author initials="D.H." surname="Crocker" fullname="David H. Crocker">
3948                            <organization>Internet Mail Consortium</organization>
3949                        </author>
3950                        <author initials="P." surname="Overell" fullname="Paul Overell">
3951                            <organization>Demon Internet Ltd</organization>
3952                        </author>
3953                        <date year="1997"></date>
3954                    </front>
3955                    <seriesInfo name="RFC" value="2234" />
3956                </reference>
3957             </references>
3958      </back>      </back>
3959    
3960  </rfc>  </rfc>

Legend:
Removed from v.561  
changed lines
  Added in v.706

  ViewVC Help
Powered by ViewVC