/[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 571 by schoenebeck, Mon May 23 17:41:34 2005 UTC revision 706 by iliev, Thu Jul 21 08:34:46 2005 UTC
# Line 13  Line 13 
13  <?rfc iprnotified="no" ?>  <?rfc iprnotified="no" ?>
14  <?rfc strict="yes" ?>  <?rfc strict="yes" ?>
15    
16  <rfc category="std" ipr="full2026" docName="lscp.txt">  <rfc category="std" ipr="full2026" docName="LSCP 1.1">
17      <front>      <front>
18          <title>LinuxSampler Control Protocol</title>          <title>LinuxSampler Control Protocol</title>
19          <author initials='C.S.' surname="Schoenebeck" fullname='C.          <author initials='C.S.' surname="Schoenebeck" fullname='C.
# Line 130  Schoenebeck'> Line 130  Schoenebeck'>
130              group of backward compatible versions. That means a frontend is              group of backward compatible versions. That means a frontend is
131              compatible to the connected sampler if and only if the LSCP versions              compatible to the connected sampler if and only if the LSCP versions
132              to which each of the two parties complies to, match both of the              to which each of the two parties complies to, match both of the
133              following rule:              following rules:
134              </t>              </t>
135              <t>Compatibility:</t>              <t>Compatibility:</t>
136              <t>              <t>
# Line 463  Schoenebeck'> Line 463  Schoenebeck'>
463              </section>              </section>
464          </section>          </section>
465    
466          <section title="Description for control commands">          <section title="Description for control commands" anchor="control_commands">
467              <t>This chapter will describe the available control commands              <t>This chapter will describe the available control commands
468              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
469              commands (e.g. <xref target="GET CHANNEL INFO">"GET CHANNEL INFO"</xref>              commands (e.g. <xref target="GET CHANNEL INFO">"GET CHANNEL INFO"</xref>
# Line 2556  Schoenebeck'> Line 2556  Schoenebeck'>
2556                                              1.0 means amplification)</t>                                              1.0 means amplification)</t>
2557                                          </list>                                          </list>
2558                                      </t>                                      </t>
2559                                        <t>MUTE -
2560                                            <list>
2561                                                <t>Determines whether the channel is muted, "true" if the
2562                                                channel is muted, "false" if the channel is not muted, and
2563                                                "MUTED_BY_SOLO" if the channel is muted because of the
2564                                                presence of a solo channel and will be unmuted when
2565                                                there are no solo channels left</t>
2566                                            </list>
2567                                        </t>
2568                                        <t>SOLO -
2569                                            <list>
2570                                                <t>Determines whether this is a solo channel, "true" if
2571                                                the channel is a solo channel; "false" otherwise</t>
2572                                            </list>
2573                                        </t>
2574                                  </list>                                  </list>
2575                              </t>                              </t>
2576                          </list>                          </list>
# Line 3041  Schoenebeck'> Line 3056  Schoenebeck'>
3056                      </t>                      </t>
3057                  </section>                  </section>
3058    
3059                    <section title="Muting a sampler channel" anchor="SET CHANNEL MUTE">
3060                        <t>The front-end can mute/unmute a specific sampler
3061                        channel by sending the following command:</t>
3062                        <t>
3063                            <list>
3064                                <t>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;</t>
3065                            </list>
3066                        </t>
3067                        <t>Where &lt;sampler-channel&gt; is the respective sampler channel
3068                        number as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
3069                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command and
3070                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
3071                        to unmute the channel.</t>
3072    
3073                        <t>Possible Answers:</t>
3074                        <t>
3075                            <list>
3076                                <t>"OK" -
3077                                    <list>
3078                                        <t>on success</t>
3079                                    </list>
3080                                </t>
3081                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3082                                    <list>
3083                                        <t>if the channel was muted/unmuted, but there are noteworthy
3084                                        issue(s) related, providing an appropriate warning code and
3085                                        warning message</t>
3086                                    </list>
3087                                </t>
3088                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3089                                    <list>
3090                                        <t>in case it failed, providing an appropriate error code and error message</t>
3091                                    </list>
3092                                </t>
3093                            </list>
3094                        </t>
3095                        <t>Examples:</t>
3096                        <t>
3097                            <list>
3098                                <t></t>
3099                            </list>
3100                        </t>
3101                    </section>
3102    
3103                    <section title="Soloing a sampler channel" anchor="SET CHANNEL SOLO">
3104                        <t>The front-end can solo/unsolo a specific sampler channel
3105                        by sending the following command:</t>
3106                        <t>
3107                            <list>
3108                                <t>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;</t>
3109                            </list>
3110                        </t>
3111                        <t>Where &lt;sampler-channel&gt; is the respective sampler channel
3112                        number as returned by the <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
3113                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref> command and
3114                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
3115                        to unsolo the channel.</t>
3116    
3117                        <t>Possible Answers:</t>
3118                        <t>
3119                            <list>
3120                                <t>"OK" -
3121                                    <list>
3122                                        <t>on success</t>
3123                                    </list>
3124                                </t>
3125                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3126                                    <list>
3127                                        <t>if the channel was soloed/unsoloed, but there are noteworthy
3128                                        issue(s) related, providing an appropriate warning code and
3129                                        warning message</t>
3130                                    </list>
3131                                </t>
3132                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3133                                    <list>
3134                                        <t>in case it failed, providing an appropriate error code and error message</t>
3135                                    </list>
3136                                </t>
3137                            </list>
3138                        </t>
3139                        <t>Examples:</t>
3140                        <t>
3141                            <list>
3142                                <t></t>
3143                            </list>
3144                        </t>
3145                    </section>
3146    
3147                  <section title="Resetting a sampler channel" anchor="RESET CHANNEL">                  <section title="Resetting a sampler channel" anchor="RESET CHANNEL">
3148                      <t>The front-end can reset a particular sampler channel by sending the following command:</t>                      <t>The front-end can reset a particular sampler channel by sending the following command:</t>
3149                      <t>                      <t>
# Line 3264  Schoenebeck'> Line 3367  Schoenebeck'>
3367                      <t>                      <t>
3368                          <list>                          <list>
3369                              <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.                              <t>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3370                                 Each answer line begins with the settings category name                                 Each answer line begins with the information category name
3371                                 followed by a colon and then a space character &lt;SP&gt; and finally                                 followed by a colon and then a space character &lt;SP&gt; and finally
3372                                 the info character string to that information category. At the                                 the info character string to that information category. At the
3373                                 moment the following categories are defined:                                 moment the following categories are defined:
# Line 3298  Schoenebeck'> Line 3401  Schoenebeck'>
3401          </section>          </section>
3402    
3403          <section title="Command Syntax" anchor="command_syntax">          <section title="Command Syntax" anchor="command_syntax">
3404              <t>TODO: will soon automatically included from src/network/lscp.y,              <t>The grammar of the control protocol as descibed in <xref target="control_commands"/>
3405              meanwhile have a look at that file to get the exact definition of              is defined below using Backus-Naur Form (BNF as described in <xref target="RFC2234"/>)
3406              the command syntax.</t>              where applicable.
3407                </t>
3408                <!--
3409                    This section is automatically generated by scripts/update_grammar.pl
3410                    from src/network/lscp.y (yacc input file). Do not modify this section
3411                    manually !
3412                -->
3413                <!-- GRAMMAR_BNF_BEGIN - do NOT delete or modify this line !!! -->
3414    
3415    <t>input =
3416            <list>
3417                    <t>line LF
3418                    </t>
3419                    <t>/ line CR LF
3420                    </t>
3421            </list>
3422    </t>
3423    <t>line =
3424            <list>
3425                    <t>/* epsilon (empty line ignored) */
3426                    </t>
3427                    <t>/ comment  
3428                    </t>
3429                    <t>/ command  
3430                    </t>
3431                    <t>/ error    
3432                    </t>
3433            </list>
3434    </t>
3435    <t>comment =
3436            <list>
3437                    <t>'#'
3438                    </t>
3439                    <t>/ comment '#'
3440                    </t>
3441                    <t>/ comment SP
3442                    </t>
3443                    <t>/ comment number
3444                    </t>
3445                    <t>/ comment string
3446                    </t>
3447            </list>
3448    </t>
3449    <t>command =
3450            <list>
3451                    <t>ADD SP CHANNEL                        
3452                    </t>
3453                    <t>/ GET SP get_instruction                
3454                    </t>
3455                    <t>/ CREATE SP create_instruction          
3456                    </t>
3457                    <t>/ DESTROY SP destroy_instruction        
3458                    </t>
3459                    <t>/ LIST SP list_instruction              
3460                    </t>
3461                    <t>/ LOAD SP load_instruction              
3462                    </t>
3463                    <t>/ REMOVE SP CHANNEL SP sampler_channel  
3464                    </t>
3465                    <t>/ SET SP set_instruction                
3466                    </t>
3467                    <t>/ SUBSCRIBE SP subscribe_event          
3468                    </t>
3469                    <t>/ UNSUBSCRIBE SP unsubscribe_event      
3470                    </t>
3471                    <t>/ SELECT SP text                        
3472                    </t>
3473                    <t>/ RESET SP CHANNEL SP sampler_channel  
3474                    </t>
3475                    <t>/ RESET                                
3476                    </t>
3477                    <t>/ QUIT                                  
3478                    </t>
3479            </list>
3480    </t>
3481    <t>subscribe_event =
3482            <list>
3483                    <t>CHANNEL_COUNT                        
3484                    </t>
3485                    <t>/ VOICE_COUNT                          
3486                    </t>
3487                    <t>/ STREAM_COUNT                          
3488                    </t>
3489                    <t>/ BUFFER_FILL                          
3490                    </t>
3491                    <t>/ CHANNEL_INFO                          
3492                    </t>
3493                    <t>/ MISCELLANEOUS                        
3494                    </t>
3495            </list>
3496    </t>
3497    <t>unsubscribe_event =
3498            <list>
3499                    <t>CHANNEL_COUNT                        
3500                    </t>
3501                    <t>/ VOICE_COUNT                          
3502                    </t>
3503                    <t>/ STREAM_COUNT                          
3504                    </t>
3505                    <t>/ BUFFER_FILL                          
3506                    </t>
3507                    <t>/ CHANNEL_INFO                          
3508                    </t>
3509                    <t>/ MISCELLANEOUS                        
3510                    </t>
3511            </list>
3512    </t>
3513    <t>get_instruction =
3514            <list>
3515                    <t>AVAILABLE_ENGINES                                                          
3516                    </t>
3517                    <t>/ AVAILABLE_MIDI_INPUT_DRIVERS                                              
3518                    </t>
3519                    <t>/ MIDI_INPUT_DRIVER SP INFO SP string                                        
3520                    </t>
3521                    <t>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string                    
3522                    </t>
3523                    <t>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list    
3524                    </t>
3525                    <t>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS                                            
3526                    </t>
3527                    <t>/ AUDIO_OUTPUT_DRIVER SP INFO SP string                                      
3528                    </t>
3529                    <t>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string                  
3530                    </t>
3531                    <t>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list  
3532                    </t>
3533                    <t>/ AUDIO_OUTPUT_DEVICES                                                      
3534                    </t>
3535                    <t>/ MIDI_INPUT_DEVICES                                                        
3536                    </t>
3537                    <t>/ AUDIO_OUTPUT_DEVICE SP INFO SP number                                      
3538                    </t>
3539                    <t>/ MIDI_INPUT_DEVICE SP INFO SP number                                        
3540                    </t>
3541                    <t>/ MIDI_INPUT_PORT SP INFO SP number SP number                                
3542                    </t>
3543                    <t>/ MIDI_INPUT_PORT_PARAMETER SP INFO SP number SP number SP string            
3544                    </t>
3545                    <t>/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number                          
3546                    </t>
3547                    <t>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string      
3548                    </t>
3549                    <t>/ CHANNELS                                                                  
3550                    </t>
3551                    <t>/ CHANNEL SP INFO SP sampler_channel                                        
3552                    </t>
3553                    <t>/ CHANNEL SP BUFFER_FILL SP buffer_size_type SP sampler_channel              
3554                    </t>
3555                    <t>/ CHANNEL SP STREAM_COUNT SP sampler_channel                                
3556                    </t>
3557                    <t>/ CHANNEL SP VOICE_COUNT SP sampler_channel                                  
3558                    </t>
3559                    <t>/ ENGINE SP INFO SP engine_name                                              
3560                    </t>
3561                    <t>/ SERVER SP INFO                                                            
3562                    </t>
3563            </list>
3564    </t>
3565    <t>set_instruction =
3566            <list>
3567                    <t>AUDIO_OUTPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list            
3568                    </t>
3569                    <t>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP number SP number SP string '=' param_val_list  
3570                    </t>
3571                    <t>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list              
3572                    </t>
3573                    <t>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list      
3574                    </t>
3575                    <t>/ CHANNEL SP set_chan_instruction                                                  
3576                    </t>
3577                    <t>/ ECHO SP boolean                                                                  
3578                    </t>
3579            </list>
3580    </t>
3581    <t>create_instruction =
3582            <list>
3583                    <t>AUDIO_OUTPUT_DEVICE SP string SP key_val_list  
3584                    </t>
3585                    <t>/ AUDIO_OUTPUT_DEVICE SP string                  
3586                    </t>
3587                    <t>/ MIDI_INPUT_DEVICE SP string SP key_val_list    
3588                    </t>
3589                    <t>/ MIDI_INPUT_DEVICE SP string                    
3590                    </t>
3591            </list>
3592    </t>
3593    <t>destroy_instruction =
3594            <list>
3595                    <t>AUDIO_OUTPUT_DEVICE SP number  
3596                    </t>
3597                    <t>/ MIDI_INPUT_DEVICE SP number    
3598                    </t>
3599            </list>
3600    </t>
3601    <t>load_instruction =
3602            <list>
3603                    <t>INSTRUMENT SP load_instr_args  
3604                    </t>
3605                    <t>/ ENGINE SP load_engine_args    
3606                    </t>
3607            </list>
3608    </t>
3609    <t>set_chan_instruction =
3610            <list>
3611                    <t>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index                                              
3612                    </t>
3613                    <t>/ AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index SP audio_channel_index              
3614                    </t>
3615                    <t>/ AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name                                      
3616                    </t>
3617                    <t>/ MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index  
3618                    </t>
3619                    <t>/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index                                                
3620                    </t>
3621                    <t>/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index                                        
3622                    </t>
3623                    <t>/ MIDI_INPUT_CHANNEL SP sampler_channel SP midi_input_channel_index                                  
3624                    </t>
3625                    <t>/ MIDI_INPUT_TYPE SP sampler_channel SP midi_input_type_name                                          
3626                    </t>
3627                    <t>/ VOLUME SP sampler_channel SP volume_value                                                          
3628                    </t>
3629                    <t>/ MUTE SP sampler_channel SP boolean                                                                  
3630                    </t>
3631                    <t>/ SOLO SP sampler_channel SP boolean                                                                  
3632                    </t>
3633            </list>
3634    </t>
3635    <t>key_val_list =
3636            <list>
3637                    <t>string '=' param_val_list                  
3638                    </t>
3639                    <t>/ key_val_list SP string '=' param_val_list  
3640                    </t>
3641            </list>
3642    </t>
3643    <t>buffer_size_type =
3644            <list>
3645                    <t>BYTES      
3646                    </t>
3647                    <t>/ PERCENTAGE  
3648                    </t>
3649            </list>
3650    </t>
3651    <t>list_instruction =
3652            <list>
3653                    <t>AUDIO_OUTPUT_DEVICES            
3654                    </t>
3655                    <t>/ MIDI_INPUT_DEVICES              
3656                    </t>
3657                    <t>/ CHANNELS                        
3658                    </t>
3659                    <t>/ AVAILABLE_ENGINES              
3660                    </t>
3661                    <t>/ AVAILABLE_MIDI_INPUT_DRIVERS    
3662                    </t>
3663                    <t>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  
3664                    </t>
3665            </list>
3666    </t>
3667    <t>load_instr_args =
3668            <list>
3669                    <t>filename SP instrument_index SP sampler_channel              
3670                    </t>
3671                    <t>/ NON_MODAL SP filename SP instrument_index SP sampler_channel  
3672                    </t>
3673            </list>
3674    </t>
3675    <t>load_engine_args =
3676            <list>
3677                    <t>engine_name SP sampler_channel  
3678                    </t>
3679            </list>
3680    </t>
3681    <t>device_index =
3682            <list>
3683                    <t>number
3684                    </t>
3685            </list>
3686    </t>
3687    <t>audio_channel_index =
3688            <list>
3689                    <t>number
3690                    </t>
3691            </list>
3692    </t>
3693    <t>audio_output_type_name =
3694            <list>
3695                    <t>string
3696                    </t>
3697            </list>
3698    </t>
3699    <t>midi_input_port_index =
3700            <list>
3701                    <t>number
3702                    </t>
3703            </list>
3704    </t>
3705    <t>midi_input_channel_index =
3706            <list>
3707                    <t>number
3708                    </t>
3709                    <t>/ ALL  
3710                    </t>
3711            </list>
3712    </t>
3713    <t>midi_input_type_name =
3714            <list>
3715                    <t>string
3716                    </t>
3717            </list>
3718    </t>
3719    <t>volume_value =
3720            <list>
3721                    <t>dotnum
3722                    </t>
3723                    <t>/ number  
3724                    </t>
3725            </list>
3726    </t>
3727    <t>sampler_channel =
3728            <list>
3729                    <t>number
3730                    </t>
3731            </list>
3732    </t>
3733    <t>instrument_index =
3734            <list>
3735                    <t>number
3736                    </t>
3737            </list>
3738    </t>
3739    <t>engine_name =
3740            <list>
3741                    <t>string
3742                    </t>
3743            </list>
3744    </t>
3745    <t>filename =
3746            <list>
3747                    <t>stringval
3748                    </t>
3749            </list>
3750    </t>
3751    <t>param_val_list =
3752            <list>
3753                    <t>param_val
3754                    </t>
3755                    <t>/ param_val_list','param_val  
3756                    </t>
3757            </list>
3758    </t>
3759    <t>param_val =
3760            <list>
3761                    <t>string
3762                    </t>
3763                    <t>/ '\'' string '\''    
3764                    </t>
3765                    <t>/ '\"' string '\"'    
3766                    </t>
3767                    <t>/ number            
3768                    </t>
3769                    <t>/ dotnum            
3770                    </t>
3771            </list>
3772    </t>
3773    
3774                <!-- GRAMMAR_BNF_END - do NOT delete or modify this line !!! -->
3775          </section>          </section>
3776    
3777          <section title="Events" anchor="events">          <section title="Events" anchor="events">
# Line 3459  Schoenebeck'> Line 3930  Schoenebeck'>
3930                      <date year="1997"></date>                      <date year="1997"></date>
3931                  </front>                  </front>
3932                  <seriesInfo name="RFC" value="2119" />                  <seriesInfo name="RFC" value="2119" />
                 <seriesInfo name="STD" value="1" />  
3933              </reference>              </reference>
3934              <reference anchor="RFC793">              <reference anchor="RFC793">
3935                  <front>                  <front>
# Line 3470  Schoenebeck'> Line 3940  Schoenebeck'>
3940                      <date year="1981"></date>                      <date year="1981"></date>
3941                  </front>                  </front>
3942                  <seriesInfo name="RFC" value="793" />                  <seriesInfo name="RFC" value="793" />
3943                  <seriesInfo name="STD" value="1" />              </reference>
3944                <reference anchor="RFC2234">
3945                    <front>
3946                        <title>Augmented BNF for Syntax Specifications</title>
3947                        <author initials="D.H." surname="Crocker" fullname="David H. Crocker">
3948                            <organization>Internet Mail Consortium</organization>
3949                        </author>
3950                        <author initials="P." surname="Overell" fullname="Paul Overell">
3951                            <organization>Demon Internet Ltd</organization>
3952                        </author>
3953                        <date year="1997"></date>
3954                    </front>
3955                    <seriesInfo name="RFC" value="2234" />
3956              </reference>              </reference>
3957           </references>           </references>
3958      </back>      </back>

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

  ViewVC Help
Powered by ViewVC