--- web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html 2006/12/20 19:40:37 991 +++ web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html 2006/12/20 19:52:00 992 @@ -145,7 +145,7 @@ LinuxSampler DevelopersC. Schoenebeck Internet-DraftInteressengemeinschaft Software Intended status: Standards TrackEngineering e. V. -Expires: June 18, 2007December 15, 2006 +Expires: June 23, 2007December 20, 2006


LinuxSampler Control Protocol
LSCP 1.2

@@ -173,7 +173,7 @@ 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 June 23, 2007.

Copyright Notice

@@ -370,19 +370,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
@@ -6508,7 +6524,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 +6551,18 @@

/ CHANNEL_INFO

+

/ MIDI_INSTRUMENT_MAP_COUNT + +

+

/ MIDI_INSTRUMENT_MAP_INFO + +

+

/ MIDI_INSTRUMENT_COUNT + +

+

/ MIDI_INSTRUMENT_INFO + +

/ MISCELLANEOUS

@@ -6535,7 +6575,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 +6602,18 @@

/ CHANNEL_INFO

+

/ MIDI_INSTRUMENT_MAP_COUNT + +

+

/ MIDI_INSTRUMENT_MAP_INFO + +

+

/ MIDI_INSTRUMENT_COUNT + +

+

/ MIDI_INSTRUMENT_INFO + +

/ MISCELLANEOUS

@@ -7118,9 +7182,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 +7337,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 +7367,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 +7397,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 +7426,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 +7461,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 +7488,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