13 |
<?rfc iprnotified="no" ?> |
<?rfc iprnotified="no" ?> |
14 |
<?rfc strict="yes" ?> |
<?rfc strict="yes" ?> |
15 |
|
|
16 |
<rfc category="std" ipr="full2026" docName="LSCP 1.0"> |
<rfc category="std" ipr="full2026" docName="LSCP 1.1"> |
17 |
<front> |
<front> |
18 |
<title>LinuxSampler Control Protocol</title> |
<title>LinuxSampler Control Protocol</title> |
19 |
<author initials='C.S.' surname="Schoenebeck" fullname='C. |
<author initials='C.S.' surname="Schoenebeck" fullname='C. |
31 |
<email>schoenebeck at software minus engineering dot org</email> |
<email>schoenebeck at software minus engineering dot org</email> |
32 |
</address> |
</address> |
33 |
</author> |
</author> |
34 |
<date month="May" year="2005"/> |
<date month="September" year="2005"/> |
35 |
<workgroup>LinuxSampler Developers</workgroup> |
<workgroup>LinuxSampler Developers</workgroup> |
36 |
<keyword>LSCP</keyword> |
<keyword>LSCP</keyword> |
37 |
<abstract> |
<abstract> |
2556 |
1.0 means amplification)</t> |
1.0 means amplification)</t> |
2557 |
</list> |
</list> |
2558 |
</t> |
</t> |
2559 |
|
<t>MUTE - |
2560 |
|
<list> |
2561 |
|
<t>Determines whether the channel is muted, "true" if the |
2562 |
|
channel is muted, "false" if the channel is not muted, and |
2563 |
|
"MUTED_BY_SOLO" if the channel is muted because of the |
2564 |
|
presence of a solo channel and will be unmuted when |
2565 |
|
there are no solo channels left</t> |
2566 |
|
</list> |
2567 |
|
</t> |
2568 |
|
<t>SOLO - |
2569 |
|
<list> |
2570 |
|
<t>Determines whether this is a solo channel, "true" if |
2571 |
|
the channel is a solo channel; "false" otherwise</t> |
2572 |
|
</list> |
2573 |
|
</t> |
2574 |
</list> |
</list> |
2575 |
</t> |
</t> |
2576 |
</list> |
</list> |
3056 |
</t> |
</t> |
3057 |
</section> |
</section> |
3058 |
|
|
3059 |
|
<section title="Muting a sampler channel" anchor="SET CHANNEL MUTE"> |
3060 |
|
<t>The front-end can mute/unmute a specific sampler |
3061 |
|
channel by sending the following command:</t> |
3062 |
|
<t> |
3063 |
|
<list> |
3064 |
|
<t>SET CHANNEL MUTE <sampler-channel> <mute></t> |
3065 |
|
</list> |
3066 |
|
</t> |
3067 |
|
<t>Where <sampler-channel> is the respective sampler channel |
3068 |
|
number as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref> |
3069 |
|
or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command and |
3070 |
|
<mute> should be replaced either by "1" to mute the channel or "0" |
3071 |
|
to unmute the channel.</t> |
3072 |
|
|
3073 |
|
<t>Possible Answers:</t> |
3074 |
|
<t> |
3075 |
|
<list> |
3076 |
|
<t>"OK" - |
3077 |
|
<list> |
3078 |
|
<t>on success</t> |
3079 |
|
</list> |
3080 |
|
</t> |
3081 |
|
<t>"WRN:<warning-code>:<warning-message>" - |
3082 |
|
<list> |
3083 |
|
<t>if the channel was muted/unmuted, but there are noteworthy |
3084 |
|
issue(s) related, providing an appropriate warning code and |
3085 |
|
warning message</t> |
3086 |
|
</list> |
3087 |
|
</t> |
3088 |
|
<t>"ERR:<error-code>:<error-message>" - |
3089 |
|
<list> |
3090 |
|
<t>in case it failed, providing an appropriate error code and error message</t> |
3091 |
|
</list> |
3092 |
|
</t> |
3093 |
|
</list> |
3094 |
|
</t> |
3095 |
|
<t>Examples:</t> |
3096 |
|
<t> |
3097 |
|
<list> |
3098 |
|
<t></t> |
3099 |
|
</list> |
3100 |
|
</t> |
3101 |
|
</section> |
3102 |
|
|
3103 |
|
<section title="Soloing a sampler channel" anchor="SET CHANNEL SOLO"> |
3104 |
|
<t>The front-end can solo/unsolo a specific sampler channel |
3105 |
|
by sending the following command:</t> |
3106 |
|
<t> |
3107 |
|
<list> |
3108 |
|
<t>SET CHANNEL SOLO <sampler-channel> <solo></t> |
3109 |
|
</list> |
3110 |
|
</t> |
3111 |
|
<t>Where <sampler-channel> is the respective sampler channel |
3112 |
|
number as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref> |
3113 |
|
or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command and |
3114 |
|
<solo> should be replaced either by "1" to solo the channel or "0" |
3115 |
|
to unsolo the channel.</t> |
3116 |
|
|
3117 |
|
<t>Possible Answers:</t> |
3118 |
|
<t> |
3119 |
|
<list> |
3120 |
|
<t>"OK" - |
3121 |
|
<list> |
3122 |
|
<t>on success</t> |
3123 |
|
</list> |
3124 |
|
</t> |
3125 |
|
<t>"WRN:<warning-code>:<warning-message>" - |
3126 |
|
<list> |
3127 |
|
<t>if the channel was soloed/unsoloed, but there are noteworthy |
3128 |
|
issue(s) related, providing an appropriate warning code and |
3129 |
|
warning message</t> |
3130 |
|
</list> |
3131 |
|
</t> |
3132 |
|
<t>"ERR:<error-code>:<error-message>" - |
3133 |
|
<list> |
3134 |
|
<t>in case it failed, providing an appropriate error code and error message</t> |
3135 |
|
</list> |
3136 |
|
</t> |
3137 |
|
</list> |
3138 |
|
</t> |
3139 |
|
<t>Examples:</t> |
3140 |
|
<t> |
3141 |
|
<list> |
3142 |
|
<t></t> |
3143 |
|
</list> |
3144 |
|
</t> |
3145 |
|
</section> |
3146 |
|
|
3147 |
<section title="Resetting a sampler channel" anchor="RESET CHANNEL"> |
<section title="Resetting a sampler channel" anchor="RESET CHANNEL"> |
3148 |
<t>The front-end can reset a particular sampler channel by sending the following command:</t> |
<t>The front-end can reset a particular sampler channel by sending the following command:</t> |
3149 |
<t> |
<t> |
3329 |
<section title="Global commands"> |
<section title="Global commands"> |
3330 |
<t>The following commands have global impact on the sampler.</t> |
<t>The following commands have global impact on the sampler.</t> |
3331 |
|
|
3332 |
|
<section title="Current number of active voices" anchor="GET TOTAL_VOICE_COUNT"> |
3333 |
|
<t>The front-end can ask for the current number of active voices on |
3334 |
|
the sampler by sending the following command:</t> |
3335 |
|
<t> |
3336 |
|
<list> |
3337 |
|
<t>GET TOTAL_VOICE_COUNT</t> |
3338 |
|
</list> |
3339 |
|
</t> |
3340 |
|
|
3341 |
|
<t>Possible Answers:</t> |
3342 |
|
<t> |
3343 |
|
<list> |
3344 |
|
<t>LinuxSampler will answer by returning the number of all active |
3345 |
|
voices on the sampler.</t> |
3346 |
|
</list> |
3347 |
|
</t> |
3348 |
|
</section> |
3349 |
|
|
3350 |
|
<section title="Maximum amount of active voices" anchor="GET TOTAL_VOICE_COUNT_MAX"> |
3351 |
|
<t>The front-end can ask for the maximum number of active voices |
3352 |
|
by sending the following command:</t> |
3353 |
|
<t> |
3354 |
|
<list> |
3355 |
|
<t>GET TOTAL_VOICE_COUNT_MAX</t> |
3356 |
|
</list> |
3357 |
|
</t> |
3358 |
|
|
3359 |
|
<t>Possible Answers:</t> |
3360 |
|
<t> |
3361 |
|
<list> |
3362 |
|
<t>LinuxSampler will answer by returning the maximum number |
3363 |
|
of active voices.</t> |
3364 |
|
</list> |
3365 |
|
</t> |
3366 |
|
</section> |
3367 |
|
|
3368 |
<section title="Reset sampler" anchor="RESET"> |
<section title="Reset sampler" anchor="RESET"> |
3369 |
<t>The front-end can reset the whole sampler by sending the following command:</t> |
<t>The front-end can reset the whole sampler by sending the following command:</t> |
3370 |
<t> |
<t> |
3528 |
</t> |
</t> |
3529 |
<t>/ MISCELLANEOUS |
<t>/ MISCELLANEOUS |
3530 |
</t> |
</t> |
3531 |
|
<t>/ TOTAL_VOICE_COUNT |
3532 |
|
</t> |
3533 |
</list> |
</list> |
3534 |
</t> |
</t> |
3535 |
<t>unsubscribe_event = |
<t>unsubscribe_event = |
3546 |
</t> |
</t> |
3547 |
<t>/ MISCELLANEOUS |
<t>/ MISCELLANEOUS |
3548 |
</t> |
</t> |
3549 |
|
<t>/ TOTAL_VOICE_COUNT |
3550 |
|
</t> |
3551 |
</list> |
</list> |
3552 |
</t> |
</t> |
3553 |
<t>get_instruction = |
<t>get_instruction = |
3600 |
</t> |
</t> |
3601 |
<t>/ SERVER SP INFO |
<t>/ SERVER SP INFO |
3602 |
</t> |
</t> |
3603 |
|
<t>/ TOTAL_VOICE_COUNT |
3604 |
|
</t> |
3605 |
|
<t>/ TOTAL_VOICE_COUNT_MAX |
3606 |
|
</t> |
3607 |
</list> |
</list> |
3608 |
</t> |
</t> |
3609 |
<t>set_instruction = |
<t>set_instruction = |
3670 |
</t> |
</t> |
3671 |
<t>/ VOLUME SP sampler_channel SP volume_value |
<t>/ VOLUME SP sampler_channel SP volume_value |
3672 |
</t> |
</t> |
3673 |
|
<t>/ MUTE SP sampler_channel SP boolean |
3674 |
|
</t> |
3675 |
|
<t>/ SOLO SP sampler_channel SP boolean |
3676 |
|
</t> |
3677 |
</list> |
</list> |
3678 |
</t> |
</t> |
3679 |
<t>key_val_list = |
<t>key_val_list = |
3920 |
message is sufficient here.</t> |
message is sufficient here.</t> |
3921 |
</section> |
</section> |
3922 |
|
|
3923 |
|
<section title="Total number of active voices changed" anchor="SUBSCRIBE TOTAL_VOICE_COUNT"> |
3924 |
|
<t>Client may want to be notified when the total number of voices on the |
3925 |
|
back-end changes by issuing the following command:</t> |
3926 |
|
<t> |
3927 |
|
<list> |
3928 |
|
<t>SUBSCRIBE TOTAL_VOICE_COUNT</t> |
3929 |
|
</list> |
3930 |
|
</t> |
3931 |
|
<t>Server will start sending the following notification messages:</t> |
3932 |
|
<t> |
3933 |
|
<list> |
3934 |
|
<t>"NOTIFY:TOTAL_VOICE_COUNT:<voices></t> |
3935 |
|
</list> |
3936 |
|
</t> |
3937 |
|
<t>where <voices> will be replaced by the new number of |
3938 |
|
all currently active voices.</t> |
3939 |
|
</section> |
3940 |
|
|
3941 |
<section title="Miscellaneous and debugging events" anchor="SUBSCRIBE MISCELLANEOUS"> |
<section title="Miscellaneous and debugging events" anchor="SUBSCRIBE MISCELLANEOUS"> |
3942 |
<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 |
3943 |
the server by issuing the following command:</t> |
the server by issuing the following command:</t> |