/[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 2137 by schoenebeck, Mon Oct 4 12:20:23 2010 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.5">  <rfc category="std" ipr="full3978" docName="LSCP 1.6">
20      <front>      <front>
21          <title>LinuxSampler Control Protocol</title>          <title>LinuxSampler Control Protocol</title>
22          <author initials='C.S.' surname="Schoenebeck" fullname='C.          <author initials='C.S.' surname="Schoenebeck" fullname='C.
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="November" year="2009"/>          <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 2422  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 2468  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 2567  Schoenebeck'> Line 2577  Schoenebeck'>
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, "-1" 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>DEPRECATED: THIS FIELD WILL DISAPPEAR!</t>
2596                                              <t>port number of the MIDI input device (in case a                                              <t>port number of the MIDI input device (in case a
2597                                              MIDI device was already assigned to the sampler                                              MIDI device was already assigned to the sampler
2598                                              channel)</t>                                              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 2626  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 2803  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 2843  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 2890  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 2905  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 2933  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 2948  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 2976  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 2989  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 3018  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 3028  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 3057  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 3495  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 3512  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 3578  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 3621  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 4097  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 4749  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 6554  Schoenebeck'> Line 6958  Schoenebeck'>
6958                      </t>                      </t>
6959                  </section>                  </section>
6960              </section>              </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>          </section>
7980    
7981          <section title="Command Syntax" anchor="command_syntax">          <section title="Command Syntax" anchor="command_syntax">
# Line 6658  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
# Line 6738  Schoenebeck'> Line 8164  Schoenebeck'>
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 6794  Schoenebeck'> Line 8228  Schoenebeck'>
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 6818  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
# Line 6826  Schoenebeck'> Line 8274  Schoenebeck'>
8274                  </t>                  </t>
8275                  <t>/ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos                  <t>/ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos
8276                  </t>                  </t>
8277                  <t>/ FX_SEND SP SEND_EFFECT SP sampler_channel SP fx_send_id                  <t>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id
8278                  </t>                  </t>
8279                  <t>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path                  <t>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
8280                  </t>                  </t>
# Line 6972  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 SEND_EFFECT SP sampler_channel SP fx_send_id SP effect_chain SP chain_pos                  <t>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id SP effect_chain SP chain_pos
8424                  </t>                  </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>
# Line 6986  Schoenebeck'> Line 8434  Schoenebeck'>
8434                  </t>                  </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                  <t>/ VOICES SP number
# Line 7166  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                  <t>/ AVAILABLE_EFFECTS
# Line 7520  Schoenebeck'> Line 8974  Schoenebeck'>
8974                      <t><xref target="GET FILE INSTRUMENTS">"GET FILE INSTRUMENTS"</xref></t>                      <t><xref target="GET FILE INSTRUMENTS">"GET FILE INSTRUMENTS"</xref></t>
8975                      <t><xref target="LIST FILE INSTRUMENTS">"LIST FILE INSTRUMENTS"</xref></t>                      <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>                      <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 7564  Schoenebeck'> Line 9021  Schoenebeck'>
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_INSTRUMENTS">"FIND DB_INSTRUMENTS"</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 8117  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.2137  
changed lines
  Added in v.2516

  ViewVC Help
Powered by ViewVC