--- web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html 2006/12/15 21:46:48 974 +++ web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html 2007/01/14 17:33:03 1028 @@ -145,7 +145,7 @@ LinuxSampler DevelopersC. Schoenebeck Internet-DraftInteressengemeinschaft Software Intended status: Standards TrackEngineering e. V. -Expires: June 18, 2007December 15, 2006 +Expires: July 18, 2007January 14, 2007


LinuxSampler Control Protocol
LSCP 1.2

@@ -173,11 +173,11 @@ The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

-This Internet-Draft will expire on June 18, 2007.

+This Internet-Draft will expire on July 18, 2007.

Copyright Notice

-Copyright © The Internet Society (2006).

+Copyright © The Internet Society (2007).

Abstract

@@ -318,7 +318,23 @@ Soloing a sampler channel
        6.4.24.  Assigning a MIDI instrument map to a sampler channel
-        6.4.25.  +        6.4.25.  +Adding an effect send to a sampler channel
+        6.4.26.  +Removing an effect send from a sampler channel
+        6.4.27.  +Getting amount of effect sends on a sampler channel
+        6.4.28.  +Listing all effect sends on a sampler channel
+        6.4.29.  +Getting effect send information
+        6.4.30.  +Altering effect send's audio routing
+        6.4.31.  +Altering effect send's MIDI controller
+        6.4.32.  +Altering effect send's send level
+        6.4.33.  Resetting a sampler channel
    6.5.  Controlling connection
@@ -340,6 +356,10 @@ Reset sampler
        6.6.4.  General sampler informations
+        6.6.5.  +Getting global volume attenuation
+        6.6.6.  +Setting global volume attenuation
    6.7.  MIDI Instrument Mapping
        6.7.1.  @@ -370,19 +390,35 @@ Command Syntax
8.  Events
-    8.1.  +    8.1.  +Number of audio output devices changed
+    8.2.  +Audio output device's settings changed
+    8.3.  +Number of MIDI input devices changed
+    8.4.  +MIDI input device's settings changed
+    8.5.  Number of sampler channels changed
-    8.2.  +    8.6.  Number of active voices changed
-    8.3.  +    8.7.  Number of active disk streams changed
-    8.4.  +    8.8.  Disk stream buffer fill state changed
-    8.5.  +    8.9.  Channel information changed
-    8.6.  +    8.10.  Total number of active voices changed
-    8.7.  +    8.11.  +Number of MIDI instrument maps changed
+    8.12.  +MIDI instrument map information changed
+    8.13.  +Number of MIDI instruments changed
+    8.14.  +MIDI instrument information changed
+    8.15.  Miscellaneous and debugging events
9.  Security Considerations
@@ -3926,7 +3962,7 @@

optionally dotted number for the channel volume factor - (where a value < 1.0 means attenuation and a value > + (where a value < 1.0 means attenuation and a value > 1.0 means amplification)

@@ -4933,9 +4969,593 @@

-

+

 TOC 

6.4.25.  +Adding an effect send to a sampler channel

+ +

The front-end can create an additional effect send on a specific sampler channel + by sending the following command: +

+

+

+
+

CREATE FX_SEND <sampler-channel> <midi-ctrl> [<name>] +

+

+ +

+

Where <sampler-channel> is the respective sampler channel + number as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command, that is the + sampler channel on which the effect send should be created on, <midi-ctrl> + is a number between 0..127 defining the MIDI controller which can alter the + effect send level and <name> is an optional argument defining a name + for the effect send entity. The name does not have to be unique. +

+

By default, that is as initial routing, the effect send's audio channels + are automatically routed to the last audio channels of the sampler channel's + audio output device, that way you can i.e. first increase the amount of audio + channels on the audio output device for having dedicated effect send output + channels and when "CREATE FX_SEND" is called, those channels will automatically + be picked. You can alter the destination channels however with + "SET FX_SEND AUDIO_OUTPUT_CHANNEL" (Altering effect send's audio routing). + +

+

Note: Create effect sends on a sampler channel only when needed, because having effect + sends on a sampler channel will decrease runtime performance, because for implementing channel + effect sends, separate (sampler channel local) audio buffers are needed to render and mix + the voices and route the audio signal afterwards to the master outputs and effect send + outputs (along with their respective effect send levels). A sampler channel without effect + sends however can mix its voices directly into the audio output devices's audio buffers + and is thus faster. + +

+

Possible Answers: +

+

+

+
+

"OK[<fx-send-id>]" - +

+
+

in case a new effect send could be added to the + sampler channel, where <fx-send-id> reflects the + unique ID of the newly created effect send entity +

+
+ + +

"ERR:<error-code>:<error-message>" - +

+
+

when a new effect send could not be added, i.e. + due to invalid parameters +

+
+ + +

+ +

+

Examples: +

+

+

+
+

C: "CREATE FX_SEND 0 91 'Reverb Send'" +

+

S: "OK[0]" +

+

+ +

+

+

+
+

C: "CREATE FX_SEND 0 93" +

+

S: "OK[1]" +

+

+ +

+

+
 TOC 
+

6.4.26.  +Removing an effect send from a sampler channel

+ +

The front-end can remove an existing effect send on a specific sampler channel + by sending the following command: +

+

+

+
+

DESTROY FX_SEND <sampler-channel> <fx-send-id> +

+

+ +

+

Where <sampler-channel> is the respective sampler channel + number as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command, that is the + sampler channel from which the effect send should be removed from and + <fx-send-id> is the respective effect send number as returned by the + "CREATE FX_SEND" (Adding an effect send to a sampler channel) + or "LIST FX_SENDS" (Listing all effect sends on a sampler channel) command. +

+

Possible Answers: +

+

+

+
+

"OK" - +

+
+

on success +

+
+ + +

"ERR:<error-code>:<error-message>" - +

+
+

in case it failed, providing an appropriate error code and + error message +

+
+ + +

+ +

+

Example: +

+

+

+
+

C: "DESTROY FX_SEND 0 0" +

+

S: "OK" +

+

+ +

+

+
 TOC 
+

6.4.27.  +Getting amount of effect sends on a sampler channel

+ +

The front-end can ask for the amount of effect sends on a specific sampler channel + by sending the following command: +

+

+

+
+

GET FX_SENDS <sampler-channel> +

+

+ +

+

Where <sampler-channel> is the respective sampler channel + number as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command. +

+

Possible Answers: +

+

+

+
+

The sampler will answer by returning the number of effect + sends on the given sampler channel. +

+

+ +

+

Example: +

+

+

+
+

C: "GET FX_SENDS 0" +

+

S: "2" +

+

+ +

+

+
 TOC 
+

6.4.28.  +Listing all effect sends on a sampler channel

+ +

The front-end can ask for a list of effect sends on a specific sampler channel + by sending the following command: +

+

+

+
+

LIST FX_SENDS <sampler-channel> +

+

+ +

+

Where <sampler-channel> is the respective sampler channel + number as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command. +

+

Possible Answers: +

+

+

+
+

The sampler will answer by returning a comma separated list + with all effect sends' numerical IDs on the given sampler + channel. +

+

+ +

+

Examples: +

+

+

+
+

C: "LIST FX_SENDS 0" +

+

S: "0,1" +

+

+ +

+

+

+
+

C: "LIST FX_SENDS 1" +

+

S: "" +

+

+ +

+

+
 TOC 
+

6.4.29.  +Getting effect send information

+ +

The front-end can ask for the current settings of an effect send entity + by sending the following command: +

+

+

+
+

GET FX_SEND INFO <sampler-channel> <fx-send-id> +

+

+ +

+

Where <sampler-channel> is the sampler channel number + as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command and + <fx-send-id> reflects the numerical ID of the effect send entity + as returned by the "CREATE FX_SEND" (Adding an effect send to a sampler channel) + or "LIST FX_SENDS" (Listing all effect sends on a sampler channel) command. + +

+

Possible Answers: +

+

+

+
+

The sampler will answer by sending a <CRLF> separated list. + Each answer line begins with the settings category name + followed by a colon and then a space character <SP> and finally + the info character string to that setting category. At the + moment the following categories are defined: +

+

+

+
+

NAME - +

+
+

name of the effect send entity +

+
+ + +

MIDI_CONTROLLER - +

+
+

a value between 0 and 127 reflecting the MIDI controller + which is able to modify the effect send's send level +

+
+ + +

LEVEL - +

+
+

optionally dotted number reflecting the effect send's + current send level (where a value < 1.0 means attenuation + and a value > 1.0 means amplification) +

+
+ + +

AUDIO_OUTPUT_ROUTING - +

+
+

comma separated list which reflects to which audio + channel of the selected audio output device each + effect send output channel is routed to, e.g. "0,3" would + mean the effect send's output channel 0 is routed to channel + 0 of the audio output device and the effect send's output + channel 1 is routed to the channel 3 of the audio + output device (see + "SET FX_SEND AUDIO_OUTPUT_CHANNEL" (Altering effect send's audio routing) + for details) +

+
+ + +
+ + +

+ +

+

The mentioned fields above don't have to be in particular order. +

+

Example: +

+

+

+
+

C: "GET FX_SEND INFO 0 0" +

+

S: "NAME: Reverb Send" +

+

   "MIDI_CONTROLLER: 91" +

+

   "LEVEL: 0.3" +

+

   "AUDIO_OUTPUT_ROUTING: 2,3" +

+

   "." +

+

+ +

+

+
 TOC 
+

6.4.30.  +Altering effect send's audio routing

+ +

The front-end can alter the destination of an effect send's audio channel on a specific + sampler channel by sending the following command: +

+

+

+
+

SET FX_SEND AUDIO_OUTPUT_CHANNEL <sampler-chan> <fx-send-id> <audio-src> <audio-dst> +

+

+ +

+

Where <sampler-chan> is the sampler channel number + as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command, + <fx-send-id> reflects the numerical ID of the effect send entity + as returned by the "CREATE FX_SEND" (Adding an effect send to a sampler channel) + or "LIST FX_SENDS" (Listing all effect sends on a sampler channel) command, + <audio-src> is the numerical ID of the effect send's audio channel + which should be rerouted and <audio-dst> is the numerical ID of + the audio channel of the selected audio output device where <audio-src> + should be routed to. +

+

Note that effect sends can only route audio to the same audio output + device as assigned to the effect send's sampler channel. Also note that an + effect send entity does always have exactly as much audio channels as its + sampler channel. So if the sampler channel is stereo, the effect send does + have two audio channels as well. Also keep in mind that the amount of audio + channels on a sampler channel might be dependant not only to the deployed + sampler engine on the sampler channel, but also dependant to the instrument + currently loaded. However you can (effectively) turn an i.e. stereo effect + send into a mono one by simply altering its audio routing appropriately. +

+

Possible Answers: +

+

+

+
+

"OK" - +

+
+

on success +

+
+ + +

"WRN:<warning-code>:<warning-message>" - +

+
+

if audio output channel was set, but there are noteworthy + issue(s) related, providing an appropriate warning code and + warning message +

+
+ + +

"ERR:<error-code>:<error-message>" - +

+
+

in case it failed, providing an appropriate error code and error message +

+
+ + +

+ +

+

Example: +

+

+

+
+

C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2" +

+

S: "OK" +

+

+ +

+

+
 TOC 
+

6.4.31.  +Altering effect send's MIDI controller

+ +

The front-end can alter the MIDI controller of an effect + send entity by sending the following command: +

+

+

+
+

SET FX_SEND MIDI_CONTROLLER <sampler-chan> <fx-send-id> <midi-ctrl> +

+

+ +

+

Where <sampler-chan> is the sampler channel number + as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command, + <fx-send-id> reflects the numerical ID of the effect send entity + as returned by the "CREATE FX_SEND" (Adding an effect send to a sampler channel) + or "LIST FX_SENDS" (Listing all effect sends on a sampler channel) command and + <midi-ctrl> reflects the MIDI controller which shall be + able to modify the effect send's send level. +

+

Possible Answers: +

+

+

+
+

"OK" - +

+
+

on success +

+
+ + +

"WRN:<warning-code>:<warning-message>" - +

+
+

if MIDI controller was set, but there are noteworthy + issue(s) related, providing an appropriate warning code and + warning message +

+
+ + +

"ERR:<error-code>:<error-message>" - +

+
+

in case it failed, providing an appropriate error code and error message +

+
+ + +

+ +

+

Example: +

+

+

+
+

C: "SET FX_SEND MIDI_CONTROLLER 0 0 91" +

+

S: "OK" +

+

+ +

+

+
 TOC 
+

6.4.32.  +Altering effect send's send level

+ +

The front-end can alter the current send level of an effect + send entity by sending the following command: +

+

+

+
+

SET FX_SEND LEVEL <sampler-chan> <fx-send-id> <volume> +

+

+ +

+

Where <sampler-chan> is the sampler channel number + as returned by the "ADD CHANNEL" (Adding a new sampler channel) + or "LIST CHANNELS" (Getting all created sampler channel list) command, + <fx-send-id> reflects the numerical ID of the effect send entity + as returned by the "CREATE FX_SEND" (Adding an effect send to a sampler channel) + or "LIST FX_SENDS" (Listing all effect sends on a sampler channel) command and + <volume> is an optionally dotted positive number (a value + smaller than 1.0 means attenuation, whereas a value greater than + 1.0 means amplification) reflecting the new send level. +

+

Possible Answers: +

+

+

+
+

"OK" - +

+
+

on success +

+
+ + +

"WRN:<warning-code>:<warning-message>" - +

+
+

if new send level was set, but there are noteworthy + issue(s) related, providing an appropriate warning code and + warning message +

+
+ + +

"ERR:<error-code>:<error-message>" - +

+
+

in case it failed, providing an appropriate error code and error message +

+
+ + +

+ +

+

Example: +

+

+

+
+

C: "SET FX_SEND LEVEL 0 0 0.15" +

+

S: "OK" +

+

+ +

+

+
 TOC 
+

6.4.33.  Resetting a sampler channel

The front-end can reset a particular sampler channel by sending the following command: @@ -5376,6 +5996,94 @@

The mentioned fields above don't have to be in particular order. Other fields might be added in future.

+

+
 TOC 
+

6.6.5.  +Getting global volume attenuation

+ +

The client can ask for the current global sampler-wide volume + attenuation by sending the following command: +

+

+

+
+

GET VOLUME +

+

+ +

+

Possible Answers: +

+

+

+
+

The sampler will always answer by returning the optional + dotted floating point coefficient, reflecting the current + global volume attenuation. + +

+

+ +

+

Note: it is up to the respective sampler engine whether to obey + that global volume parameter or not, but in general all engines SHOULD + use this parameter. +

+

+
 TOC 
+

6.6.6.  +Setting global volume attenuation

+ +

The client can alter the current global sampler-wide volume + attenuation by sending the following command: +

+

+

+
+

SET VOLUME <volume> +

+

+ +

+

Where <volume> should be replaced by the optional dotted + floating point value, reflecting the new global volume parameter. + This value might usually be in the range between 0.0 and 1.0, that + is for attenuating the overall volume. +

+

Possible Answers: +

+

+

+
+

"OK" - +

+
+

on success +

+
+ + +

"WRN:<warning-code>:<warning-message>" - +

+
+

if the global volume was set, but there are noteworthy + issue(s) related, providing an appropriate warning code and + warning message +

+
+ + +

"ERR:<error-code>:<error-message>" - +

+
+

in case it failed, providing an appropriate error code and error message +

+
+ + +

+ +



 TOC 

6.7.  @@ -5800,7 +6508,7 @@ <instrument_index> the index (integer value) of the instrument within the given file, <volume_value> reflects the master volume of the instrument as optionally dotted number (where a - value < 1.0 means attenuation and a value > 1.0 means + value < 1.0 means attenuation and a value > 1.0 means amplification). This parameter easily allows to adjust the volume of all intruments within a custom instrument map without having to adjust their instrument files. The @@ -6263,7 +6971,7 @@

master volume of the instrument as optionally - dotted number (where a value < 1.0 means attenuation + dotted number (where a value < 1.0 means attenuation and a value > 1.0 means amplification)

@@ -6508,7 +7216,19 @@

subscribe_event =

-

CHANNEL_COUNT +

AUDIO_OUTPUT_DEVICE_COUNT + +

+

/ AUDIO_OUTPUT_DEVICE_INFO + +

+

/ MIDI_INPUT_DEVICE_COUNT + +

+

/ MIDI_INPUT_DEVICE_INFO + +

+

/ CHANNEL_COUNT

/ VOICE_COUNT @@ -6523,6 +7243,18 @@

/ CHANNEL_INFO

+

/ MIDI_INSTRUMENT_MAP_COUNT + +

+

/ MIDI_INSTRUMENT_MAP_INFO + +

+

/ MIDI_INSTRUMENT_COUNT + +

+

/ MIDI_INSTRUMENT_INFO + +

/ MISCELLANEOUS

@@ -6535,7 +7267,19 @@

unsubscribe_event =

-

CHANNEL_COUNT +

AUDIO_OUTPUT_DEVICE_COUNT + +

+

/ AUDIO_OUTPUT_DEVICE_INFO + +

+

/ MIDI_INPUT_DEVICE_COUNT + +

+

/ MIDI_INPUT_DEVICE_INFO + +

+

/ CHANNEL_COUNT

/ VOICE_COUNT @@ -6550,6 +7294,18 @@

/ CHANNEL_INFO

+

/ MIDI_INSTRUMENT_MAP_COUNT + +

+

/ MIDI_INSTRUMENT_MAP_INFO + +

+

/ MIDI_INSTRUMENT_COUNT + +

+

/ MIDI_INSTRUMENT_INFO + +

/ MISCELLANEOUS

@@ -6697,6 +7453,15 @@

/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map

+

/ FX_SENDS SP sampler_channel + +

+

/ FX_SEND SP INFO SP sampler_channel SP fx_send_id + +

+

/ VOLUME + +

@@ -6721,9 +7486,21 @@

/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name

+

/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index + +

+

/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl + +

+

/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value + +

/ ECHO SP boolean

+

/ VOLUME SP volume_value + +

@@ -6742,6 +7519,12 @@

/ MIDI_INPUT_DEVICE SP string

+

/ FX_SEND SP sampler_channel SP midi_ctrl + +

+

/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name + +

@@ -6775,6 +7558,9 @@

/ MIDI_INPUT_DEVICE SP number

+

/ FX_SEND SP sampler_channel SP fx_send_id + +

@@ -6892,6 +7678,9 @@

/ MIDI_INSTRUMENT_MAPS

+

/ FX_SENDS SP sampler_channel + +

@@ -7015,6 +7804,15 @@

+

midi_ctrl = +

+
+

number + +

+

+ +

volume_value =

@@ -7045,6 +7843,15 @@

+

fx_send_id = +

+
+

number + +

+

+ +

engine_name =

@@ -7081,6 +7888,15 @@

+

fx_send_name = +

+
+

stringval + +

+

+ +

param_val_list =

@@ -7118,9 +7934,133 @@

This chapter will describe all currently defined events supported by LinuxSampler.

-

+

 TOC 

8.1.  +Number of audio output devices changed

+ +

Client may want to be notified when the total number of audio output devices on the + back-end changes by issuing the following command: +

+

+

+
+

SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:<devices>" +

+

+ +

+

where <devices> will be replaced by the new number + of audio output devices. +

+

+
 TOC 
+

8.2.  +Audio output device's settings changed

+ +

Client may want to be notified when changes were made to audio output devices on the + back-end by issuing the following command: +

+

+

+
+

SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:<device-id>" +

+

+ +

+

where <device-id> will be replaced by the numerical ID of the audio output device, + which settings has been changed. The front-end will have to send + the respective command to actually get the audio output device info. Because these messages + will be triggered by LSCP commands issued by other clients rather than real + time events happening on the server, it is believed that an empty notification + message is sufficient here. +

+

+
 TOC 
+

8.3.  +Number of MIDI input devices changed

+ +

Client may want to be notified when the total number of MIDI input devices on the + back-end changes by issuing the following command: +

+

+

+
+

SUBSCRIBE MIDI_INPUT_DEVICE_COUNT +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:MIDI_INPUT_DEVICE_COUNT:<devices>" +

+

+ +

+

where <devices> will be replaced by the new number + of MIDI input devices. +

+

+
 TOC 
+

8.4.  +MIDI input device's settings changed

+ +

Client may want to be notified when changes were made to MIDI input devices on the + back-end by issuing the following command: +

+

+

+
+

SUBSCRIBE MIDI_INPUT_DEVICE_INFO +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:MIDI_INPUT_DEVICE_INFO:<device-id>" +

+

+ +

+

where <device-id> will be replaced by the numerical ID of the MIDI input device, + which settings has been changed. The front-end will have to send + the respective command to actually get the MIDI input device info. Because these messages + will be triggered by LSCP commands issued by other clients rather than real + time events happening on the server, it is believed that an empty notification + message is sufficient here. +

+

+
 TOC 
+

8.5.  Number of sampler channels changed

Client may want to be notified when the total number of channels on the @@ -7149,7 +8089,7 @@



 TOC 
-

8.2.  +

8.6.  Number of active voices changed

Client may want to be notified when the number of voices on the @@ -7179,7 +8119,7 @@



 TOC 
-

8.3.  +

8.7.  Number of active disk streams changed

Client may want to be notified when the number of streams on the back-end @@ -7209,7 +8149,7 @@



 TOC 
-

8.4.  +

8.8.  Disk stream buffer fill state changed

Client may want to be notified when the buffer fill state of a disk stream @@ -7238,9 +8178,9 @@ buffer fill data for this channel as described in Section 6.4.13 (Current fill state of disk stream buffers) as if the "GET CHANNEL BUFFER_FILL PERCENTAGE" (Current fill state of disk stream buffers) command was issued on this channel.

-

+

 TOC 
-

8.5.  +

8.9.  Channel information changed

Client may want to be notified when changes were made to sampler channels on the @@ -7273,7 +8213,7 @@



 TOC 
-

8.6.  +

8.10.  Total number of active voices changed

Client may want to be notified when the total number of voices on the @@ -7300,9 +8240,135 @@

where <voices> will be replaced by the new number of all currently active voices.

+

+
 TOC 
+

8.11.  +Number of MIDI instrument maps changed

+ +

Client may want to be notified when the number of MIDI instrument maps on the + back-end changes by issuing the following command: +

+

+

+
+

SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:<maps>" +

+

+ +

+

where <maps> will be replaced by the new number + of MIDI instrument maps. +

+

+
 TOC 
+

8.12.  +MIDI instrument map information changed

+ +

Client may want to be notified when changes were made to MIDI instrument maps on the + back-end by issuing the following command: +

+

+

+
+

SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:<map-id>" +

+

+ +

+

where <map-id> will be replaced by the numerical ID of the MIDI instrument map, + for which information changes occurred. The front-end will have to send + the respective command to actually get the MIDI instrument map info. Because these messages + will be triggered by LSCP commands issued by other clients rather than real + time events happening on the server, it is believed that an empty notification + message is sufficient here. +

+

+
 TOC 
+

8.13.  +Number of MIDI instruments changed

+ +

Client may want to be notified when the number of MIDI instrument maps on the + back-end changes by issuing the following command: +

+

+

+
+

SUBSCRIBE MIDI_INSTRUMENT_COUNT +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:MIDI_INSTRUMENT_COUNT:<map-id> <instruments>" +

+

+ +

+

where <map-id> is the numerical ID of the MIDI instrument map, in which + the nuber of instruments has changed and <instruments> will be replaced by + the new number of MIDI instruments in the specified map. +

+

+
 TOC 
+

8.14.  +MIDI instrument information changed

+ +

Client may want to be notified when changes were made to MIDI instruments on the + back-end by issuing the following command: +

+

+

+
+

SUBSCRIBE MIDI_INSTRUMENT_INFO +

+

+ +

+

Server will start sending the following notification messages: +

+

+

+
+

"NOTIFY:MIDI_INSTRUMENT_INFO:<map-id> <bank> <program>" +

+

+ +

+

where <map-id> will be replaced by the numerical ID of the MIDI instrument map, + in which a MIDI instrument is changed. <bank> and <program> specifies + the location of the changed MIDI instrument in the map. The front-end will have to send + the respective command to actually get the MIDI instrument info. Because these messages + will be triggered by LSCP commands issued by other clients rather than real + time events happening on the server, it is believed that an empty notification + message is sufficient here. +



 TOC 
-

8.7.  +

8.15.  Miscellaneous and debugging events

Client may want to be notified of miscellaneous and debugging events occurring at @@ -7397,7 +8463,7 @@
 TOC 

Full Copyright Statement

+Copyright © The Internet Society (2007).