/[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 1389 by schoenebeck, Sun Oct 7 14:05:04 2007 UTC revision 2516 by schoenebeck, Thu Feb 6 21:11:23 2014 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.2cvs">  <rfc category="std" ipr="full3978" docName="LSCP 1.6">
20      <front>      <front>
21          <title>LinuxSampler Control Protocol (draft)</title>          <title>LinuxSampler Control Protocol</title>
22          <author initials='C.S.' surname="Schoenebeck" fullname='C.          <author initials='C.S.' surname="Schoenebeck" fullname='C.
23  Schoenebeck'>  Schoenebeck'>
24              <organization>              <organization>
25                  Interessengemeinschaft Software Engineering e. V.                  LinuxSampler.org
26              </organization>              </organization>
27              <address>              <address>
28                  <postal>                  <postal>
29                      <street>Max-Planck-Str. 39</street>                      <street>Crudebyte Engineering</street>
30                        <street>Hofgartenstr. 3</street>
31  <!--                    <code>74081</code> -->  <!--                    <code>74081</code> -->
32                      <city>74081 Heilbronn</city>                      <city>74189 Weinsberg</city>
33                      <country>Germany</country>                      <country>Germany</country>
34                  </postal>                  </postal>
35                  <email>schoenebeck at software minus engineering dot org</email>                  <phone>+49 7134 911614</phone>
36                    <email>cuse@users.sf.net</email>
37              </address>              </address>
38          </author>          </author>
39          <date month="October" year="2007"/>          <date month="January" year="2014"/>
40          <workgroup>LinuxSampler Developers</workgroup>          <workgroup>LinuxSampler Developers</workgroup>
41          <keyword>LSCP</keyword>          <keyword>LSCP</keyword>
42          <abstract>          <abstract>
# Line 2162  Schoenebeck'> Line 2164  Schoenebeck'>
2164                              </t>                              </t>
2165                          </list>                          </list>
2166                      </t>                      </t>
2167                      <t>Example:</t>                      <t>Example (Unix):</t>
2168                      <t>                      <t>
2169                          <list>                          <list>
2170                              <t></t>                              <t>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0</t>
2171                                <t>S: OK</t>
2172                            </list>
2173                        </t>
2174                        <t>Example (Windows):</t>
2175                        <t>
2176                            <list>
2177                                <t>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0</t>
2178                                <t>S: OK</t>
2179                          </list>                          </list>
2180                      </t>                      </t>
2181                  </section>                  </section>
# Line 2414  Schoenebeck'> Line 2424  Schoenebeck'>
2424                      <t>                      <t>
2425                          <list>                          <list>
2426                              <t>C: "LIST AVAILABLE_ENGINES"</t>                              <t>C: "LIST AVAILABLE_ENGINES"</t>
2427                              <t>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"</t>                              <t>S: "'gig','sfz','sf2'"</t>
2428                          </list>                          </list>
2429                      </t>                      </t>
2430                  </section>                  </section>
# Line 2443  Schoenebeck'> Line 2453  Schoenebeck'>
2453                                  <list>                                  <list>
2454                                      <t>DESCRIPTION -                                      <t>DESCRIPTION -
2455                                          <list>                                          <list>
2456                                              <t>arbitrary description text about the engine</t>                                              <t>arbitrary description text about the engine
2457                                                (note that the character string may contain
2458                                                <xref target="character_set">escape sequences</xref>)</t>
2459                                          </list>                                          </list>
2460                                      </t>                                      </t>
2461                                       <t>VERSION -                                       <t>VERSION -
# Line 2458  Schoenebeck'> Line 2470  Schoenebeck'>
2470    
2471                      <t>The mentioned fields above don't have to be in particular order.</t>                      <t>The mentioned fields above don't have to be in particular order.</t>
2472    
2473                      <t>Example:</t>                      <t>Examples:</t>
2474                      <t>                      <t>
2475                          <list>                          <list>
2476                              <t>C: "GET ENGINE INFO JoesCustomEngine"</t>                              <t>C: "GET ENGINE INFO gig"</t>
2477                              <t>S: "DESCRIPTION: this is Joe's custom sampler engine"</t>                              <t>S: "DESCRIPTION: GigaSampler Format Engine"</t>
2478                              <t>&nbsp;&nbsp;&nbsp;"VERSION: testing-1.0"</t>                              <t>&nbsp;&nbsp;&nbsp;"VERSION: 1.110"</t>
2479                                <t>&nbsp;&nbsp;&nbsp;"."</t>
2480                                <t>C: "GET ENGINE INFO sf2"</t>
2481                                <t>S: "DESCRIPTION: SoundFont Format Engine"</t>
2482                                <t>&nbsp;&nbsp;&nbsp;"VERSION: 1.4"</t>
2483                                <t>&nbsp;&nbsp;&nbsp;"."</t>
2484                                <t>C: "GET ENGINE INFO sfz"</t>
2485                                <t>S: "DESCRIPTION: SFZ Format Engine"</t>
2486                                <t>&nbsp;&nbsp;&nbsp;"VERSION: 1.11"</t>
2487                              <t>&nbsp;&nbsp;&nbsp;"."</t>                              <t>&nbsp;&nbsp;&nbsp;"."</t>
2488                          </list>                          </list>
2489                      </t>                      </t>
# Line 2502  Schoenebeck'> Line 2522  Schoenebeck'>
2522                                          <list>                                          <list>
2523                                              <t>numerical ID of the audio output device which is                                              <t>numerical ID of the audio output device which is
2524                                              currently connected to this sampler channel to output                                              currently connected to this sampler channel to output
2525                                              the audio signal, "NONE" if there's no device                                              the audio signal, "-1" if there's no device
2526                                              connected to this sampler channel</t>                                              connected to this sampler channel</t>
2527                                          </list>                                          </list>
2528                                      </t>                                      </t>
# Line 2527  Schoenebeck'> Line 2547  Schoenebeck'>
2547                                          <list>                                          <list>
2548                                              <t>the file name of the loaded instrument, "NONE" if                                              <t>the file name of the loaded instrument, "NONE" if
2549                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
2550                                              channel</t>                                              channel (note: since LSCP 1.2 this path may contain
2551                                                <xref target="character_set">escape sequences</xref>)</t>
2552                                          </list>                                          </list>
2553                                      </t>                                      </t>
2554                                      <t>INSTRUMENT_NR -                                      <t>INSTRUMENT_NR -
2555                                          <list>                                          <list>
2556                                              <t>the instrument index number of the loaded instrument</t>                                              <t>the instrument index number of the loaded instrument,
2557                                                "-1" if there's no instrument loaded for this sampler
2558                                                channel</t>
2559                                          </list>                                          </list>
2560                                      </t>                                      </t>
2561                                      <t>INSTRUMENT_NAME -                                      <t>INSTRUMENT_NAME -
2562                                          <list>                                          <list>
2563                                              <t>the instrument name of the loaded instrument</t>                                              <t>the instrument name of the loaded instrument
2564                                                (note: since LSCP 1.2 this character string may contain
2565                                                <xref target="character_set">escape sequences</xref>)</t>
2566                                          </list>                                          </list>
2567                                      </t>                                      </t>
2568                                      <t>INSTRUMENT_STATUS -                                      <t>INSTRUMENT_STATUS -
2569                                          <list>                                          <list>
2570                                              <t>integer values 0 to 100 indicating loading progress percentage for the instrument. Negative                                              <t>Integer values 0 to 100 indicating loading progress
2571                                              value indicates a loading exception. Value of 100 indicates that the instrument is fully                                              percentage for the instrument. Negative
2572                                                value indicates a loading exception (also returns "-1" in case no
2573                                                instrument was yet to be loaded on the sampler channel).
2574                                                Value of 100 indicates that the instrument is fully
2575                                              loaded.</t>                                              loaded.</t>
2576                                          </list>                                          </list>
2577                                      </t>                                      </t>
2578                                      <t>MIDI_INPUT_DEVICE -                                      <t>MIDI_INPUT_DEVICE -
2579                                          <list>                                          <list>
2580                                                <t>DEPRECATED: THIS FIELD WILL DISAPPEAR!</t>
2581                                              <t>numerical ID of the MIDI input device which is                                              <t>numerical ID of the MIDI input device which is
2582                                              currently connected to this sampler channel to deliver                                              currently connected to this sampler channel to deliver
2583                                              MIDI input commands, "NONE" if there's no device                                              MIDI input commands, "-1" if there's no device
2584                                              connected to this sampler channel</t>                                              connected to this sampler channel</t>
2585                                                <t>Should not be used anymore as of LSCP v1.6 and younger.
2586                                                This field is currently only preserved for backward compatibility.
2587                                                </t>
2588                                                <t>This field a relict from times where only one MIDI input per
2589                                                sampler channel was allowed. Use <xref target="LIST CHANNEL MIDI_INPUTS">"GET CHANNEL MIDI_INPUTS"</xref>
2590                                                instead.</t>
2591                                          </list>                                          </list>
2592                                      </t>                                      </t>
2593                                      <t>MIDI_INPUT_PORT -                                      <t>MIDI_INPUT_PORT -
2594                                          <list>                                          <list>
2595                                              <t>port number of the MIDI input device</t>                                              <t>DEPRECATED: THIS FIELD WILL DISAPPEAR!</t>
2596                                                <t>port number of the MIDI input device (in case a
2597                                                MIDI device was already assigned to the sampler
2598                                                channel)</t>
2599                                                <t>Should not be used anymore as of LSCP v1.6 and younger.
2600                                                This field is currently only preserved for backward compatibility.
2601                                                </t>
2602                                                <t>This field a relict from times where only one MIDI input per
2603                                                sampler channel was allowed. Use <xref target="LIST CHANNEL MIDI_INPUTS">"GET CHANNEL MIDI_INPUTS"</xref>
2604                                                instead.</t>
2605                                          </list>                                          </list>
2606                                      </t>                                      </t>
2607                                      <t>MIDI_INPUT_CHANNEL -                                      <t>MIDI_INPUT_CHANNEL -
# Line 2606  Schoenebeck'> Line 2650  Schoenebeck'>
2650                      <t>                      <t>
2651                          <list>                          <list>
2652                              <t>C: "GET CHANNEL INFO 34"</t>                              <t>C: "GET CHANNEL INFO 34"</t>
2653                              <t>S: "ENGINE_NAME: GigEngine"</t>                              <t>S: "ENGINE_NAME: gig"</t>
2654                              <t>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"</t>                              <t>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"</t>
2655                              <t>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_DEVICE: 0"</t>                              <t>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_DEVICE: 0"</t>
2656                              <t>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_CHANNELS: 2"</t>                              <t>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_CHANNELS: 2"</t>
# Line 2783  Schoenebeck'> Line 2827  Schoenebeck'>
2827                  </section>                  </section>
2828    
2829                  <section title="Setting audio output type" anchor="SET CHANNEL AUDIO_OUTPUT_TYPE">                  <section title="Setting audio output type" anchor="SET CHANNEL AUDIO_OUTPUT_TYPE">
2830                      <t>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!</t>                      <t>DEPRECATED: THIS COMMAND WILL DISAPPEAR!</t>
2831    
2832                      <t>The front-end can alter the audio output type on a specific sampler                      <t>The front-end can alter the audio output type on a specific sampler
2833                      channel by sending the following command:</t>                      channel by sending the following command:</t>
# Line 2823  Schoenebeck'> Line 2867  Schoenebeck'>
2867                              <t></t>                              <t></t>
2868                          </list>                          </list>
2869                      </t>                      </t>
2870                        <t>Deprecated:</t>
2871                        <t>
2872                            <list>
2873                                <t>Should not be used anymore. This command is currently only preserved for backward compatibility.</t>
2874                                <t>This command is a relict from times where there was no sophisticated driver management yet. Use <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref> and <xref target="SET CHANNEL AUDIO_OUTPUT_DEVICE">"SET CHANNEL AUDIO_OUTPUT_DEVICE"</xref> instead.</t>
2875                            </list>
2876                        </t>
2877                  </section>                  </section>
2878    
2879                  <section title="Setting audio output channel" anchor="SET CHANNEL AUDIO_OUTPUT_CHANNEL">                  <section title="Setting audio output channel" anchor="SET CHANNEL AUDIO_OUTPUT_CHANNEL">
# Line 2870  Schoenebeck'> Line 2921  Schoenebeck'>
2921                      </t>                      </t>
2922                  </section>                  </section>
2923    
2924                    <section title="Add MIDI input to sampler channel" anchor="ADD CHANNEL MIDI_INPUT">
2925                        <t>The front-end can add a MIDI input on a specific sampler
2926                        channel by sending the following command:</t>
2927                        <t>
2928                            <list>
2929                                <t>ADD CHANNEL MIDI_INPUT &lt;sampler-channel&gt; &lt;midi-device-id&gt; [&lt;midi-input-port&gt;]</t>
2930                            </list>
2931                        </t>
2932                        <t>Where &lt;sampler-channel&gt; is the sampler channel number
2933                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2934                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command
2935                        and &lt;midi-device-id&gt; is the numerical ID of the MIDI input
2936                        device as returned by the
2937                        <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
2938                        or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref> command,
2939                        and &lt;midi-input-port&gt; is an optional MIDI input port number of that
2940                        MIDI input device. If &lt;midi-input-port&gt; is omitted,
2941                        then the MIDI input device's first port (port number 0) is
2942                        used.
2943                        </t>
2944    
2945                        <t>Possible Answers:</t>
2946                        <t>
2947                            <list>
2948                                <t>"OK" -
2949                                    <list>
2950                                        <t>on success</t>
2951                                    </list>
2952                                </t>
2953                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2954                                    <list>
2955                                        <t>if MIDI input port was connected, but there are noteworthy
2956                                        issue(s) related, providing an appropriate warning code and
2957                                        warning message</t>
2958                                    </list>
2959                                </t>
2960                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2961                                    <list>
2962                                        <t>in case it failed, providing an appropriate error code and error message</t>
2963                                    </list>
2964                                </t>
2965                            </list>
2966                        </t>
2967                        <t>Examples:</t>
2968                        <t>
2969                            <list>
2970                                <t>C: "ADD CHANNEL MIDI_INPUT 0 0"</t>
2971                                <t>S: "OK"</t>
2972                                <t>C: "ADD CHANNEL MIDI_INPUT 1 0"</t>
2973                                <t>S: "OK"</t>
2974                                <t>C: "ADD CHANNEL MIDI_INPUT 1 1 1"</t>
2975                                <t>S: "OK"</t>
2976                                <t>C: "ADD CHANNEL MIDI_INPUT 1 2 0"</t>
2977                                <t>S: "OK"</t>
2978                            </list>
2979                        </t>
2980                        <t>Since:</t>
2981                        <t>
2982                            <list>
2983                                <t>Introduced with LSCP v1.6</t>
2984                            </list>
2985                        </t>
2986                    </section>
2987    
2988                    <section title="Remove MIDI input(s) from sampler channel" anchor="REMOVE CHANNEL MIDI_INPUT">
2989                        <t>The front-end can remove one ore more MIDI input(s) on a
2990                        specific sampler channel by sending the following command:</t>
2991                        <t>
2992                            <list>
2993                                <t>REMOVE CHANNEL MIDI_INPUT &lt;sampler-channel&gt; [&lt;midi-device-id&gt; [&lt;midi-input-port&gt;]]</t>
2994                            </list>
2995                        </t>
2996                        <t>Where &lt;sampler-channel&gt; is the sampler channel number
2997                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
2998                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command
2999                        and &lt;midi-device-id&gt; and &lt;midi-input-port&gt; are
3000                        optional numerical IDs defining the MIDI input device and
3001                        one of its MIDI ports as returned by the
3002                        <xref target="LIST CHANNEL MIDI_INPUTS">"LIST CHANNEL MIDI_INPUTS"</xref> command.
3003                        </t>
3004    
3005                        <t>
3006                        If &lt;midi-input-port&gt; is omitted, then all MIDI input
3007                        ports of &lt;midi-device-id&gt; are disconnected from this
3008                        sampler channel.
3009                        </t>
3010    
3011                        <t>
3012                        If both, &lt;midi-device-id&gt; and &lt;midi-input-port&gt;
3013                        are omitted, then all MIDI input ports currently connected
3014                        to this sampler channel are disconnected from this sampler
3015                        channel.
3016                        </t>
3017    
3018                        <t>Possible Answers:</t>
3019                        <t>
3020                            <list>
3021                                <t>"OK" -
3022                                    <list>
3023                                        <t>on success</t>
3024                                    </list>
3025                                </t>
3026                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3027                                    <list>
3028                                        <t>if MIDI input porst were disconnected, but there are noteworthy
3029                                        issue(s) related, providing an appropriate warning code and
3030                                        warning message</t>
3031                                    </list>
3032                                </t>
3033                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3034                                    <list>
3035                                        <t>in case it failed, providing an appropriate error code and error message</t>
3036                                    </list>
3037                                </t>
3038                            </list>
3039                        </t>
3040                        <t>Examples:</t>
3041                        <t>
3042                            <list>
3043                                <t>C: "REMOVE CHANNEL MIDI_INPUT 0"</t>
3044                                <t>S: "OK"</t>
3045                                <t>C: "REMOVE CHANNEL MIDI_INPUT 1"</t>
3046                                <t>S: "OK"</t>
3047                                <t>C: "REMOVE CHANNEL MIDI_INPUT 1 2 0"</t>
3048                                <t>S: "OK"</t>
3049                            </list>
3050                        </t>
3051                        <t>Since:</t>
3052                        <t>
3053                            <list>
3054                                <t>Introduced with LSCP v1.6</t>
3055                            </list>
3056                        </t>
3057                    </section>
3058    
3059                    <section title="Getting all MIDI inputs of a sampler channel" anchor="LIST CHANNEL MIDI_INPUTS">
3060                        <t>The front-end can query a list of all currently connected
3061                        MIDI inputs of a certain sampler channel by sending the following
3062                        command:</t>
3063                        <t>
3064                            <list>
3065                                <t>LIST CHANNEL MIDI_INPUTS &lt;sampler-channel&gt;</t>
3066                            </list>
3067                        </t>
3068                        <t>Where &lt;sampler-channel&gt; is the sampler channel number
3069                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
3070                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command.
3071                        </t>
3072    
3073                        <t>Possible Answers:</t>
3074                        <t>
3075                            <list>
3076                                <t>The sampler will answer by sending a comma separated
3077                                list of MIDI input device ID - MIDI input port number pairs, where
3078                                each pair is encapsulated into curly braces. The
3079                                list is returned in one single line. The MIDI input
3080                                device ID corresponds to the number returned by
3081                                <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref>
3082                                and the port number is the index of the respective MIDI
3083                                port of that MIDI input device.</t>
3084                            </list>
3085                        </t>
3086    
3087                        <t>Example:</t>
3088                        <t>
3089                            <list>
3090                                <t>C: "LIST CHANNEL MIDI_INPUTS 0"</t>
3091                                <t>S: "{0,0},{1,3},{2,0}"</t>
3092                            </list>
3093                        </t>
3094    
3095                        <t>Since:</t>
3096                        <t>
3097                            <list>
3098                                <t>Introduced with LSCP v1.6</t>
3099                            </list>
3100                        </t>
3101                    </section>
3102    
3103                  <section title="Setting MIDI input device" anchor="SET CHANNEL MIDI_INPUT_DEVICE">                  <section title="Setting MIDI input device" anchor="SET CHANNEL MIDI_INPUT_DEVICE">
3104                        <t>DEPRECATED: THIS COMMAND WILL DISAPPEAR!</t>
3105    
3106                      <t>The front-end can set the MIDI input device on a specific sampler                      <t>The front-end can set the MIDI input device on a specific sampler
3107                      channel by sending the following command:</t>                      channel by sending the following command:</t>
3108                      <t>                      <t>
# Line 2885  Schoenebeck'> Line 3117  Schoenebeck'>
3117                      <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>                      <xref target="CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"</xref>
3118                      or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref> command.</t>                      or <xref target="LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"</xref> command.</t>
3119    
3120                        <t>
3121                        If more than 1 MIDI inputs are currently connected to this
3122                        sampler channel: Sending this command will disconnect ALL
3123                        currently connected MIDI input ports connected to this
3124                        sampler channel before establishing the new MIDI input
3125                        connection. So this command does NOT add the connection,
3126                        it replaces all existing ones instead. This behavior is due
3127                        to preserving full behavior backward compatibility.
3128                        </t>
3129    
3130                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
3131                      <t>                      <t>
3132                          <list>                          <list>
# Line 2913  Schoenebeck'> Line 3155  Schoenebeck'>
3155                              <t></t>                              <t></t>
3156                          </list>                          </list>
3157                      </t>                      </t>
3158                        <t>Deprecated:</t>
3159                        <t>
3160                            <list>
3161                                <t>Should not be used anymore as of LSCP v1.6 and younger. This command is currently only preserved for backward compatibility.</t>
3162                                <t>This command is a relict from times where only one MIDI input per sampler channel was allowed. Use <xref target="ADD CHANNEL MIDI_INPUT">"ADD CHANNEL MIDI_INPUT"</xref> and <xref target="REMOVE CHANNEL MIDI_INPUT">"REMOVE CHANNEL MIDI_INPUT"</xref> instead.</t>
3163                            </list>
3164                        </t>
3165                  </section>                  </section>
3166    
3167                  <section title="Setting MIDI input type" anchor="SET CHANNEL MIDI_INPUT_TYPE">                  <section title="Setting MIDI input type" anchor="SET CHANNEL MIDI_INPUT_TYPE">
3168                      <t>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!</t>                      <t>DEPRECATED: THIS COMMAND WILL DISAPPEAR!</t>
3169    
3170                      <t>The front-end can alter the MIDI input type on a specific sampler                      <t>The front-end can alter the MIDI input type on a specific sampler
3171                      channel by sending the following command:</t>                      channel by sending the following command:</t>
# Line 2928  Schoenebeck'> Line 3177  Schoenebeck'>
3177                      <t>Where &lt;midi-input-type&gt; is currently only "ALSA" and                      <t>Where &lt;midi-input-type&gt; is currently only "ALSA" and
3178                      &lt;sampler-channel&gt; is the respective sampler channel number.</t>                      &lt;sampler-channel&gt; is the respective sampler channel number.</t>
3179    
3180                        <t>
3181                        If more than 1 MIDI inputs are currently connected to this
3182                        sampler channel: Sending this command will disconnect ALL
3183                        currently connected MIDI input ports connected to this
3184                        sampler channel before establishing the new MIDI input
3185                        connection. So this command does NOT add the connection,
3186                        it replaces all existing ones instead. This behavior is due
3187                        to preserving full behavior backward compatibility.
3188                        </t>
3189    
3190                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
3191                      <t>                      <t>
3192                          <list>                          <list>
# Line 2956  Schoenebeck'> Line 3215  Schoenebeck'>
3215                              <t></t>                              <t></t>
3216                          </list>                          </list>
3217                      </t>                      </t>
3218                        <t>Deprecated:</t>
3219                        <t>
3220                            <list>
3221                                <t>Should not be used anymore. This command is currently only preserved for backward compatibility.</t>
3222                                <t>This command is a relict from times where only 1 MIDI input per sampler channels was allowed and where no sophisticated driver management existed yet. Use <xref target="ADD CHANNEL MIDI_INPUT">"ADD CHANNEL MIDI_INPUT"</xref> and <xref target="REMOVE CHANNEL MIDI_INPUT">"REMOVE CHANNEL MIDI_INPUT"</xref> instead.</t>
3223                            </list>
3224                        </t>
3225                  </section>                  </section>
3226    
3227                  <section title="Setting MIDI input port" anchor="SET CHANNEL MIDI_INPUT_PORT">                  <section title="Setting MIDI input port" anchor="SET CHANNEL MIDI_INPUT_PORT">
3228                        <t>DEPRECATED: THIS COMMAND WILL DISAPPEAR!</t>
3229                        
3230                      <t>The front-end can alter the MIDI input port on a specific sampler                      <t>The front-end can alter the MIDI input port on a specific sampler
3231                      channel by sending the following command:</t>                      channel by sending the following command:</t>
3232                      <t>                      <t>
# Line 2969  Schoenebeck'> Line 3237  Schoenebeck'>
3237                      <t>Where &lt;midi-input-port&gt; is a MIDI input port number of the                      <t>Where &lt;midi-input-port&gt; is a MIDI input port number of the
3238                      MIDI input device connected to the sampler channel given by                      MIDI input device connected to the sampler channel given by
3239                      &lt;sampler-channel&gt;.</t>                      &lt;sampler-channel&gt;.</t>
3240                        
3241                        <t>
3242                        If more than 1 MIDI inputs are currently connected to this
3243                        sampler channel: Sending this command will switch the
3244                        connection of the first (and only the first) MIDI input port
3245                        currently being connected to this sampler channel, to
3246                        another port of the same MIDI input device. Or in other
3247                        words: the first MIDI input port currently connected to
3248                        this sampler channel will be disconnected, and the requested
3249                        other port of its MIDI input device will be connected to
3250                        this sampler channel instead. This behavior is due
3251                        to preserving full behavior backward compatibility.
3252                        </t>
3253    
3254                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
3255                      <t>                      <t>
# Line 2998  Schoenebeck'> Line 3279  Schoenebeck'>
3279                              <t></t>                              <t></t>
3280                          </list>                          </list>
3281                      </t>                      </t>
3282                        <t>Deprecated:</t>
3283                        <t>
3284                            <list>
3285                                <t>Should not be used anymore. This command is currently only preserved for backward compatibility.</t>
3286                                <t>This command is a relict from times where only one MIDI input per sampler channel was allowed. Use <xref target="ADD CHANNEL MIDI_INPUT">"ADD CHANNEL MIDI_INPUT"</xref> and <xref target="REMOVE CHANNEL MIDI_INPUT">"REMOVE CHANNEL MIDI_INPUT"</xref> instead.</t>
3287                            </list>
3288                        </t>
3289                  </section>                  </section>
3290    
3291                  <section title="Setting MIDI input channel" anchor="SET CHANNEL MIDI_INPUT_CHANNEL">                  <section title="Setting MIDI input channel" anchor="SET CHANNEL MIDI_INPUT_CHANNEL">
# Line 3008  Schoenebeck'> Line 3296  Schoenebeck'>
3296                              <t>SET CHANNEL MIDI_INPUT_CHANNEL &lt;sampler-channel&gt; &lt;midi-input-chan&gt;</t>                              <t>SET CHANNEL MIDI_INPUT_CHANNEL &lt;sampler-channel&gt; &lt;midi-input-chan&gt;</t>
3297                          </list>                          </list>
3298                      </t>                      </t>
3299                      <t>Where &lt;midi-input-chan&gt; is the number of the new MIDI input channel where                      <t>Where &lt;midi-input-chan&gt; is the number
3300                      &lt;sampler-channel&gt; should listen to or "ALL" to listen on all 16 MIDI                      of the new MIDI input channel (zero indexed!) where
3301                        &lt;sampler-channel&gt; should listen to, or "ALL" to listen on all 16 MIDI
3302                      channels.</t>                      channels.</t>
3303    
3304                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
# Line 3037  Schoenebeck'> Line 3326  Schoenebeck'>
3326                      <t>Examples:</t>                      <t>Examples:</t>
3327                      <t>                      <t>
3328                          <list>                          <list>
3329                              <t></t>                              <t>C: "SET CHANNEL MIDI_INPUT_CHANNEL 0 0"</t>
3330                                <t>S: "OK"</t>
3331                                <t>C: "SET CHANNEL MIDI_INPUT_CHANNEL 1 ALL"</t>
3332                                <t>S: "OK"</t>
3333                          </list>                          </list>
3334                      </t>                      </t>
3335                  </section>                  </section>
# Line 3447  Schoenebeck'> Line 3739  Schoenebeck'>
3739                                  <list>                                  <list>
3740                                      <t>NAME -                                      <t>NAME -
3741                                          <list>                                          <list>
3742                                              <t>name of the effect send entity</t>                                              <t>name of the effect send entity
3743                                                (note that this character string may contain
3744                                                 <xref target="character_set">escape sequences</xref>)</t>
3745                                          </list>                                          </list>
3746                                      </t>                                      </t>
3747                                      <t>MIDI_CONTROLLER -                                      <t>MIDI_CONTROLLER -
# Line 3473  Schoenebeck'> Line 3767  Schoenebeck'>
3767                                              channel 1 is routed to the channel 3 of the audio                                              channel 1 is routed to the channel 3 of the audio
3768                                              output device (see                                              output device (see
3769                                              <xref target="SET FX_SEND AUDIO_OUTPUT_CHANNEL">"SET FX_SEND AUDIO_OUTPUT_CHANNEL"</xref>                                              <xref target="SET FX_SEND AUDIO_OUTPUT_CHANNEL">"SET FX_SEND AUDIO_OUTPUT_CHANNEL"</xref>
3770                                              for details)</t>                                              for details), if an internal send
3771                                                effect is assigned to the effect
3772                                                send, then this setting defines the
3773                                                audio channel routing to that
3774                                                effect instance respectively</t>
3775                                            </list>
3776                                        </t>
3777                                        <t>EFFECT -
3778                                            <list>
3779                                                <t>destination send effect chain ID
3780                                                and destination effect chain
3781                                                position, separated by comma in the
3782                                                form "&lt;effect-chain&gt;,&lt;chain-pos&gt;"
3783                                                or "NONE" if there is no send effect
3784                                                assigned to the effect send</t>
3785                                          </list>                                          </list>
3786                                      </t>                                      </t>
3787                                  </list>                                  </list>
# Line 3490  Schoenebeck'> Line 3798  Schoenebeck'>
3798                              <t>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"</t>                              <t>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"</t>
3799                              <t>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"</t>                              <t>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"</t>
3800                              <t>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"</t>                              <t>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"</t>
3801                                <t>&nbsp;&nbsp;&nbsp;"EFFECT: NONE"</t>
3802                                <t>&nbsp;&nbsp;&nbsp;"."</t>
3803                            </list>
3804                        </t>
3805                        <t>
3806                            <list>
3807                                <t>C: "GET FX_SEND INFO 0 1"</t>
3808                                <t>S: "NAME: Delay Send (Internal)"</t>
3809                                <t>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 93"</t>
3810                                <t>&nbsp;&nbsp;&nbsp;"LEVEL: 0.51"</t>
3811                                <t>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 1,2"</t>
3812                                <t>&nbsp;&nbsp;&nbsp;"EFFECT: 2,0"</t>
3813                              <t>&nbsp;&nbsp;&nbsp;"."</t>                              <t>&nbsp;&nbsp;&nbsp;"."</t>
3814                          </list>                          </list>
3815                      </t>                      </t>
# Line 3556  Schoenebeck'> Line 3876  Schoenebeck'>
3876                      &lt;audio-src&gt; is the numerical ID of the effect send's audio channel                      &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
3877                      which should be rerouted and &lt;audio-dst&gt; is the numerical ID of                      which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
3878                      the audio channel of the selected audio output device where &lt;audio-src&gt;                      the audio channel of the selected audio output device where &lt;audio-src&gt;
3879                      should be routed to.</t>                      should be routed to. If an internal send effect is assigned
3880                        to the effect send, then this setting defines the audio
3881                        channel routing to that effect instance respectively.</t>
3882    
3883                      <t>Note that effect sends can only route audio to the same audio output                      <t>Note that effect sends can only route audio to the same audio output
3884                      device as assigned to the effect send's sampler channel. Also note that an                      device as assigned to the effect send's sampler channel. Also note that an
# Line 3599  Schoenebeck'> Line 3921  Schoenebeck'>
3921                      </t>                      </t>
3922                  </section>                  </section>
3923    
3924                    <section title="Assigning destination effect to an effect send" anchor="SET FX_SEND EFFECT">
3925                        <t>The front-end can (re-)assign a destination effect to an
3926                        effect send by sending the following command:</t>
3927                        <t>
3928                            <list>
3929                                <t>SET FX_SEND EFFECT &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;effect-chain&gt; &lt;chain-pos&gt;</t>
3930                            </list>
3931                        </t>
3932                        <t>Where &lt;sampler-chan&gt; is the sampler channel number
3933                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
3934                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command,
3935                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
3936                        as returned by the <xref target="CREATE FX_SEND">"CREATE FX_SEND"</xref>
3937                        or <xref target="LIST FX_SENDS">"LIST FX_SENDS"</xref> command,
3938                        &lt;effect-chain&gt; by the numerical ID of the destination
3939                        effect chain as returned by the
3940                        <xref target="ADD SEND_EFFECT_CHAIN">"ADD SEND_EFFECT_CHAIN"</xref>
3941                        or
3942                        <xref target="LIST SEND_EFFECT_CHAINS">"LIST SEND_EFFECT_CHAINS"</xref>
3943                        command and &lt;chain-pos&gt; reflects the exact effect
3944                        chain position in the effect chain which hosts the actual
3945                        destination effect.</t>
3946    
3947                        <t>Possible Answers:</t>
3948                        <t>
3949                            <list>
3950                                <t>"OK" -
3951                                    <list>
3952                                        <t>on success</t>
3953                                    </list>
3954                                </t>
3955                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3956                                    <list>
3957                                        <t>in case it failed, providing an appropriate error code and error message</t>
3958                                    </list>
3959                                </t>
3960                            </list>
3961                        </t>
3962                        <t>Example:</t>
3963                        <t>
3964                            <list>
3965                                <t>C: "SET FX_SEND EFFECT 0 0 2 5"</t>
3966                                <t>S: "OK"</t>
3967                            </list>
3968                        </t>
3969                    </section>
3970    
3971                    <section title="Removing destination effect from an effect send" anchor="REMOVE FX_SEND EFFECT">
3972                        <t>The front-end can (re-)assign a destination effect to an
3973                        effect send by sending the following command:</t>
3974                        <t>
3975                            <list>
3976                                <t>REMOVE FX_SEND EFFECT &lt;sampler-chan&gt; &lt;fx-send-id&gt;</t>
3977                            </list>
3978                        </t>
3979                        <t>Where &lt;sampler-chan&gt; is the sampler channel number
3980                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
3981                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command,
3982                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
3983                        as returned by the <xref target="CREATE FX_SEND">"CREATE FX_SEND"</xref>
3984                        or <xref target="LIST FX_SENDS">"LIST FX_SENDS"</xref> command.</t>
3985    
3986                        <t>After the destination effect has been removed from the
3987                        effect send, the audio signal of the effect send will be
3988                        routed directly to the audio output device, according to the
3989                        audio channel routing setting of the effect send.
3990                        </t>
3991    
3992                        <t>Possible Answers:</t>
3993                        <t>
3994                            <list>
3995                                <t>"OK" -
3996                                    <list>
3997                                        <t>on success</t>
3998                                    </list>
3999                                </t>
4000                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4001                                    <list>
4002                                        <t>in case it failed, providing an appropriate error code and error message</t>
4003                                    </list>
4004                                </t>
4005                            </list>
4006                        </t>
4007                        <t>Example:</t>
4008                        <t>
4009                            <list>
4010                                <t>C: "REMOVE FX_SEND EFFECT 0 0"</t>
4011                                <t>S: "OK"</t>
4012                            </list>
4013                        </t>
4014                    </section>
4015    
4016                  <section title="Altering effect send's MIDI controller" anchor="SET FX_SEND MIDI_CONTROLLER">                  <section title="Altering effect send's MIDI controller" anchor="SET FX_SEND MIDI_CONTROLLER">
4017                      <t>The front-end can alter the MIDI controller of an effect                      <t>The front-end can alter the MIDI controller of an effect
4018                      send entity by sending the following command:</t>                      send entity by sending the following command:</t>
# Line 3696  Schoenebeck'> Line 4110  Schoenebeck'>
4110                      </t>                      </t>
4111                  </section>                  </section>
4112    
4113                    <section title="Sending MIDI messages to sampler channel" anchor="SEND CHANNEL MIDI_DATA">
4114                        <t>The front-end can send MIDI events to a specific sampler channel
4115                        by sending the following command:</t>
4116                        <t>
4117                            <list>
4118                                <t>SEND CHANNEL MIDI_DATA &lt;midi-msg&gt; &lt;sampler-chan&gt; &lt;arg1&gt; &lt;arg2&gt;</t>
4119                            </list>
4120                        </t>
4121                        <t>Where &lt;sampler-chan&gt; is the sampler channel number
4122                        as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
4123                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command,
4124                        &lt;arg1&gt; and &lt;arg2&gt; arguments depend on the &lt;midi-msg&gt; argument, which
4125                        specifies the MIDI message type. Currently, the following MIDI messages are supported:</t>
4126                        <t>
4127                            <list>
4128                                <t>"NOTE_ON" -
4129                                    <list>
4130                                        <t>For turning on MIDI notes, where &lt;arg1&gt;
4131                                        specifies the key number and &lt;arg2&gt; the velocity
4132                                        as described in the MIDI specification.</t>
4133                                    </list>
4134                                </t>
4135                                <t>"NOTE_OFF" -
4136                                    <list>
4137                                        <t>For turning a currently playing MIDI note off, where &lt;arg1&gt;
4138                                        specifies the key number and &lt;arg2&gt; the velocity
4139                                        as described in the MIDI specification.</t>
4140                                    </list>
4141                                </t>
4142                                <t>"CC" -
4143                                    <list>
4144                                        <t>For changing a MIDI controller, where &lt;arg1&gt;
4145                                        specifies the controller number and &lt;arg2&gt; the
4146                                        new value of the controller as described in the Control
4147                                        Change section of the MIDI specification.</t>
4148                                    </list>
4149                                </t>
4150                            </list>
4151                        </t>
4152                        <t>CAUTION: This command is provided for implementations of virtual MIDI keyboards
4153                        and no realtime guarantee whatsoever will be made!</t>
4154                        <t>Possible Answers:</t>
4155                        <t>
4156                            <list>
4157                                <t>"OK" -
4158                                    <list>
4159                                        <t>on success</t>
4160                                    </list>
4161                                </t>
4162                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4163                                    <list>
4164                                        <t>in case it failed, providing an appropriate error code and error message</t>
4165                                    </list>
4166                                </t>
4167                            </list>
4168                        </t>
4169                        <t>Example:</t>
4170                        <t>
4171                            <list>
4172                                <t>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112"</t>
4173                                <t>S: "OK"</t>
4174                            </list>
4175                        </t>
4176                    </section>
4177    
4178                  <section title="Resetting a sampler channel" anchor="RESET CHANNEL">                  <section title="Resetting a sampler channel" anchor="RESET CHANNEL">
4179                      <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>
4180                      <t>                      <t>
# Line 3917  Schoenebeck'> Line 4396  Schoenebeck'>
4396                      </t>                      </t>
4397                  </section>                  </section>
4398    
4399                    <section title="Current number of active disk streams" anchor="GET TOTAL_STREAM_COUNT">
4400                        <t>The front-end can ask for the current number of active disk streams on
4401                        the sampler by sending the following command:</t>
4402                        <t>
4403                            <list>
4404                                <t>GET TOTAL_STREAM_COUNT</t>
4405                            </list>
4406                        </t>
4407    
4408                        <t>Possible Answers:</t>
4409                        <t>
4410                            <list>
4411                                <t>LinuxSampler will answer by returning the number of all active
4412                                disk streams on the sampler.</t>
4413                            </list>
4414                        </t>
4415                    </section>
4416    
4417                  <section title="Reset sampler" anchor="RESET">                  <section title="Reset sampler" anchor="RESET">
4418                      <t>The front-end can reset the whole sampler by sending the following command:</t>                      <t>The front-end can reset the whole sampler by sending the following command:</t>
4419                      <t>                      <t>
# Line 3992  Schoenebeck'> Line 4489  Schoenebeck'>
4489                      </t>                      </t>
4490                      <t>The mentioned fields above don't have to be in particular order.                      <t>The mentioned fields above don't have to be in particular order.
4491                      Other fields might be added in future.</t>                      Other fields might be added in future.</t>
4492                        
4493                        <t>Example:</t>
4494                        <t>
4495                            <list>
4496                                <t>C: "GET SERVER INFO"</t>
4497                                <t>S: "DESCRIPTION: LinuxSampler - modular, streaming capable sampler"</t>
4498                                <t>&nbsp;&nbsp;&nbsp;"VERSION: 1.0.0.svn23"</t>
4499                                <t>&nbsp;&nbsp;&nbsp;"PROTOCOL_VERSION: 1.5"</t>
4500                                <t>&nbsp;&nbsp;&nbsp;"INSTRUMENTS_DB_SUPPORT: no"</t>
4501                                <t>&nbsp;&nbsp;&nbsp;"."</t>
4502                            </list>
4503                        </t>
4504                  </section>                  </section>
4505    
4506                  <section title="Getting global volume attenuation" anchor="GET VOLUME">                  <section title="Getting global volume attenuation" anchor="GET VOLUME">
# Line 4052  Schoenebeck'> Line 4561  Schoenebeck'>
4561                          </list>                          </list>
4562                      </t>                      </t>
4563                  </section>                  </section>
4564    
4565                    <section title="Getting global voice limit" anchor="GET VOICES">
4566                        <t>The client can ask for the current global sampler-wide limit
4567                           for maximum voices by sending the following command:</t>
4568                        <t>
4569                            <list>
4570                                <t>GET VOICES</t>
4571                            </list>
4572                        </t>
4573                        <t>Possible Answers:</t>
4574                        <t>
4575                            <list>
4576                                <t>LinuxSampler will answer by returning the number for
4577                                   the current limit of maximum voices.</t>
4578                            </list>
4579                        </t>
4580    
4581                        <t>The voice limit setting defines how many voices should maximum
4582                           be processed by the sampler at the same time. If the user
4583                           triggers new notes which would exceed that voice limit, the
4584                           sampler engine will react by stealing old voices for those
4585                           newly triggered notes. Note that the amount of voices triggered
4586                           by a new note can be larger than one and is dependent to the
4587                           respective instrument and probably further criterias.</t>
4588                    </section>
4589    
4590                    <section title="Setting global voice limit" anchor="SET VOICES">
4591                        <t>The client can alter the current global sampler-wide limit
4592                        for maximum voices by sending the following command:</t>
4593                        <t>
4594                            <list>
4595                                <t>SET VOICES &lt;max-voices&gt;</t>
4596                            </list>
4597                        </t>
4598                       <t>Where &lt;max-voices&gt; should be replaced by the integer
4599                       value, reflecting the new global amount limit of maximum voices.
4600                       This value has to be larger than 0.</t>
4601    
4602                        <t>Possible Answers:</t>
4603                        <t>
4604                            <list>
4605                                <t>"OK" -
4606                                    <list>
4607                                        <t>on success</t>
4608                                    </list>
4609                                </t>
4610                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4611                                    <list>
4612                                        <t>if the voice limit was set, but there are noteworthy
4613                                        issue(s) related, providing an appropriate warning code and
4614                                        warning message</t>
4615                                    </list>
4616                                </t>
4617                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4618                                    <list>
4619                                        <t>in case it failed, providing an appropriate error code and error message</t>
4620                                    </list>
4621                                </t>
4622                            </list>
4623                        </t>
4624    
4625                        <t>Note: the given value will be passed to all sampler engine instances.
4626                           The total amount of maximum voices on the running system might thus
4627                           be as big as the given value multiplied by the current amount of engine
4628                           instances.</t>
4629    
4630                         <t>Caution: when adjusting the voice limit, you SHOULD also
4631                            adjust the disk stream limit respectively and vice versa.</t>
4632                    </section>
4633    
4634                    <section title="Getting global disk stream limit" anchor="GET STREAMS">
4635                        <t>The client can ask for the current global sampler-wide limit
4636                           for maximum disk streams by sending the following command:</t>
4637                        <t>
4638                            <list>
4639                                <t>GET STREAMS</t>
4640                            </list>
4641                        </t>
4642                        <t>Possible Answers:</t>
4643                        <t>
4644                            <list>
4645                                <t>LinuxSampler will answer by returning the number for
4646                                   the current limit of maximum disk streams.</t>
4647                            </list>
4648                        </t>
4649    
4650                        <t>The disk stream limit setting defines how many disk streams should
4651                           maximum be processed by a sampler engine at the same time. The
4652                           higher this value, the more memory (RAM) will be occupied, since
4653                           every disk streams allocates a certain buffer size for being able
4654                           to perform its streaming operations.</t>
4655                    </section>
4656    
4657                    <section title="Setting global disk stream limit" anchor="SET STREAMS">
4658                        <t>The client can alter the current global sampler-wide limit
4659                        for maximum disk streams by sending the following command:</t>
4660                        <t>
4661                            <list>
4662                                <t>SET STREAMS &lt;max-streams&gt;</t>
4663                            </list>
4664                        </t>
4665                       <t>Where &lt;max-streams&gt; should be replaced by the integer
4666                       value, reflecting the new global amount limit of maximum disk streams.
4667                       This value has to be positive.</t>
4668    
4669                        <t>Possible Answers:</t>
4670                        <t>
4671                            <list>
4672                                <t>"OK" -
4673                                    <list>
4674                                        <t>on success</t>
4675                                    </list>
4676                                </t>
4677                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4678                                    <list>
4679                                        <t>if the disk stream limit was set, but there are noteworthy
4680                                        issue(s) related, providing an appropriate warning code and
4681                                        warning message</t>
4682                                    </list>
4683                                </t>
4684                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4685                                    <list>
4686                                        <t>in case it failed, providing an appropriate error code and error message</t>
4687                                    </list>
4688                                </t>
4689                            </list>
4690                        </t>
4691    
4692                        <t>Note: the given value will be passed to all sampler engine instances.
4693                           The total amount of maximum disk streams on the running system might
4694                           thus be as big as the given value multiplied by the current amount of
4695                           engine instances.</t>
4696    
4697                         <t>Caution: when adjusting the disk stream limit, you SHOULD also
4698                            adjust the voice limit respectively and vice versa.</t>
4699                    </section>
4700    
4701              </section>              </section>
4702    
4703    
# Line 4266  Schoenebeck'> Line 4912  Schoenebeck'>
4912                                      <t>NAME -                                      <t>NAME -
4913                                          <list>                                          <list>
4914                                              <t>custom name of the given map,                                              <t>custom name of the given map,
4915                                              which does not have to be unique</t>                                              which does not have to be unique
4916                                                (note that this character string may contain
4917                                                 <xref target="character_set">escape sequences</xref>)</t>
4918                                          </list>                                          </list>
4919                                      </t>                                      </t>
4920                                      <t>DEFAULT -                                      <t>DEFAULT -
# Line 4505  Schoenebeck'> Line 5153  Schoenebeck'>
5153                      </t>                      </t>
5154                  </section>                  </section>
5155    
5156                  <section title="Getting ammount of MIDI instrument map entries" anchor="GET MIDI_INSTRUMENTS">                  <section title="Getting amount of MIDI instrument map entries" anchor="GET MIDI_INSTRUMENTS">
5157                      <t>The front-end can query the amount of currently existing                      <t>The front-end can query the amount of currently existing
5158                      entries in a MIDI instrument map by sending the following                      entries in a MIDI instrument map by sending the following
5159                      command:</t>                      command:</t>
# Line 4663  Schoenebeck'> Line 5311  Schoenebeck'>
5311                                      name for this mapped instrument. It can be set and                                      name for this mapped instrument. It can be set and
5312                                      changed with the                                      changed with the
5313                                      <xref target="MAP MIDI_INSTRUMENT">"MAP MIDI_INSTRUMENT"</xref>                                      <xref target="MAP MIDI_INSTRUMENT">"MAP MIDI_INSTRUMENT"</xref>
5314                                      command and does not have to be unique.</t>                                      command and does not have to be unique.
5315                                        (note that this character string may contain
5316                                        <xref target="character_set">escape sequences</xref>)</t>
5317                                  </list>                                  </list>
5318                              </t>                              </t>
5319                              <t>"ENGINE_NAME" -                              <t>"ENGINE_NAME" -
# Line 4674  Schoenebeck'> Line 5324  Schoenebeck'>
5324                              </t>                              </t>
5325                              <t>"INSTRUMENT_FILE" -                              <t>"INSTRUMENT_FILE" -
5326                                  <list>                                  <list>
5327                                      <t>File name of the instrument.</t>                                      <t>File name of the instrument
5328                                        (note that this path may contain
5329                                        <xref target="character_set">escape sequences</xref>).</t>
5330                                  </list>                                  </list>
5331                              </t>                              </t>
5332                              <t>"INSTRUMENT_NR" -                              <t>"INSTRUMENT_NR" -
# Line 4686  Schoenebeck'> Line 5338  Schoenebeck'>
5338                                  <list>                                  <list>
5339                                      <t>Name of the loaded instrument as reflected by its file.                                      <t>Name of the loaded instrument as reflected by its file.
5340                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
5341                                      cannot be changed.</t>                                      cannot be changed (note that this character string may contain
5342                                        <xref target="character_set">escape sequences</xref>).</t>
5343                                  </list>                                  </list>
5344                              </t>                              </t>
5345                              <t>"LOAD_MODE" -                              <t>"LOAD_MODE" -
# Line 5253  Schoenebeck'> Line 5906  Schoenebeck'>
5906                      to the instruments database by sending the following command:</t>                      to the instruments database by sending the following command:</t>
5907                      <t>                      <t>
5908                          <list>                          <list>
5909                              <t>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]</t>                              <t>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;[ FILE_AS_DIR]] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]</t>
5910                          </list>                          </list>
5911                      </t>                      </t>
5912                      <t>Where &lt;db_dir&gt; is the absolute path name of a directory                      <t>Where &lt;db_dir&gt; is the absolute path name of a directory
# Line 5298  Schoenebeck'> Line 5951  Schoenebeck'>
5951                          </list>                          </list>
5952                      </t>                      </t>
5953    
5954                     <t> If FILE_AS_DIR argument is supplied, all instruments in an instrument
5955                     file will be added to a separate directory in the instruments database, which
5956                     name will be the name of the instrument file with the file extension stripped off.
5957                     </t>
5958                   <t>The difference between regular and NON_MODAL versions of the command                   <t>The difference between regular and NON_MODAL versions of the command
5959                      is that the regular command returns when the scanning is finished                      is that the regular command returns when the scanning is finished
5960                      while NON_MODAL version returns immediately and a background process is launched.                      while NON_MODAL version returns immediately and a background process is launched.
# Line 5701  Schoenebeck'> Line 6358  Schoenebeck'>
6358                          </list>                          </list>
6359                      </t>                      </t>
6360                      <t>Where &lt;instr&gt; is the absolute path name of the instrument and                      <t>Where &lt;instr&gt; is the absolute path name of the instrument and
6361                      &lt;desc&gt; is the new description for the instrument                      &lt;desc&gt; is the new description for the instrument
6362                      (encapsulated into apostrophes, supporting escape sequences as described in chapter                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
6363                      "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                      "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
6364    
# Line 5944  Schoenebeck'> Line 6601  Schoenebeck'>
6601                              <t>FORMAT INSTRUMENTS_DB</t>                              <t>FORMAT INSTRUMENTS_DB</t>
6602                          </list>                          </list>
6603                      </t>                      </t>
6604                        
6605                      <t>Possible Answers:</t>                      <t>Possible Answers:</t>
6606                      <t>                      <t>
6607                          <list>                          <list>
# Line 5963  Schoenebeck'> Line 6620  Schoenebeck'>
6620                      </t>                      </t>
6621                  </section>                  </section>
6622    
6623                    <section title="Checking for lost instrument files" anchor="FIND LOST DB_INSTRUMENT_FILES">
6624                        <t>The front-end can retrieve the list of all instrument files in the instruments database
6625                        that don't exist in the filesystem by sending the following command:</t>
6626                        <t>
6627                            <list>
6628                                <t>FIND LOST DB_INSTRUMENT_FILES</t>
6629                            </list>
6630                        </t>
6631    
6632                        <t>Possible Answers:</t>
6633                        <t>
6634                            <list>
6635                                <t>A comma separated list with the absolute path names
6636                                (encapsulated into apostrophes) of all lost instrument files.</t>
6637                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6638                                    <list>
6639                                        <t>in case it failed, providing an appropriate error code and error message.</t>
6640                                    </list>
6641                                </t>
6642                            </list>
6643                        </t>
6644                        <t>Example:</t>
6645                        <t>
6646                            <list>
6647                                <t>C: "FIND LOST DB_INSTRUMENT_FILES"</t>
6648                                <t>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"</t>
6649                            </list>
6650                        </t>
6651                    </section>
6652    
6653                    <section title="Replacing an instrument file" anchor="SET DB_INSTRUMENT FILE_PATH">
6654                        <t>The front-end can substitute all occurrences of an instrument file
6655                        in the instruments database with a new one by sending the following command:</t>
6656                        <t>
6657                            <list>
6658                                <t>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;</t>
6659                            </list>
6660                        </t>
6661                        <t>Where &lt;old_path&gt; is the absolute path name of the instrument file
6662                        to substitute with &lt;new_path&gt;.</t>
6663    
6664                        <t>Possible Answers:</t>
6665                        <t>
6666                            <list>
6667                                <t>"OK" -
6668                                    <list>
6669                                        <t>on success</t>
6670                                    </list>
6671                                </t>
6672                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6673                                    <list>
6674                                        <t>in case it failed, providing an appropriate error code and error message.</t>
6675                                    </list>
6676                                </t>
6677                            </list>
6678                        </t>
6679    
6680                        <t>Example:</t>
6681                        <t>
6682                            <list>
6683                                <t>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"</t>
6684                                <t>S: "OK"</t>
6685                            </list>
6686                        </t>
6687                    </section>
6688    
6689              </section>              </section>
6690    
6691    
# Line 5983  Schoenebeck'> Line 6706  Schoenebeck'>
6706                      editor application by sending the following command:</t>                      editor application by sending the following command:</t>
6707                      <t>                      <t>
6708                          <list>                          <list>
6709                              <t>EDIT INSTRUMENT &lt;sampler-channel&gt;</t>                              <t>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;</t>
6710                          </list>                          </list>
6711                      </t>                      </t>
6712                      <t>Where &lt;sampler-channel&gt; should be replaced by the                      <t>Where &lt;sampler-channel&gt; should be replaced by the
# Line 6035  Schoenebeck'> Line 6758  Schoenebeck'>
6758                      <t>Examples:</t>                      <t>Examples:</t>
6759                      <t>                      <t>
6760                          <list>                          <list>
6761                              <t>C: "EDIT INSTRUMENT 0"</t>                              <t>C: "EDIT CHANNEL INSTRUMENT 0"</t>
6762                              <t>S: "OK"</t>                              <t>S: "OK"</t>
6763                          </list>                          </list>
6764                      </t>                      </t>
6765                  </section>                  </section>
6766              </section>              </section>
         </section>  
6767    
6768                <section title="Managing Files" anchor="file_management">
6769                    <t>You can query detailed informations about files located
6770                    at the same system where the sampler instance is running on.
6771                    Using this command set allows to retrieve file informations
6772                    even remotely from another machine.</t>
6773    
6774                    <section title="Retrieving amount of instruments of a file" anchor="GET FILE INSTRUMENTS">
6775                        <t>The front-end can retrieve the amount of instruments
6776                        within a given instrument file by sending the
6777                        following command:</t>
6778                        <t>
6779                            <list>
6780                                <t>GET FILE INSTRUMENTS &lt;filename&gt;</t>
6781                            </list>
6782                        </t>
6783                        <t>Where &lt;filename&gt; is the name of the instrument
6784                        file (encapsulated into apostrophes, supporting escape
6785                        sequences as described in chapter
6786                        "<xref target="character_set">Character Set and Escape
6787                            Sequences</xref>").</t>
6788    
6789                        <t>The sampler will try to ask all sampler engines,
6790                        whether they support the given file and ask the first
6791                        engine with a positive answer for the amount of
6792                        instruments.</t>
6793    
6794                        <t>Possible Answers:</t>
6795                        <t>
6796                            <list>
6797                                <t>On success, the sampler will answer by
6798                                   returning the amount of instruments.
6799                                </t>
6800                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6801                                    <list>
6802                                        <t>if the file could not be handled</t>
6803                                    </list>
6804                                </t>
6805                            </list>
6806                        </t>
6807    
6808                        <t>Examples:</t>
6809                        <t>
6810                            <list>
6811                                <t>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"</t>
6812                                <t>S: "10"</t>
6813                            </list>
6814                        </t>
6815                    </section>
6816    
6817                    <section title="Retrieving all instruments of a file" anchor="LIST FILE INSTRUMENTS">
6818                        <t>The front-end can retrieve a list of all instruments
6819                        within a given instrument file by sending the
6820                        following command:</t>
6821                        <t>
6822                            <list>
6823                                <t>LIST FILE INSTRUMENTS &lt;filename&gt;</t>
6824                            </list>
6825                        </t>
6826                        <t>Where &lt;filename&gt; is the name of the instrument
6827                        file (encapsulated into apostrophes, supporting escape
6828                        sequences as described in chapter
6829                        "<xref target="character_set">Character Set and Escape
6830                            Sequences</xref>").</t>
6831    
6832                        <t>The sampler will try to ask all sampler engines,
6833                        whether they support the given file and ask the first
6834                        engine with a positive answer for a list of IDs for the
6835                        instruments in the given file.</t>
6836    
6837                        <t>Possible Answers:</t>
6838                        <t>
6839                            <list>
6840                                <t>On success, the sampler will answer by
6841                                   returning a comma separated list of
6842                                   instrument IDs.
6843                                </t>
6844                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6845                                    <list>
6846                                        <t>if the file could not be handled</t>
6847                                    </list>
6848                                </t>
6849                            </list>
6850                        </t>
6851    
6852                        <t>Examples:</t>
6853                        <t>
6854                            <list>
6855                                <t>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"</t>
6856                                <t>S: "0,1,2,3,4,5,6,7,8,9"</t>
6857                            </list>
6858                        </t>
6859                    </section>
6860    
6861                    <section title="Retrieving informations about one instrument in a file" anchor="GET FILE INSTRUMENT INFO">
6862                        <t>The front-end can retrieve detailed informations
6863                        about a specific instrument within a given instrument
6864                        file by sending the following command:</t>
6865                        <t>
6866                            <list>
6867                                <t>GET FILE INSTRUMENT INFO &lt;filename&gt;
6868                                &lt;instr-id&gt;</t>
6869                            </list>
6870                        </t>
6871                        <t>Where &lt;filename&gt; is the name of the instrument
6872                        file (encapsulated into apostrophes, supporting escape
6873                        sequences as described in chapter
6874                        "<xref target="character_set">Character Set and Escape
6875                            Sequences</xref>") and &lt;instr-id&gt; is the numeric
6876                        instrument ID as returned by the
6877                        <xref target="LIST FILE INSTRUMENTS">
6878                        "LIST FILE INSTRUMENTS"</xref> command.</t>
6879    
6880                        <t>The sampler will try to ask all sampler engines,
6881                        whether they support the given file and ask the first
6882                        engine with a positive answer for informations about the
6883                        specific instrument in the given file.</t>
6884    
6885                        <t>Possible Answers:</t>
6886                        <t>
6887                            <list>
6888                                <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6889                                Each answer line begins with the settings category name
6890                                followed by a colon and then a space character &lt;SP&gt; and finally
6891                                the info character string to that setting category. At the
6892                                moment the following categories are defined:</t>
6893    
6894                                <t>
6895                                    <list>
6896                                        <t>NAME -
6897                                            <list>
6898                                                <t>name of the instrument as
6899                                                stored in the instrument file</t>
6900                                            </list>
6901                                        </t>
6902                                        <t>FORMAT_FAMILY -
6903                                            <list>
6904                                                <t>name of the sampler format
6905                                                of the given instrument</t>
6906                                            </list>
6907                                        </t>
6908                                        <t>FORMAT_VERSION -
6909                                            <list>
6910                                                <t>version of the sampler format
6911                                                the instrumen is stored as</t>
6912                                            </list>
6913                                        </t>
6914                                        <t>PRODUCT -
6915                                            <list>
6916                                                <t>official product name of the
6917                                                instrument as stored in the file
6918                                                </t>
6919                                            </list>
6920                                        </t>
6921                                        <t>ARTISTS -
6922                                            <list>
6923                                                <t>artists / sample library
6924                                                vendor of the instrument</t>
6925                                            </list>
6926                                        </t>
6927                                        <t>KEY_BINDINGS -
6928                                            <list>
6929                                                <t>comma separated list of integer values representing
6930                                                   the instrument's key mapping in the range between 0 .. 127,
6931                                                   reflecting the analog meaning of the MIDI specification.</t>
6932                                            </list>
6933                                        </t>
6934                                        <t>KEYSWITCH_BINDINGS -
6935                                            <list>
6936                                                <t>comma separated list of integer values representing
6937                                                   the instrument's keyswitch mapping in the range between 0 .. 127,
6938                                                   reflecting the analog meaning of the MIDI specification.</t>
6939                                            </list>
6940                                        </t>
6941                                    </list>
6942                                </t>
6943                            </list>
6944                        </t>
6945                        <t>The mentioned fields above don't have to be in particular order.</t>
6946    
6947                        <t>Example:</t>
6948                        <t>
6949                            <list>
6950                                <t>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"</t>
6951                                <t>S: "NAME: Lunatic Loops"</t>
6952                                <t>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"</t>
6953                                <t>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"</t>
6954                                <t>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"</t>
6955                                <t>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"</t>
6956                                <t>&nbsp;&nbsp;&nbsp;"."</t>
6957                            </list>
6958                        </t>
6959                    </section>
6960                </section>
6961                <section title="Managing Effects" anchor="effects">
6962                    <t>Audio effects (e.g. reverb, delay, compression) can be
6963                    applied to the audio signals generated by the sampler. The
6964                    sampler usually provides a set of internal audio effects for
6965                    this task. The exact set of effects depends on the availability
6966                    of third party effect plugins installed on the system where the
6967                    sampler runs on.</t>
6968                    <t>At the moment only "send effects" are supported. Support for
6969                    "insert effects" and "master effects" is planned to be added at
6970                    a later point.</t>
6971                    <t>The following commands allow to retrieve the set of internal
6972                    effects available to the sampler, detailed informations about
6973                    those effects and to create and destroy instances of such
6974                    effects. After an instance of an effect is created, the effect
6975                    instance can be inserted into the audio signal path of the
6976                    sampler, e.g. as send effect.</t>
6977                    <t>The sampler allows to create an arbitrary amount of so called
6978                    send effect chains. Each effect chain can host an arbitrary
6979                    amount of effect instances. The output of the first effect
6980                    instance in an effect chain is fed to the input of the second
6981                    effect instance of the chain and so on. So effects in one chain
6982                    are processed sequentially. Send effect chains however are
6983                    processed in parallel to other send effect chains. Audio signals
6984                    of sampler channels are fed to send effects by creating FX sends
6985                    to the respective sampler channel and assigning a destination
6986                    send effect to that FX by using the
6987                    <xref target="SET FX_SEND EFFECT">"SET FX_SEND EFFECT"</xref>
6988                    command. The latter allows to route the FX send to the beginning
6989                    of a send effect chain, as well as directly to any other
6990                    position of the send effect chain.</t>
6991    
6992                    <section title="Retrieve amount of available effects" anchor="GET AVAILABLE_EFFECTS">
6993                        <t>The front-end can retrieve the amount of internal
6994                        effects, available to the sampler by sending
6995                        the following command:</t>
6996                        <t>
6997                            <list>
6998                                <t>GET AVAILABLE_EFFECTS</t>
6999                            </list>
7000                        </t>
7001    
7002                        <t>Possible Answers:</t>
7003                        <t>
7004                            <list>
7005                                <t>The sampler will answer by returning the current
7006                                number of effects available to the sampler.</t>
7007                            </list>
7008                        </t>
7009    
7010                        <t>Examples:</t>
7011                        <t>
7012                            <list>
7013                                <t>C: "GET AVAILABLE_EFFECTS"</t>
7014                                <t>S: "129"</t>
7015                            </list>
7016                        </t>
7017                    </section>
7018    
7019                    <section title="Get list of available effects" anchor="LIST AVAILABLE_EFFECTS">
7020                        <t>The set of available internal effects can change at
7021                        runtime. The front-end can retrieve the list of internal
7022                        effects, available to the sampler by sending the following
7023                        command:</t>
7024                        <t>
7025                            <list>
7026                                <t>LIST AVAILABLE_EFFECTS</t>
7027                            </list>
7028                        </t>
7029    
7030                        <t>Possible Answers:</t>
7031                        <t>
7032                            <list>
7033                                <t>The sampler will answer by returning a comma
7034                                separated list with numerical IDs of effects. Note:
7035                                the numercial ID of an effect is generated by the
7036                                sampler for the current moment. The numerical ID of
7037                                the same effect can change at runtime, e.g. when the
7038                                user requests a rescan of available effect plugins.
7039                                </t>
7040                            </list>
7041                        </t>
7042                        <t>Example:</t>
7043                        <t>
7044                            <list>
7045                                <t>C: "LIST AVAILABLE_EFFECTS"</t>
7046                                <t>S: "5,6,7,120,121,122,123,124"</t>
7047                            </list>
7048                        </t>
7049                    </section>
7050    
7051                    <section title="Retrieving general information about an effect" anchor="GET EFFECT INFO">
7052                        <t>The front-end can ask for general informations about an
7053                        effect by sending the following command:</t>
7054                        <t>
7055                            <list>
7056                                <t>GET EFFECT INFO &lt;effect-index&gt;</t>
7057                            </list>
7058                        </t>
7059                        <t>Where &lt;effect-index&gt; is the numerical ID of an
7060                        effect as returned by the
7061                        <xref target="LIST AVAILABLE_EFFECTS">"LIST AVAILABLE_EFFECTS"</xref>
7062                        command.</t>
7063                        <t>Possible Answers:</t>
7064                        <t>
7065                            <list>
7066                                <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7067                                Each answer line begins with the effect information
7068                                category name, followed by a colon and then a space
7069                                character &lt;SP&gt; and finally the info character
7070                                string to that effect information category. At the
7071                                moment the following categories are defined:</t>
7072                                <t>
7073                                    <list>
7074                                        <t>SYSTEM -
7075                                            <list>
7076                                                <t>name of the effect plugin system
7077                                                the effect is based on
7078                                                (e.g. "LADSPA")</t>
7079                                            </list>
7080                                        </t>
7081                                        <t>MODULE -
7082                                            <list>
7083                                                <t>module of the effect plugin
7084                                                system that contains this effect,
7085                                                the module is usually the
7086                                                dynamic-linked library (DLL)
7087                                                filename of the effect plugin,
7088                                                including full path (note that this
7089                                                filename may contain
7090                                                <xref target="character_set">escape sequences</xref>)</t>
7091                                            </list>
7092                                        </t>
7093                                        <t>NAME -
7094                                            <list>
7095                                                <t>character string defining the
7096                                                unique name of the effect within its
7097                                                module (note that the character
7098                                                string may contain
7099                                                <xref target="character_set">escape sequences</xref>)</t>
7100                                            </list>
7101                                        </t>
7102                                        <t>DESCRIPTION -
7103                                            <list>
7104                                                <t>human readable name of the
7105                                                effect, intended to be displayed in
7106                                                user interfaces (note that the
7107                                                character string may contain
7108                                                <xref target="character_set">escape sequences</xref>)</t>
7109                                            </list>
7110                                        </t>
7111                                    </list>
7112                                </t>
7113                            </list>
7114                        </t>
7115                        <t>The mentioned fields above don't have to be in particular order.</t>
7116    
7117                        <t>Example:</t>
7118                        <t>
7119                            <list>
7120                                <t>C: "GET EFFECT INFO 121"</t>
7121                                <t>S: "SYSTEM: LADSPA"</t>
7122                                <t>&nbsp;&nbsp;&nbsp;"MODULE: /usr/lib/ladspa/lowpass_iir_1891.so"</t>
7123                                <t>&nbsp;&nbsp;&nbsp;"NAME: lowpass_iir"</t>
7124                                <t>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Glame Lowpass Filter"</t>
7125                                <t>&nbsp;&nbsp;&nbsp;"."</t>
7126                            </list>
7127                        </t>
7128                    </section>
7129    
7130                    <section title="Creating an instance of an effect by its portable ID" anchor="CREATE EFFECT_INSTANCE">
7131                        <t>The front-end can spawn an instance of the desired
7132                        effect by sending the following command:</t>
7133                        <t>
7134                            <list>
7135                                <t>CREATE EFFECT_INSTANCE &lt;effect-system&gt; &lt;module&gt; &lt;effect-name&gt;</t>
7136                            </list>
7137                        </t>
7138                        <t>Where &lt;effect-system&gt; is the "SYSTEM" field,
7139                        &lt;module&gt; the "MODULE" field and &lt;effect-name&gt;
7140                        the "NAME" field as returned by the
7141                        <xref target="GET EFFECT INFO">"GET EFFECT INFO"</xref>
7142                        command. The filename of argument &lt;module&gt; and the
7143                        character string of argument &lt;effect-name&gt; may contain
7144                        <xref target="character_set">escape sequences</xref>.</t>
7145    
7146                        <t>The sampler will try to load the requested effect and to
7147                        create an instance of it. To allow loading the same effect
7148                        on a different machine, probably even running a completely
7149                        different operating system (e.g. Linux vs. Windows), the
7150                        sampler tries to match &lt;module&gt; "softly". That means
7151                        it first tries to find an effect that exactly matches the
7152                        given &lt;module&gt; argument. If there is no exact match,
7153                        the sampler will try to lower the restrictions on matching
7154                        the &lt;module&gt; argument more and more, e.g. by ignoring
7155                        upper / lower case differences and by ignoring the path of
7156                        the DLL filename and file extension. If there is still no
7157                        match at the end, the sampler will try to ignore the
7158                        &lt;module&gt; argument completely and as a last resort
7159                        search for an effect that only matches the given
7160                        &lt;effect-system&gt; and &lt;effect-name&gt; arguments.</t>
7161    
7162                        <t>Possible Answers:</t>
7163                        <t>
7164                            <list>
7165                                <t>"OK[&lt;effect-instance&gt;]" -
7166                                    <list>
7167                                        <t>in case the effect instance was
7168                                        successfully created, where
7169                                        &lt;effect-instance&gt; is the numerical ID
7170                                        of the new effect instance</t>
7171                                    </list>
7172                                </t>
7173                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
7174                                    <list>
7175                                        <t>in case the effect instance was spawned
7176                                        successfully, but there are noteworthy
7177                                        issue(s) related, providing an appropriate
7178                                        warning code and warning message</t>
7179                                    </list>
7180                                </t>
7181                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7182                                    <list>
7183                                        <t>if the effect could not be instantiated</t>
7184                                    </list>
7185                                </t>
7186                            </list>
7187                        </t>
7188    
7189                        <t>Examples:</t>
7190                        <t>
7191                            <list>
7192                                <t>C: "CREATE EFFECT_INSTANCE LADSPA '/usr/lib/ladspa/mod_delay_1419.so' 'modDelay'"</t>
7193                                <t>S: "OK[0]"</t>
7194                            </list>
7195                        </t>
7196                    </section>
7197    
7198                    <section title="Creating an instance of an effect by its numerical ID" anchor="CREATE EFFECT_INSTANCE (non-portable)">
7199                        <t>The front-end can spawn an instance of the desired
7200                        effect by sending the following command:</t>
7201                        <t>
7202                            <list>
7203                                <t>CREATE EFFECT_INSTANCE &lt;effect-index&gt;</t>
7204                            </list>
7205                        </t>
7206                        <t>Where &lt;effect-index&gt; is the numerical ID of the
7207                        effect as returned by the
7208                        <xref target="LIST AVAILABLE_EFFECTS">"LIST AVAILABLE_EFFECTS"</xref>
7209                        command.</t>
7210    
7211                        <t>The sampler will try to load the requested effect and to
7212                        create an instance of it.</t>
7213    
7214                        <t>Note: Since the numerical ID of a certain effect can
7215                        change at any time, you should not use this command in
7216                        LSCP files to restore a certain effect at a later time! To
7217                        store a sampler session including all its effects, use the
7218                        <xref target="CREATE EFFECT_INSTANCE">portable text-based
7219                        version of "CREATE EFFECT_INSTANCE"</xref> instead! This
7220                        allows to restore a sampler session with all its effects
7221                        also on other machines, possibly even running a completely
7222                        different operating system (e.g. Linux vs. Windows), with
7223                        different plugin directories or plugin DLL names.</t>
7224    
7225                        <t>Possible Answers:</t>
7226                        <t>
7227                            <list>
7228                                <t>"OK[&lt;effect-instance&gt;]" -
7229                                    <list>
7230                                        <t>in case the effect instance was
7231                                        successfully created, where
7232                                        &lt;effect-instance&gt; is the numerical ID
7233                                        of the new effect instance</t>
7234                                    </list>
7235                                </t>
7236                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
7237                                    <list>
7238                                        <t>in case the effect instance was spawned
7239                                        successfully, but there are noteworthy
7240                                        issue(s) related, providing an appropriate
7241                                        warning code and warning message</t>
7242                                    </list>
7243                                </t>
7244                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7245                                    <list>
7246                                        <t>if the effect could not be instantiated</t>
7247                                    </list>
7248                                </t>
7249                            </list>
7250                        </t>
7251    
7252                        <t>Examples:</t>
7253                        <t>
7254                            <list>
7255                                <t>C: "CREATE EFFECT_INSTANCE 72"</t>
7256                                <t>S: "OK[5]"</t>
7257                            </list>
7258                        </t>
7259                    </section>
7260    
7261                    <section title="Destroy an effect instance" anchor="DESTROY EFFECT_INSTANCE">
7262                        <t>The front-end can destroy an unusued effect instance and
7263                        thus freeing it from memory by sending the following command:</t>
7264                        <t>
7265                            <list>
7266                                <t>DESTROY EFFECT_INSTANCE &lt;effect-instance&gt;</t>
7267                            </list>
7268                        </t>
7269                        <t>Where &lt;effect-instance&gt; is the numerical ID of the
7270                        effect instance as returned by the
7271                        <xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref> or
7272                        <xref target="LIST EFFECT_INSTANCES">"LIST EFFECT_INSTANCES"</xref>
7273                        command.</t>
7274    
7275                        <t>The effect instance can only be destroyed if it's not
7276                        used in any part of the sampler's audio signal path anymore.
7277                        If the effect instance is still in use somewhere, trying to
7278                        destroy the effect instance will result in an error
7279                        message.</t>
7280    
7281                        <t>Possible Answers:</t>
7282                        <t>
7283                            <list>
7284                                <t>"OK" -
7285                                    <list>
7286                                        <t>in case the effect instance was successfully destroyed</t>
7287                                    </list>
7288                                </t>
7289                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7290                                    <list>
7291                                        <t>in case it failed, providing an appropriate error code and
7292                                        error message</t>
7293                                    </list>
7294                                </t>
7295                            </list>
7296                        </t>
7297    
7298                        <t>Examples:</t>
7299                        <t>
7300                            <list>
7301                                <t>C: "DESTROY EFFECT_INSTANCE 5"</t>
7302                                <t>S: "OK"</t>
7303                            </list>
7304                        </t>
7305                    </section>
7306    
7307                    <section title="Retrieve amount of effect instances" anchor="GET EFFECT_INSTANCES">
7308                        <t>The front-end can retrieve the current amount of effect
7309                        instances by sending the following command:</t>
7310                        <t>
7311                            <list>
7312                                <t>GET EFFECT_INSTANCES</t>
7313                            </list>
7314                        </t>
7315    
7316                        <t>Possible Answers:</t>
7317                        <t>
7318                            <list>
7319                                <t>The sampler will answer by returning the current
7320                                number of effect instances created and not yet
7321                                destroyed in the current sampler session.</t>
7322                            </list>
7323                        </t>
7324    
7325                        <t>Examples:</t>
7326                        <t>
7327                            <list>
7328                                <t>C: "GET EFFECT_INSTANCES"</t>
7329                                <t>S: "14"</t>
7330                            </list>
7331                        </t>
7332                    </section>
7333    
7334                    <section title="Get list of effect instances" anchor="LIST EFFECT_INSTANCES">
7335                        <t>The front-end can retrieve the current list of effect
7336                        instances by sending the following command:</t>
7337                        <t>
7338                            <list>
7339                                <t>LIST EFFECT_INSTANCES</t>
7340                            </list>
7341                        </t>
7342    
7343                        <t>Possible Answers:</t>
7344                        <t>
7345                            <list>
7346                                <t>The sampler will answer by returning a comma
7347                                separated list with numerical IDs of effects
7348                                instances.
7349                                </t>
7350                            </list>
7351                        </t>
7352                        <t>Example:</t>
7353                        <t>
7354                            <list>
7355                                <t>C: "LIST EFFECT_INSTANCES"</t>
7356                                <t>S: "9,11,14,15,16,17,25"</t>
7357                            </list>
7358                        </t>
7359                    </section>
7360    
7361                    <section title="Retrieving current information about an effect instance" anchor="GET EFFECT_INSTANCE INFO">
7362                        <t>The front-end can ask for the current informations about
7363                        a particular effect instance by sending the following command:</t>
7364                        <t>
7365                            <list>
7366                                <t>GET EFFECT_INSTANCE INFO &lt;effect-instance&gt;</t>
7367                            </list>
7368                        </t>
7369                        <t>Where &lt;effect-instance&gt; is the numerical ID of an
7370                        effect instance as returned by the
7371                        <xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref>
7372                        or
7373                        <xref target="LIST EFFECT_INSTANCES">"LIST EFFECT_INSTANCES"</xref>
7374                        command.</t>
7375    
7376                        <t>Possible Answers:</t>
7377                        <t>
7378                            <list>
7379                                <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7380                                Each answer line begins with the information
7381                                category name, followed by a colon and then a space
7382                                character &lt;SP&gt; and finally the info character
7383                                string to that information category. At the
7384                                moment the following categories are defined:</t>
7385                                <t>
7386                                    <list>
7387                                        <t>SYSTEM -
7388                                            <list>
7389                                                <t>name of the effect plugin system
7390                                                the effect is based on
7391                                                (e.g. "LADSPA")</t>
7392                                            </list>
7393                                        </t>
7394                                        <t>MODULE -
7395                                            <list>
7396                                                <t>module of the effect plugin
7397                                                system that contains this effect,
7398                                                the module is usually the
7399                                                dynamic-linked library (DLL)
7400                                                filename of the effect plugin,
7401                                                including full path (note that this
7402                                                filename may contain
7403                                                <xref target="character_set">escape sequences</xref>)</t>
7404                                            </list>
7405                                        </t>
7406                                        <t>NAME -
7407                                            <list>
7408                                                <t>character string defining the
7409                                                unique name of the effect within its
7410                                                module (note that the character
7411                                                string may contain
7412                                                <xref target="character_set">escape sequences</xref>)</t>
7413                                            </list>
7414                                        </t>
7415                                        <t>DESCRIPTION -
7416                                            <list>
7417                                                <t>human readable name of the
7418                                                effect, intended to be displayed in
7419                                                user interfaces (note that the
7420                                                character string may contain
7421                                                <xref target="character_set">escape sequences</xref>)</t>
7422                                            </list>
7423                                        </t>
7424                                        <t>INPUT_CONTROLS -
7425                                            <list>
7426                                                <t>amount of input controls the
7427                                                effect instance provides, to allow
7428                                                controlling the effect parameters in
7429                                                realtime</t>
7430                                            </list>
7431                                        </t>
7432                                    </list>
7433                                </t>
7434                            </list>
7435                        </t>
7436                        <t>The mentioned fields above don't have to be in particular order.</t>
7437    
7438                        <t>Example:</t>
7439                        <t>
7440                            <list>
7441                                <t>C: "GET EFFECT_INSTANCE INFO 3"</t>
7442                                <t>S: "SYSTEM: LADSPA"</t>
7443                                <t>&nbsp;&nbsp;&nbsp;"MODULE: /usr/lib/ladspa/mod_delay_1419.so"</t>
7444                                <t>&nbsp;&nbsp;&nbsp;"NAME: modDelay"</t>
7445                                <t>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Modulatable delay"</t>
7446                                <t>&nbsp;&nbsp;&nbsp;"INPUT_CONTROLS: 1"</t>
7447                                <t>&nbsp;&nbsp;&nbsp;"."</t>
7448                            </list>
7449                        </t>
7450                    </section>
7451    
7452                    <section title="Retrieving information about an effect parameter" anchor="GET EFFECT_INSTANCE_INPUT_CONTROL INFO">
7453                        <t>Effects typically provide a certain set of effect
7454                        parameters which can be altered by the user in realtime
7455                        (e.g. depth of a reverb effect, duration of a delay effect,
7456                        dry / wet signal ratio). Those controllable effect parameters
7457                        are called "input controls". The front-end can ask for the
7458                        current informations of an effect instance's input control
7459                        by sending the following command:</t>
7460                        <t>
7461                            <list>
7462                                <t>GET EFFECT_INSTANCE_INPUT_CONTROL INFO &lt;effect-instance&gt; &lt;input-control&gt;</t>
7463                            </list>
7464                        </t>
7465                        <t>Where &lt;effect-instance&gt; is the numerical ID of an
7466                        effect instance as returned by the
7467                        <xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref>
7468                        or
7469                        <xref target="LIST EFFECT_INSTANCES">"LIST EFFECT_INSTANCES"</xref>
7470                        command and &lt;input-control&gt; is the index of the input
7471                        control within the numerical bounds as returned by the
7472                        "INPUT_CONTROLS" field of the
7473                        <xref target="GET EFFECT_INSTANCE INFO">"GET EFFECT_INSTANCE INFO"</xref>
7474                        command.</t>
7475    
7476                        <t>Possible Answers:</t>
7477                        <t>
7478                            <list>
7479                                <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7480                                Each answer line begins with the information
7481                                category name, followed by a colon and then a space
7482                                character &lt;SP&gt; and finally the info character
7483                                string to that information category. There are
7484                                information categories which are always returned,
7485                                independent of the respective effect parameter and
7486                                there are optional information categories
7487                                which are only shown for certain effect parameters.
7488                                At the moment the following categories are defined:</t>
7489                                <t>
7490                                    <list>
7491                                        <t>DESCRIPTION -
7492                                            <list>
7493                                                <t>(always returned)
7494                                                human readable name of the
7495                                                effect parameter, intended to be
7496                                                displayed in user interfaces (note
7497                                                that the character string may
7498                                                contain <xref target="character_set">escape sequences</xref>)</t>
7499                                            </list>
7500                                        </t>
7501                                        <t>VALUE -
7502                                            <list>
7503                                                <t>
7504                                                (always returned)
7505                                                current (optional dotted)
7506                                                floating point value of this effect
7507                                                parameter</t>
7508                                            </list>
7509                                        </t>
7510                                        <t>RANGE_MIN -
7511                                            <list>
7512                                                <t>
7513                                                (optionally returned)
7514                                                minimum allowed value for this
7515                                                effect parameter</t>
7516                                            </list>
7517                                        </t>
7518                                        <t>RANGE_MAX -
7519                                            <list>
7520                                                <t>
7521                                                (optionally returned)
7522                                                maximum allowed value for this
7523                                                effect parameter</t>
7524                                            </list>
7525                                        </t>
7526                                        <t>POSSIBILITIES -
7527                                            <list>
7528                                                <t>
7529                                                (optionally returned)
7530                                                comma separated list of
7531                                                (optional dotted) floating point
7532                                                numbers, reflecting the exact set of
7533                                                possible values for this effect
7534                                                parameter</t>
7535                                            </list>
7536                                        </t>
7537                                        <t>DEFAULT -
7538                                            <list>
7539                                                <t>
7540                                                (optionally returned)
7541                                                default value of this effect
7542                                                parameter</t>
7543                                            </list>
7544                                        </t>
7545                                    </list>
7546                                </t>
7547                            </list>
7548                        </t>
7549                        <t>The mentioned fields above don't have to be in particular order.</t>
7550    
7551                        <t>Example:</t>
7552                        <t>
7553                            <list>
7554                                <t>C: "GET EFFECT_INSTANCE_INPUT_CONTROL INFO 1 0"</t>
7555                                <t>S: "DESCRIPTION: Base delay (s)"</t>
7556                                <t>&nbsp;&nbsp;&nbsp;"VALUE: 0.500"</t>
7557                                <t>&nbsp;&nbsp;&nbsp;"RANGE_MIN: 0.000"</t>
7558                                <t>&nbsp;&nbsp;&nbsp;"."</t>
7559                            </list>
7560                        </t>
7561                    </section>
7562    
7563                    <section title="Altering an effect parameter" anchor="SET EFFECT_INSTANCE_INPUT_CONTROL VALUE">
7564                        <t>The front-end can alter the current value of an effect
7565                        parameter by sending the following command:</t>
7566                        <t>
7567                            <list>
7568                                <t>SET EFFECT_INSTANCE_INPUT_CONTROL VALUE &lt;effect-instance&gt; &lt;input-control&gt; &lt;value&gt;</t>
7569                            </list>
7570                        </t>
7571                        <t>Where &lt;effect-instance&gt; is the numerical ID of the
7572                        effect instance as returned by the
7573                        <xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref> or
7574                        <xref target="LIST EFFECT_INSTANCES">"LIST EFFECT_INSTANCES"</xref>
7575                        command, &lt;input-control&gt; is the index of the input
7576                        control within the numerical bounds as returned by the
7577                        "INPUT_CONTROLS" field of the
7578                        <xref target="GET EFFECT_INSTANCE INFO">"GET EFFECT_INSTANCE INFO"</xref>
7579                        command and &lt;value&gt; is the new (optional dotted)
7580                        floating point value for this effect parameter.</t>
7581    
7582                        <t>Possible Answers:</t>
7583                        <t>
7584                            <list>
7585                                <t>"OK" -
7586                                    <list>
7587                                        <t>in case the effect was altered successfully</t>
7588                                    </list>
7589                                </t>
7590                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7591                                    <list>
7592                                        <t>in case it failed, providing an appropriate error code and
7593                                        error message</t>
7594                                    </list>
7595                                </t>
7596                            </list>
7597                        </t>
7598    
7599                        <t>Examples:</t>
7600                        <t>
7601                            <list>
7602                                <t>C: "SET EFFECT_INSTANCE_INPUT_CONTROL VALUE 0 1 0.5"</t>
7603                                <t>S: "OK"</t>
7604                            </list>
7605                        </t>
7606                    </section>
7607    
7608                    <section title="Retrieve amount of send effect chains" anchor="GET SEND_EFFECT_CHAINS">
7609                        <t>The front-end can retrieve the current amount of send
7610                        effect chains of an audio output device by sending the
7611                        following command:</t>
7612                        <t>
7613                            <list>
7614                                <t>GET SEND_EFFECT_CHAINS &lt;audio-device&gt;</t>
7615                            </list>
7616                        </t>
7617                        <t>Where &lt;audio-device&gt; should be replaced by the
7618                        numerical ID of the audio output device as given by the
7619                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7620                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7621                        command.</t>
7622    
7623                        <t>Possible Answers:</t>
7624                        <t>
7625                            <list>
7626                                <t>The sampler will answer by returning the current
7627                                number of send effect chains of the supplied audio
7628                                output device.</t>
7629                            </list>
7630                        </t>
7631    
7632                        <t>Examples:</t>
7633                        <t>
7634                            <list>
7635                                <t>C: "GET SEND_EFFECT_CHAINS 0"</t>
7636                                <t>S: "4"</t>
7637                            </list>
7638                        </t>
7639                    </section>
7640    
7641                    <section title="Retrieve list of send effect chains" anchor="LIST SEND_EFFECT_CHAINS">
7642                        <t>The front-end can retrieve the current list of send
7643                        effect chains of an audio output device by sending the
7644                        following command:</t>
7645                        <t>
7646                            <list>
7647                                <t>LIST SEND_EFFECT_CHAINS &lt;audio-device&gt;</t>
7648                            </list>
7649                        </t>
7650                        <t>Where &lt;audio-device&gt; should be replaced by the
7651                        numerical ID of the audio output device as given by the
7652                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7653                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7654                        command.</t>
7655    
7656                        <t>Possible Answers:</t>
7657                        <t>
7658                            <list>
7659                                <t>The sampler will answer by returning a comma
7660                                separated list with numerical IDs of send effect
7661                                chains of the supplied audio output device.
7662                                </t>
7663                            </list>
7664                        </t>
7665    
7666                        <t>Examples:</t>
7667                        <t>
7668                            <list>
7669                                <t>C: "LIST SEND_EFFECT_CHAINS 0"</t>
7670                                <t>S: "3,4,7"</t>
7671                            </list>
7672                        </t>
7673                    </section>
7674    
7675                    <section title="Add send effect chain" anchor="ADD SEND_EFFECT_CHAIN">
7676                        <t>The front-end can add a send effect chain by sending the
7677                        following command:</t>
7678                        <t>
7679                            <list>
7680                                <t>ADD SEND_EFFECT_CHAIN &lt;audio-device&gt;</t>
7681                            </list>
7682                        </t>
7683                        <t>Where &lt;audio-device&gt; should be replaced by the
7684                        numerical ID of the audio output device as given by the
7685                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7686                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7687                        command.</t>
7688    
7689                        <t>Possible Answers:</t>
7690                        <t>
7691                            <list>
7692                                <t>"OK[&lt;effect-chain&gt;]" -
7693                                    <list>
7694                                        <t>in case the send effect chain was
7695                                        added successfully, where
7696                                        &lt;effect-chain&gt; is the numerical ID
7697                                        of the new send effect chain</t>
7698                                    </list>
7699                                </t>
7700                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7701                                    <list>
7702                                        <t>if the send effect chain could not be added</t>
7703                                    </list>
7704                                </t>
7705                            </list>
7706                        </t>
7707    
7708                        <t>Examples:</t>
7709                        <t>
7710                            <list>
7711                                <t>C: "ADD SEND_EFFECT_CHAIN 0"</t>
7712                                <t>S: "OK[2]"</t>
7713                            </list>
7714                        </t>
7715                    </section>
7716    
7717                    <section title="Remove send effect chain" anchor="REMOVE SEND_EFFECT_CHAIN">
7718                        <t>The front-end can remove a send effect chain by sending
7719                        the following command:</t>
7720                        <t>
7721                            <list>
7722                                <t>REMOVE SEND_EFFECT_CHAIN &lt;audio-device&gt; &lt;effect-chain&gt;</t>
7723                            </list>
7724                        </t>
7725                        <t>Where &lt;audio-device&gt; should be replaced by the
7726                        numerical ID of the audio output device as given by the
7727                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7728                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7729                        command and &lt;effect-chain&gt; by the numerical ID as
7730                        returned by the
7731                        <xref target="ADD SEND_EFFECT_CHAIN">"ADD SEND_EFFECT_CHAIN"</xref>
7732                        or
7733                        <xref target="LIST SEND_EFFECT_CHAINS">"LIST SEND_EFFECT_CHAINS"</xref>
7734                        command.</t>
7735    
7736                        <t>Possible Answers:</t>
7737                        <t>
7738                            <list>
7739                                <t>"OK" -
7740                                    <list>
7741                                        <t>in case the send effect chain was
7742                                        removed successfully</t>
7743                                    </list>
7744                                </t>
7745                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7746                                    <list>
7747                                        <t>if the send effect chain could not be removed</t>
7748                                    </list>
7749                                </t>
7750                            </list>
7751                        </t>
7752    
7753                        <t>Examples:</t>
7754                        <t>
7755                            <list>
7756                                <t>C: "REMOVE SEND_EFFECT_CHAIN 0 2"</t>
7757                                <t>S: "OK"</t>
7758                            </list>
7759                        </t>
7760                    </section>
7761    
7762                    <section title="Retrieving information about a send effect chain" anchor="GET SEND_EFFECT_CHAIN INFO">
7763                        <t>The front-end can ask for informations of a send effect
7764                        chain by sending the following command:</t>
7765                        <t>
7766                            <list>
7767                                <t>GET SEND_EFFECT_CHAIN INFO &lt;audio-device&gt; &lt;effect-chain&gt;</t>
7768                            </list>
7769                        </t>
7770                        <t>Where &lt;audio-device&gt; should be replaced by the
7771                        numerical ID of the audio output device as given by the
7772                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7773                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7774                        command and &lt;effect-chain&gt; by the numerical ID as
7775                        returned by the
7776                        <xref target="ADD SEND_EFFECT_CHAIN">"ADD SEND_EFFECT_CHAIN"</xref>
7777                        or
7778                        <xref target="LIST SEND_EFFECT_CHAINS">"LIST SEND_EFFECT_CHAINS"</xref>
7779                        command.</t>
7780    
7781                        <t>Possible Answers:</t>
7782                        <t>
7783                            <list>
7784                                <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7785                                Each answer line begins with the information
7786                                category name, followed by a colon and then a space
7787                                character &lt;SP&gt; and finally the info character
7788                                string to that information category.
7789                                At the moment the following categories are defined:</t>
7790                                <t>
7791                                    <list>
7792                                        <t>EFFECT_COUNT -
7793                                            <list>
7794                                                <t>amount of effects in this send
7795                                                effect chain</t>
7796                                            </list>
7797                                        </t>
7798                                        <t>EFFECT_SEQUENCE -
7799                                            <list>
7800                                                <t>comma separated list of the
7801                                                numerical IDs of the effect
7802                                                instances in this send effect chain,
7803                                                in the order as they are procssed in
7804                                                the effect chain</t>
7805                                            </list>
7806                                        </t>
7807                                    </list>
7808                                </t>
7809                            </list>
7810                        </t>
7811                        <t>The mentioned fields above don't have to be in particular order.</t>
7812    
7813                        <t>Example:</t>
7814                        <t>
7815                            <list>
7816                                <t>C: "GET SEND_EFFECT_CHAIN INFO 0 2"</t>
7817                                <t>S: "EFFECT_COUNT: 3"</t>
7818                                <t>&nbsp;&nbsp;&nbsp;"EFFECT_SEQUENCE: 31,4,7"</t>
7819                                <t>&nbsp;&nbsp;&nbsp;"."</t>
7820                            </list>
7821                        </t>
7822                    </section>
7823    
7824                    <section title="Append effect instance to a send effect chain" anchor="APPEND SEND_EFFECT_CHAIN EFFECT">
7825                        <t>The front-end can add an unused effect instance to the
7826                        end of a send effect chain by sending the following command:</t>
7827                        <t>
7828                            <list>
7829                                <t>APPEND SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;effect-instance&gt;</t>
7830                            </list>
7831                        </t>
7832                        <t>Where &lt;audio-device&gt; should be replaced by the
7833                        numerical ID of the audio output device as given by the
7834                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7835                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7836                        command and &lt;effect-chain&gt; by the numerical ID as
7837                        returned by the
7838                        <xref target="ADD SEND_EFFECT_CHAIN">"ADD SEND_EFFECT_CHAIN"</xref>
7839                        or
7840                        <xref target="LIST SEND_EFFECT_CHAINS">"LIST SEND_EFFECT_CHAINS"</xref>
7841                        command and &lt;effect-instance&gt; as returned by the
7842                        <xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref> or
7843                        <xref target="LIST EFFECT_INSTANCES">"LIST EFFECT_INSTANCES"</xref>
7844                        command.</t>
7845                        <t>Only unused effect instances can be added to the effect
7846                        chain. Trying to add an effect instance which is already in
7847                        use somewhere in the audio signal path of the sampler will
7848                        result in an error.</t>
7849    
7850                        <t>Possible Answers:</t>
7851                        <t>
7852                            <list>
7853                                <t>"OK" -
7854                                    <list>
7855                                        <t>in case the effect instance was
7856                                        added successfully to the chain</t>
7857                                    </list>
7858                                </t>
7859                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7860                                    <list>
7861                                        <t>if the effect instance could not be added</t>
7862                                    </list>
7863                                </t>
7864                            </list>
7865                        </t>
7866    
7867                        <t>Examples:</t>
7868                        <t>
7869                            <list>
7870                                <t>C: "APPEND SEND_EFFECT_CHAIN EFFECT 0 2 38"</t>
7871                                <t>S: "OK"</t>
7872                            </list>
7873                        </t>
7874                    </section>
7875    
7876                    <section title="Insert effect instance to a send effect chain" anchor="INSERT SEND_EFFECT_CHAIN EFFECT">
7877                        <t>The front-end can add an unused effect instance to a
7878                        certain position of a send effect chain by sending the
7879                        following command:</t>
7880                        <t>
7881                            <list>
7882                                <t>INSERT SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt; &lt;effect-instance&gt;</t>
7883                            </list>
7884                        </t>
7885                        <t>Where &lt;audio-device&gt; should be replaced by the
7886                        numerical ID of the audio output device as given by the
7887                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7888                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7889                        command, &lt;effect-chain&gt; by the numerical ID as
7890                        returned by the
7891                        <xref target="ADD SEND_EFFECT_CHAIN">"ADD SEND_EFFECT_CHAIN"</xref>
7892                        or
7893                        <xref target="LIST SEND_EFFECT_CHAINS">"LIST SEND_EFFECT_CHAINS"</xref>
7894                        command, &lt;effect-instance&gt; as returned by the
7895                        <xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref> or
7896                        <xref target="LIST EFFECT_INSTANCES">"LIST EFFECT_INSTANCES"</xref>
7897                        command and &lt;chain-pos&gt; the exact position of the
7898                        effect chain where the supplied effect shall be inserted
7899                        to.</t>
7900                        <t>Only unused effect instances can be added to the effect
7901                        chain. Trying to add an effect instance which is already in
7902                        use somewhere in the audio signal path of the sampler will
7903                        result in an error.</t>
7904    
7905                        <t>Possible Answers:</t>
7906                        <t>
7907                            <list>
7908                                <t>"OK" -
7909                                    <list>
7910                                        <t>in case the effect instance was
7911                                        added successfully to the chain</t>
7912                                    </list>
7913                                </t>
7914                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7915                                    <list>
7916                                        <t>if the effect instance could not be added</t>
7917                                    </list>
7918                                </t>
7919                            </list>
7920                        </t>
7921    
7922                        <t>Examples:</t>
7923                        <t>
7924                            <list>
7925                                <t>C: "INSERT SEND_EFFECT_CHAIN EFFECT 0 2 4 38"</t>
7926                                <t>S: "OK"</t>
7927                            </list>
7928                        </t>
7929                    </section>
7930    
7931                    <section title="Remove effect instance from send effect chain" anchor="REMOVE SEND_EFFECT_CHAIN EFFECT">
7932                        <t>The front-end can remove an effect instance from a
7933                        certain position of a send effect chain by sending the
7934                        following command:</t>
7935                        <t>
7936                            <list>
7937                                <t>REMOVE SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt;</t>
7938                            </list>
7939                        </t>
7940                        <t>Where &lt;audio-device&gt; should be replaced by the
7941                        numerical ID of the audio output device as given by the
7942                        <xref target="CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"</xref>
7943                        or <xref target="LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"</xref>
7944                        command, &lt;effect-chain&gt; by the numerical ID as
7945                        returned by the
7946                        <xref target="ADD SEND_EFFECT_CHAIN">"ADD SEND_EFFECT_CHAIN"</xref>
7947                        or
7948                        <xref target="LIST SEND_EFFECT_CHAINS">"LIST SEND_EFFECT_CHAINS"</xref>
7949                        command and &lt;chain-pos&gt; the exact position of the
7950                        effect instance to be removed from the effect chain.</t>
7951    
7952                        <t>Possible Answers:</t>
7953                        <t>
7954                            <list>
7955                                <t>"OK" -
7956                                    <list>
7957                                        <t>in case the effect instance was
7958                                        removed successfully</t>
7959                                    </list>
7960                                </t>
7961                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7962                                    <list>
7963                                        <t>if the effect instance could not be removed</t>
7964                                    </list>
7965                                </t>
7966                            </list>
7967                        </t>
7968    
7969                        <t>Examples:</t>
7970                        <t>
7971                            <list>
7972                                <t>C: "REMOVE SEND_EFFECT_CHAIN EFFECT 0 2 4"</t>
7973                                <t>S: "OK"</t>
7974                            </list>
7975                        </t>
7976                    </section>
7977    
7978                </section>
7979            </section>
7980    
7981          <section title="Command Syntax" anchor="command_syntax">          <section title="Command Syntax" anchor="command_syntax">
7982              <t>The grammar of the control protocol as descibed in <xref target="control_commands"/>              <t>The grammar of the control protocol as descibed in <xref target="control_commands"/>
# Line 6130  Schoenebeck'> Line 8064  Schoenebeck'>
8064                  </t>                  </t>
8065                  <t>/ FORMAT SP format_instruction                  <t>/ FORMAT SP format_instruction
8066                  </t>                  </t>
8067                    <t>/ SEND SP send_instruction
8068                    </t>
8069                    <t>/ APPEND SP append_instruction
8070                    </t>
8071                    <t>/ INSERT SP insert_instruction
8072                    </t>
8073                  <t>/ RESET                  <t>/ RESET
8074                  </t>                  </t>
8075                  <t>/ QUIT                  <t>/ QUIT
# Line 6140  Schoenebeck'> Line 8080  Schoenebeck'>
8080          <list>          <list>
8081                  <t>CHANNEL                  <t>CHANNEL
8082                  </t>                  </t>
8083                    <t>/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index
8084                    </t>
8085                    <t>/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index
8086                    </t>
8087                  <t>/ DB_INSTRUMENT_DIRECTORY SP db_path                  <t>/ DB_INSTRUMENT_DIRECTORY SP db_path
8088                  </t>                  </t>
8089                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
8090                  </t>                  </t>
8091                    <t>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP db_path SP filename
8092                    </t>
8093                  <t>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename                  <t>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
8094                  </t>                  </t>
8095                    <t>/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP filename
8096                    </t>
8097                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
8098                  </t>                  </t>
8099                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
# Line 6158  Schoenebeck'> Line 8106  Schoenebeck'>
8106                  </t>                  </t>
8107                  <t>/ MIDI_INSTRUMENT_MAP SP map_name                  <t>/ MIDI_INSTRUMENT_MAP SP map_name
8108                  </t>                  </t>
8109                    <t>/ SEND_EFFECT_CHAIN SP device_index
8110                    </t>
8111          </list>          </list>
8112  </t>  </t>
8113  <t>subscribe_event =  <t>subscribe_event =
# Line 6172  Schoenebeck'> Line 8122  Schoenebeck'>
8122                  </t>                  </t>
8123                  <t>/ CHANNEL_COUNT                  <t>/ CHANNEL_COUNT
8124                  </t>                  </t>
8125                    <t>/ CHANNEL_MIDI
8126                    </t>
8127                    <t>/ DEVICE_MIDI
8128                    </t>
8129                  <t>/ VOICE_COUNT                  <t>/ VOICE_COUNT
8130                  </t>                  </t>
8131                  <t>/ STREAM_COUNT                  <t>/ STREAM_COUNT
# Line 6204  Schoenebeck'> Line 8158  Schoenebeck'>
8158                  </t>                  </t>
8159                  <t>/ MISCELLANEOUS                  <t>/ MISCELLANEOUS
8160                  </t>                  </t>
8161                    <t>/ TOTAL_STREAM_COUNT
8162                    </t>
8163                  <t>/ TOTAL_VOICE_COUNT                  <t>/ TOTAL_VOICE_COUNT
8164                  </t>                  </t>
8165                  <t>/ GLOBAL_INFO                  <t>/ GLOBAL_INFO
8166                  </t>                  </t>
8167                    <t>/ EFFECT_INSTANCE_COUNT
8168                    </t>
8169                    <t>/ EFFECT_INSTANCE_INFO
8170                    </t>
8171                    <t>/ SEND_EFFECT_CHAIN_COUNT
8172                    </t>
8173                    <t>/ SEND_EFFECT_CHAIN_INFO
8174                    </t>
8175          </list>          </list>
8176  </t>  </t>
8177  <t>unsubscribe_event =  <t>unsubscribe_event =
# Line 6222  Schoenebeck'> Line 8186  Schoenebeck'>
8186                  </t>                  </t>
8187                  <t>/ CHANNEL_COUNT                  <t>/ CHANNEL_COUNT
8188                  </t>                  </t>
8189                    <t>/ CHANNEL_MIDI
8190                    </t>
8191                    <t>/ DEVICE_MIDI
8192                    </t>
8193                  <t>/ VOICE_COUNT                  <t>/ VOICE_COUNT
8194                  </t>                  </t>
8195                  <t>/ STREAM_COUNT                  <t>/ STREAM_COUNT
# Line 6254  Schoenebeck'> Line 8222  Schoenebeck'>
8222                  </t>                  </t>
8223                  <t>/ MISCELLANEOUS                  <t>/ MISCELLANEOUS
8224                  </t>                  </t>
8225                    <t>/ TOTAL_STREAM_COUNT
8226                    </t>
8227                  <t>/ TOTAL_VOICE_COUNT                  <t>/ TOTAL_VOICE_COUNT
8228                  </t>                  </t>
8229                  <t>/ GLOBAL_INFO                  <t>/ GLOBAL_INFO
8230                  </t>                  </t>
8231                    <t>/ EFFECT_INSTANCE_COUNT
8232                    </t>
8233                    <t>/ EFFECT_INSTANCE_INFO
8234                    </t>
8235                    <t>/ SEND_EFFECT_CHAIN_COUNT
8236                    </t>
8237                    <t>/ SEND_EFFECT_CHAIN_INFO
8238                    </t>
8239          </list>          </list>
8240  </t>  </t>
8241  <t>map_instruction =  <t>map_instruction =
# Line 6282  Schoenebeck'> Line 8260  Schoenebeck'>
8260          <list>          <list>
8261                  <t>CHANNEL SP sampler_channel                  <t>CHANNEL SP sampler_channel
8262                  </t>                  </t>
8263                    <t>/ CHANNEL SP MIDI_INPUT SP sampler_channel
8264                    </t>
8265                    <t>/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index
8266                    </t>
8267                    <t>/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index
8268                    </t>
8269                  <t>/ MIDI_INSTRUMENT_MAP SP midi_map                  <t>/ MIDI_INSTRUMENT_MAP SP midi_map
8270                  </t>                  </t>
8271                  <t>/ MIDI_INSTRUMENT_MAP SP ALL                  <t>/ MIDI_INSTRUMENT_MAP SP ALL
8272                  </t>                  </t>
8273                    <t>/ SEND_EFFECT_CHAIN SP device_index SP effect_chain
8274                    </t>
8275                    <t>/ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos
8276                    </t>
8277                    <t>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id
8278                    </t>
8279                  <t>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path                  <t>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
8280                  </t>                  </t>
8281                  <t>/ DB_INSTRUMENT_DIRECTORY SP db_path                  <t>/ DB_INSTRUMENT_DIRECTORY SP db_path
# Line 6298  Schoenebeck'> Line 8288  Schoenebeck'>
8288          <list>          <list>
8289                  <t>AVAILABLE_ENGINES                  <t>AVAILABLE_ENGINES
8290                  </t>                  </t>
8291                    <t>/ AVAILABLE_EFFECTS
8292                    </t>
8293                    <t>/ EFFECT_INSTANCES
8294                    </t>
8295                    <t>/ EFFECT SP INFO SP effect_index
8296                    </t>
8297                    <t>/ EFFECT_INSTANCE SP INFO SP effect_instance
8298                    </t>
8299                    <t>/ EFFECT_INSTANCE_INPUT_CONTROL SP INFO SP effect_instance SP input_control
8300                    </t>
8301                    <t>/ SEND_EFFECT_CHAINS SP device_index
8302                    </t>
8303                    <t>/ SEND_EFFECT_CHAIN SP INFO SP device_index SP effect_chain
8304                    </t>
8305                  <t>/ AVAILABLE_MIDI_INPUT_DRIVERS                  <t>/ AVAILABLE_MIDI_INPUT_DRIVERS
8306                  </t>                  </t>
8307                  <t>/ MIDI_INPUT_DRIVER SP INFO SP string                  <t>/ MIDI_INPUT_DRIVER SP INFO SP string
# Line 6344  Schoenebeck'> Line 8348  Schoenebeck'>
8348                  </t>                  </t>
8349                  <t>/ SERVER SP INFO                  <t>/ SERVER SP INFO
8350                  </t>                  </t>
8351                    <t>/ TOTAL_STREAM_COUNT
8352                    </t>
8353                  <t>/ TOTAL_VOICE_COUNT                  <t>/ TOTAL_VOICE_COUNT
8354                  </t>                  </t>
8355                  <t>/ TOTAL_VOICE_COUNT_MAX                  <t>/ TOTAL_VOICE_COUNT_MAX
# Line 6378  Schoenebeck'> Line 8384  Schoenebeck'>
8384                  </t>                  </t>
8385                  <t>/ VOLUME                  <t>/ VOLUME
8386                  </t>                  </t>
8387                    <t>/ VOICES
8388                    </t>
8389                    <t>/ STREAMS
8390                    </t>
8391                    <t>/ FILE SP INSTRUMENTS SP filename
8392                    </t>
8393                    <t>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
8394                    </t>
8395          </list>          </list>
8396  </t>  </t>
8397  <t>set_instruction =  <t>set_instruction =
# Line 6392  Schoenebeck'> Line 8406  Schoenebeck'>
8406                  </t>                  </t>
8407                  <t>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list                  <t>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
8408                  </t>                  </t>
8409                    <t>/ EFFECT_INSTANCE_INPUT_CONTROL SP VALUE SP effect_instance SP input_control SP control_value
8410                    </t>
8411                  <t>/ CHANNEL SP set_chan_instruction                  <t>/ CHANNEL SP set_chan_instruction
8412                  </t>                  </t>
8413                  <t>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name                  <t>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
# Line 6404  Schoenebeck'> Line 8420  Schoenebeck'>
8420                  </t>                  </t>
8421                  <t>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value                  <t>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
8422                  </t>                  </t>
8423                    <t>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id SP effect_chain SP chain_pos
8424                    </t>
8425                  <t>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped                  <t>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
8426                  </t>                  </t>
8427                  <t>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped                  <t>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
# Line 6412  Schoenebeck'> Line 8430  Schoenebeck'>
8430                  </t>                  </t>
8431                  <t>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped                  <t>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
8432                  </t>                  </t>
8433                    <t>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
8434                    </t>
8435                  <t>/ ECHO SP boolean                  <t>/ ECHO SP boolean
8436                  </t>                  </t>
8437                    <t>/ SHELL SP INTERACT SP boolean
8438                    </t>
8439                    <t>/ SHELL SP AUTO_CORRECT SP boolean
8440                    </t>
8441                  <t>/ VOLUME SP volume_value                  <t>/ VOLUME SP volume_value
8442                  </t>                  </t>
8443                    <t>/ VOICES SP number
8444                    </t>
8445                    <t>/ STREAMS SP number
8446                    </t>
8447          </list>          </list>
8448  </t>  </t>
8449  <t>create_instruction =  <t>create_instruction =
# Line 6432  Schoenebeck'> Line 8460  Schoenebeck'>
8460                  </t>                  </t>
8461                  <t>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name                  <t>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
8462                  </t>                  </t>
8463                    <t>/ EFFECT_INSTANCE SP effect_index
8464                    </t>
8465                    <t>/ EFFECT_INSTANCE SP effect_system SP module SP effect_name
8466                    </t>
8467          </list>          </list>
8468  </t>  </t>
8469  <t>reset_instruction =  <t>reset_instruction =
# Line 6458  Schoenebeck'> Line 8490  Schoenebeck'>
8490                  </t>                  </t>
8491                  <t>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list                  <t>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
8492                  </t>                  </t>
8493                    <t>/ LOST SP DB_INSTRUMENT_FILES
8494                    </t>
8495          </list>          </list>
8496  </t>  </t>
8497  <t>move_instruction =  <t>move_instruction =
# Line 6484  Schoenebeck'> Line 8518  Schoenebeck'>
8518                  </t>                  </t>
8519                  <t>/ FX_SEND SP sampler_channel SP fx_send_id                  <t>/ FX_SEND SP sampler_channel SP fx_send_id
8520                  </t>                  </t>
8521                    <t>/ EFFECT_INSTANCE SP number
8522                    </t>
8523          </list>          </list>
8524  </t>  </t>
8525  <t>load_instruction =  <t>load_instruction =
# Line 6494  Schoenebeck'> Line 8530  Schoenebeck'>
8530                  </t>                  </t>
8531          </list>          </list>
8532  </t>  </t>
8533    <t>append_instruction =
8534            <list>
8535                    <t>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP effect_instance
8536                    </t>
8537            </list>
8538    </t>
8539    <t>insert_instruction =
8540            <list>
8541                    <t>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos SP effect_instance
8542                    </t>
8543            </list>
8544    </t>
8545  <t>set_chan_instruction =  <t>set_chan_instruction =
8546          <list>          <list>
8547                  <t>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index                  <t>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index
# Line 6528  Schoenebeck'> Line 8576  Schoenebeck'>
8576  </t>  </t>
8577  <t>edit_instruction =  <t>edit_instruction =
8578          <list>          <list>
8579                  <t>INSTRUMENT SP sampler_channel                  <t>CHANNEL SP INSTRUMENT SP sampler_channel
8580                  </t>                  </t>
8581          </list>          </list>
8582  </t>  </t>
# Line 6570  Schoenebeck'> Line 8618  Schoenebeck'>
8618                  </t>                  </t>
8619                  <t>/ CHANNELS                  <t>/ CHANNELS
8620                  </t>                  </t>
8621                    <t>/ CHANNEL SP MIDI_INPUTS SP sampler_channel
8622                    </t>
8623                  <t>/ AVAILABLE_ENGINES                  <t>/ AVAILABLE_ENGINES
8624                  </t>                  </t>
8625                    <t>/ AVAILABLE_EFFECTS
8626                    </t>
8627                    <t>/ EFFECT_INSTANCES
8628                    </t>
8629                    <t>/ SEND_EFFECT_CHAINS SP number
8630                    </t>
8631                  <t>/ AVAILABLE_MIDI_INPUT_DRIVERS                  <t>/ AVAILABLE_MIDI_INPUT_DRIVERS
8632                  </t>                  </t>
8633                  <t>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS                  <t>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
# Line 6592  Schoenebeck'> Line 8648  Schoenebeck'>
8648                  </t>                  </t>
8649                  <t>/ DB_INSTRUMENTS SP db_path                  <t>/ DB_INSTRUMENTS SP db_path
8650                  </t>                  </t>
8651                    <t>/ FILE SP INSTRUMENTS SP filename
8652                    </t>
8653            </list>
8654    </t>
8655    <t>send_instruction =
8656            <list>
8657                    <t>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
8658                    </t>
8659          </list>          </list>
8660  </t>  </t>
8661  <t>load_instr_args =  <t>load_instr_args =
# Line 6618  Schoenebeck'> Line 8682  Schoenebeck'>
8682                  </t>                  </t>
8683          </list>          </list>
8684  </t>  </t>
8685    <t>effect_instance =
8686            <list>
8687                    <t>number
8688                    </t>
8689            </list>
8690    </t>
8691  <t>device_index =  <t>device_index =
8692          <list>          <list>
8693                  <t>number                  <t>number
# Line 6688  Schoenebeck'> Line 8758  Schoenebeck'>
8758                  </t>                  </t>
8759          </list>          </list>
8760  </t>  </t>
8761    <t>control_value =
8762            <list>
8763                    <t>real
8764                    </t>
8765            </list>
8766    </t>
8767  <t>sampler_channel =  <t>sampler_channel =
8768          <list>          <list>
8769                  <t>number                  <t>number
# Line 6742  Schoenebeck'> Line 8818  Schoenebeck'>
8818                  </t>                  </t>
8819          </list>          </list>
8820  </t>  </t>
8821    <t>effect_name =
8822            <list>
8823                    <t>stringval_escaped
8824                    </t>
8825            </list>
8826    </t>
8827    <t>effect_index =
8828            <list>
8829                    <t>number
8830                    </t>
8831            </list>
8832    </t>
8833    <t>effect_chain =
8834            <list>
8835                    <t>number
8836                    </t>
8837            </list>
8838    </t>
8839    <t>chain_pos =
8840            <list>
8841                    <t>number
8842                    </t>
8843            </list>
8844    </t>
8845    <t>input_control =
8846            <list>
8847                    <t>number
8848                    </t>
8849            </list>
8850    </t>
8851  <t>param_val_list =  <t>param_val_list =
8852          <list>          <list>
8853                  <t>param_val                  <t>param_val
# Line 6789  Schoenebeck'> Line 8895  Schoenebeck'>
8895                  </t>                  </t>
8896          </list>          </list>
8897  </t>  </t>
8898    <t>effect_system =
8899            <list>
8900                    <t>string
8901                    </t>
8902            </list>
8903    </t>
8904    <t>module =
8905            <list>
8906                    <t>filename
8907                    </t>
8908            </list>
8909    </t>
8910    
8911              <!-- GRAMMAR_BNF_END - do NOT delete or modify this line !!! -->              <!-- GRAMMAR_BNF_END - do NOT delete or modify this line !!! -->
8912    
# Line 6824  Schoenebeck'> Line 8942  Schoenebeck'>
8942                  in the old versions a single backslash was sufficient.</t>                  in the old versions a single backslash was sufficient.</t>
8943    
8944                  <t>The following LSCP commands support escape sequences as part                  <t>The following LSCP commands support escape sequences as part
8945                  of their filename / path based arguments:                  of their filename / path based arguments and / or may contain
8946                    a filename / path with escape sequences in their response:
8947                  <list>                  <list>
8948                      <t><xref target="LOAD INSTRUMENT">"LOAD INSTRUMENT"</xref></t>                      <t><xref target="LOAD INSTRUMENT">"LOAD INSTRUMENT"</xref></t>
8949                        <t><xref target="GET CHANNEL INFO">"GET CHANNEL INFO"</xref></t>
8950                      <t><xref target="MAP MIDI_INSTRUMENT">"MAP MIDI_INSTRUMENT"</xref></t>                      <t><xref target="MAP MIDI_INSTRUMENT">"MAP MIDI_INSTRUMENT"</xref></t>
8951                        <t><xref target="GET MIDI_INSTRUMENT INFO">"GET MIDI_INSTRUMENT INFO"</xref></t>
8952                      <t><xref target="ADD DB_INSTRUMENT_DIRECTORY">"ADD DB_INSTRUMENT_DIRECTORY"</xref></t>                      <t><xref target="ADD DB_INSTRUMENT_DIRECTORY">"ADD DB_INSTRUMENT_DIRECTORY"</xref></t>
8953                      <t><xref target="ADD DB_INSTRUMENTS">"ADD DB_INSTRUMENTS"</xref></t>                      <t><xref target="ADD DB_INSTRUMENTS">"ADD DB_INSTRUMENTS"</xref></t>
8954                      <t><xref target="REMOVE DB_INSTRUMENT_DIRECTORY">"REMOVE DB_INSTRUMENT_DIRECTORY"</xref></t>                      <t><xref target="REMOVE DB_INSTRUMENT_DIRECTORY">"REMOVE DB_INSTRUMENT_DIRECTORY"</xref></t>
# Line 6848  Schoenebeck'> Line 8969  Schoenebeck'>
8969                      <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>
8970                      <t><xref target="COPY DB_INSTRUMENT">"COPY DB_INSTRUMENT"</xref></t>                      <t><xref target="COPY DB_INSTRUMENT">"COPY DB_INSTRUMENT"</xref></t>
8971                      <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>
8972                        <t><xref target="FIND LOST DB_INSTRUMENT_FILES">"FIND LOST DB_INSTRUMENT_FILES"</xref></t>
8973                        <t><xref target="SET DB_INSTRUMENT FILE_PATH">"SET DB_INSTRUMENT FILE_PATH"</xref></t>
8974                        <t><xref target="GET FILE INSTRUMENTS">"GET FILE INSTRUMENTS"</xref></t>
8975                        <t><xref target="LIST FILE INSTRUMENTS">"LIST FILE INSTRUMENTS"</xref></t>
8976                        <t><xref target="GET FILE INSTRUMENT INFO">"GET FILE INSTRUMENT INFO"</xref></t>
8977                        <t><xref target="GET EFFECT INFO">"GET EFFECT INFO"</xref></t>
8978                        <t><xref target="GET EFFECT_INSTANCE INFO">"GET EFFECT_INSTANCE INFO"</xref></t>
8979                        <t><xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref></t>
8980                  </list>                  </list>
8981                  Note that the forward slash character ('/') has a special meaning in                  Note that the forward slash character ('/') has a special meaning in
8982                  filename / path based arguments: it acts as separator of the nodes in                  filename / path based arguments: it acts as separator of the nodes in
# Line 6858  Schoenebeck'> Line 8987  Schoenebeck'>
8987                  </t>                  </t>
8988    
8989                  <t>                  <t>
8990                    Note for Windows: file path arguments in LSCP are expected
8991                    to use forward slashes as directory node separator similar
8992                    to Unix based operating systems. In contrast to Unix however
8993                    a Windows typical drive character is expected to be
8994                    prefixed to the path. That is an original Windows file path
8995                    like "D:\Sounds\My.gig" would become in LSCP:
8996                    "D:/Sounds/My.gig".
8997                    </t>
8998    
8999                    <t>
9000                  The following LSCP commands even support escape sequences as                  The following LSCP commands even support escape sequences as
9001                  part of at least one of their text-based arguments (i.e. entity name,                  part of at least one of their text-based arguments (i.e. entity name,
9002                  description):                  description) and / or may contain escape sequences in at least one of
9003                    their text-based fields in their response:
9004                  <list>                  <list>
9005                        <t><xref target="GET SERVER INFO">"GET SERVER INFO"</xref></t>
9006                        <t><xref target="GET ENGINE INFO">"GET ENGINE INFO"</xref></t>
9007                        <t><xref target="GET CHANNEL INFO">"GET CHANNEL INFO"</xref></t>
9008                        <t><xref target="CREATE FX_SEND">"CREATE FX_SEND"</xref></t>
9009                        <t><xref target="GET FX_SEND INFO">"GET FX_SEND INFO"</xref></t>
9010                        <t><xref target="SET FX_SEND NAME">"SET FX_SEND NAME"</xref></t>
9011                        <t><xref target="GET MIDI_INSTRUMENT INFO">"GET MIDI_INSTRUMENT INFO"</xref></t>
9012                        <t><xref target="GET MIDI_INSTRUMENT_MAP INFO">"GET MIDI_INSTRUMENT_MAP INFO"</xref></t>
9013                      <t><xref target="ADD MIDI_INSTRUMENT_MAP">"ADD MIDI_INSTRUMENT_MAP"</xref></t>                      <t><xref target="ADD MIDI_INSTRUMENT_MAP">"ADD MIDI_INSTRUMENT_MAP"</xref></t>
9014                      <t><xref target="MAP MIDI_INSTRUMENT">"MAP MIDI_INSTRUMENT"</xref></t>                      <t><xref target="MAP MIDI_INSTRUMENT">"MAP MIDI_INSTRUMENT"</xref></t>
9015                      <t><xref target="SET MIDI_INSTRUMENT_MAP NAME">"SET MIDI_INSTRUMENT_MAP NAME"</xref></t>                      <t><xref target="SET MIDI_INSTRUMENT_MAP NAME">"SET MIDI_INSTRUMENT_MAP NAME"</xref></t>
9016                        <t><xref target="GET DB_INSTRUMENT_DIRECTORY INFO">"GET DB_INSTRUMENT_DIRECTORY INFO"</xref></t>
9017                      <t><xref target="SET DB_INSTRUMENT_DIRECTORY NAME">"SET DB_INSTRUMENT_DIRECTORY NAME"</xref></t>                      <t><xref target="SET DB_INSTRUMENT_DIRECTORY NAME">"SET DB_INSTRUMENT_DIRECTORY NAME"</xref></t>
9018                      <t><xref target="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"</xref></t>                      <t><xref target="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"</xref></t>
9019                        <t><xref target="FIND DB_INSTRUMENT_DIRECTORIES">"FIND DB_INSTRUMENT_DIRECTORIES"</xref></t>
9020                        <t><xref target="GET DB_INSTRUMENT INFO">"GET DB_INSTRUMENT INFO"</xref></t>
9021                      <t><xref target="SET DB_INSTRUMENT NAME">"SET DB_INSTRUMENT NAME"</xref></t>                      <t><xref target="SET DB_INSTRUMENT NAME">"SET DB_INSTRUMENT NAME"</xref></t>
9022                      <t><xref target="SET DB_INSTRUMENT DESCRIPTION">"SET DB_INSTRUMENT DESCRIPTION"</xref></t>                      <t><xref target="SET DB_INSTRUMENT DESCRIPTION">"SET DB_INSTRUMENT DESCRIPTION"</xref></t>
9023                      <t><xref target="FIND DB_INSTRUMENT_DIRECTORIES">"FIND DB_INSTRUMENT_DIRECTORIES"</xref></t>                      <t><xref target="FIND DB_INSTRUMENTS">"FIND DB_INSTRUMENTS"</xref></t>
9024                        <t><xref target="GET EFFECT INFO">"GET EFFECT INFO"</xref></t>
9025                        <t><xref target="GET EFFECT_INSTANCE INFO">"GET EFFECT_INSTANCE INFO"</xref></t>
9026                        <t><xref target="CREATE EFFECT_INSTANCE">"CREATE EFFECT_INSTANCE"</xref></t>
9027                  </list>                  </list>
9028                  Please note that these lists are manually maintained. If you                  Please note that these lists are manually maintained. If you
9029                  find a command that also supports escape sequences we forgot to                  find a command that also supports escape sequences we forgot to
# Line 6979  Schoenebeck'> Line 9133  Schoenebeck'>
9133                  of sampler channels.</t>                  of sampler channels.</t>
9134              </section>              </section>
9135    
9136                <section title="MIDI data on a sampler channel arrived" anchor="SUBSCRIBE CHANNEL_MIDI">
9137                    <t>Client may want to be notified when MIDI data arrive on sampler channels on
9138                    back-end side, by issuing the following command:</t>
9139                    <t>
9140                        <list>
9141                            <t>SUBSCRIBE CHANNEL_MIDI</t>
9142                        </list>
9143                    </t>
9144                    <t>Server will start sending one of the the following notification messages:</t>
9145                    <t>
9146                        <list>
9147                            <t>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"</t>
9148                            <t>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"</t>
9149                        </list>
9150                    </t>
9151                    <t>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
9152                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
9153                    0 .. 127, reflecting the analog meaning of the MIDI specification.
9154                    </t>
9155                    <t>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
9156                    delivered by this mechanism! With other words: events could be lost at any time!
9157                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
9158                    thread unaffected by this feature.</t>
9159                </section>
9160    
9161                <section title="MIDI data on a MIDI input device arrived" anchor="SUBSCRIBE DEVICE_MIDI">
9162                        <t>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:</t>
9163                        <t>
9164                                <list>
9165                                        <t>SUBSCRIBE DEVICE_MIDI</t>
9166                                </list>
9167                        </t>
9168                        <t>Server will start sending one of the the following notification messages:</t>
9169                        <t>
9170                                <list>
9171                                        <t>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"</t>
9172                                        <t>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"</t>
9173                                </list>
9174                        </t>
9175                        <t>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
9176                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
9177                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
9178                           0 .. 127, reflecting the analog meaning of the MIDI specification.
9179                        </t>
9180                        <t>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
9181                           delivered by this mechanism! With other words: events could be lost at any time!
9182                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
9183                           thread unaffected by this feature.</t>
9184                </section>
9185    
9186              <section title="Number of active voices changed" anchor="SUBSCRIBE VOICE_COUNT">              <section title="Number of active voices changed" anchor="SUBSCRIBE VOICE_COUNT">
9187                  <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
9188                  back-end changes by issuing the following command:</t>                  back-end changes by issuing the following command:</t>
# Line 7116  Schoenebeck'> Line 9320  Schoenebeck'>
9320                  all currently active voices.</t>                  all currently active voices.</t>
9321              </section>              </section>
9322    
9323                <section title="Total number of active disk streams changed" anchor="SUBSCRIBE TOTAL_STREAM_COUNT">
9324                    <t>Client may want to be notified when the total number of disk streams on the
9325                    back-end changes by issuing the following command:</t>
9326                    <t>
9327                        <list>
9328                            <t>SUBSCRIBE TOTAL_STREAM_COUNT</t>
9329                        </list>
9330                    </t>
9331                    <t>Server will start sending the following notification messages:</t>
9332                    <t>
9333                        <list>
9334                            <t>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"</t>
9335                        </list>
9336                    </t>
9337                    <t>where &lt;streams&gt; will be replaced by the new number of
9338                    all currently active disk streams.</t>
9339                </section>
9340    
9341              <section title="Number of MIDI instrument maps changed" anchor="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">              <section title="Number of MIDI instrument maps changed" anchor="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">
9342                  <t>Client may want to be notified when the number of MIDI instrument maps on the                  <t>Client may want to be notified when the number of MIDI instrument maps on the
9343                  back-end changes by issuing the following command:</t>                  back-end changes by issuing the following command:</t>
# Line 7214  Schoenebeck'> Line 9436  Schoenebeck'>
9436                          replaced by the optional dotted floating point value, reflecting the                          replaced by the optional dotted floating point value, reflecting the
9437                          new global volume parameter.</t>                          new global volume parameter.</t>
9438                      </list>                      </list>
9439                        <list>
9440                            <t>"NOTIFY:GLOBAL_INFO:VOICES &lt;max-voices&gt;" - Notifies that the
9441                            golbal limit of the sampler for maximum voices is changed, where
9442                            &lt;max-voices&gt; will be an integer value, reflecting the
9443                            new global voice limit parameter.</t>
9444                        </list>
9445                        <list>
9446                            <t>"NOTIFY:GLOBAL_INFO:STREAMS &lt;max-streams&gt;" - Notifies that the
9447                            golbal limit of the sampler for maximum disk streams is changed, where
9448                            &lt;max-streams&gt; will be an integer value, reflecting the
9449                            new global disk streams limit parameter.</t>
9450                        </list>
9451                  </t>                  </t>
9452              </section>              </section>
9453    
# Line 7343  Schoenebeck'> Line 9577  Schoenebeck'>
9577                  message is sufficient here.</t>                  message is sufficient here.</t>
9578              </section>              </section>
9579    
9580                <section title="Number of effect instances changed" anchor="SUBSCRIBE EFFECT_INSTANCE_COUNT">
9581                    <t>Client may want to be notified when the number of effect instances
9582                    is changed by issuing the following command:</t>
9583                    <t>
9584                        <list>
9585                            <t>SUBSCRIBE EFFECT_INSTANCE_COUNT</t>
9586                        </list>
9587                    </t>
9588                    <t>Server will start sending the following notification messages:</t>
9589                    <t>
9590                        <list>
9591                            <t>"EFFECT_INSTANCE_COUNT:&lt;instances&gt;"</t>
9592                        </list>
9593                    </t>
9594                    <t>where &lt;instances&gt; will be replaced by the new number
9595                    of effect instances.</t>
9596                </section>
9597    
9598                <section title="Effect instance information changed" anchor="SUBSCRIBE EFFECT_INSTANCE_INFO">
9599                    <t>Client may want to be notified when changes were made to effect instances
9600                    on the back-end by issuing the following command:</t>
9601                    <t>
9602                        <list>
9603                            <t>SUBSCRIBE EFFECT_INSTANCE_INFO</t>
9604                        </list>
9605                    </t>
9606                    <t>Server will start sending the following notification messages:</t>
9607                    <t>
9608                       <list>
9609                            <t>"EFFECT_INSTANCE_INFO:&lt;instance-id&gt;"</t>
9610                        </list>
9611                    </t>
9612                    <t>where &lt;instance-id&gt; will be replaced by the numerical ID
9613                    of the effect instance.</t>
9614                </section>
9615    
9616                <section title="Number of send effect chains changed" anchor="SUBSCRIBE SEND_EFFECT_CHAIN_COUNT">
9617                    <t>Client may want to be notified when the number of send effect chains
9618                    is changed by issuing the following command:</t>
9619                    <t>
9620                        <list>
9621                            <t>SUBSCRIBE SEND_EFFECT_CHAIN_COUNT</t>
9622                        </list>
9623                    </t>
9624                    <t>Server will start sending the following notification messages:</t>
9625                    <t>
9626                        <list>
9627                            <t>"NOTIFY:SEND_EFFECT_CHAIN_COUNT:&lt;device-id&gt; &lt;chains&gt;"</t>
9628                        </list>
9629                    </t>
9630                    <t>where &lt;device-id&gt; will be replaced by the numerical ID of the audio
9631                    output device, in which the number of send effect chains is changed and
9632                    &lt;chains&gt; will be replaced by the new number of send effect chains.</t>
9633                </section>
9634    
9635                <section title="Send effect chain information changed" anchor="SUBSCRIBE SEND_EFFECT_CHAIN_INFO">
9636                    <t>Client may want to be notified when changes were made to send effect chains
9637                    on the back-end by issuing the following command:</t>
9638                    <t>
9639                        <list>
9640                            <t>SUBSCRIBE SEND_EFFECT_CHAIN_INFO</t>
9641                        </list>
9642                    </t>
9643                    <t>Server will start sending the following notification messages:</t>
9644                    <t>
9645                       <list>
9646                            <t>"SEND_EFFECT_CHAIN_INFO:&lt;device-id&gt; &lt;chain-id&gt; &lt;instances&gt;" -
9647                            Notifies that the number of effect instances in a particular send effect chain
9648                            is changed, where &lt;device-id&gt; will be replaced by the numerical ID of the audio
9649                            output device the send effect chain belongs to, &lt;chain-id&gt; will be replaced
9650                            by the numerical ID of the send effect chain in which the number of effect instances
9651                            has changed and &lt;instances&gt; will be replaced by the new number
9652                            of effect instances in the specified send effect chain.</t>
9653                        </list>
9654                    </t>
9655                </section>
9656    
9657              <section title="Miscellaneous and debugging events" anchor="SUBSCRIBE MISCELLANEOUS">              <section title="Miscellaneous and debugging events" anchor="SUBSCRIBE MISCELLANEOUS">
9658                  <t>Client may want to be notified of miscellaneous and debugging events occurring at                  <t>Client may want to be notified of miscellaneous and debugging events occurring at
9659                  the server by issuing the following command:</t>                  the server by issuing the following command:</t>

Legend:
Removed from v.1389  
changed lines
  Added in v.2516

  ViewVC Help
Powered by ViewVC