--- linuxsampler/trunk/Documentation/lscp.xml 2007/01/14 17:31:48 1027
+++ linuxsampler/trunk/Documentation/lscp.xml 2007/03/22 20:55:17 1109
@@ -34,7 +34,7 @@
schoenebeck at software minus engineering dot org
-
+
LinuxSampler Developers
LSCP
@@ -4257,7 +4257,7 @@
command:
- MAP MIDI_INSTRUMENT <map>
+ MAP MIDI_INSTRUMENT [NON_MODAL] <map>
<midi_bank> <midi_prog> <engine_name>
<filename> <instrument_index> <volume_value>
[<instr_load_mode>] [<name>]
@@ -4310,7 +4310,7 @@
"PERSISTENT" -
The instrument will immediately be loaded
- into memory in the background when this mapping
+ into memory when this mapping
command is sent and the instrument is kept all
the time. Instruments with this mode are
only freed when the sampler is reset or all
@@ -4360,13 +4360,19 @@
"GET MIDI_INSTRUMENT INFO").
- The "MAP MIDI_INSTRUMENT" command
- will immediately return, thus it will not block when an
- instrument is to be loaded due to a "PERSISTENT" type
- entry as instruments are loaded in the background. As a
- consequence this command may not necessarily return an error
- i.e. when the given instrument file does not exist or may
- turn out to be corrupt.
+ By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
+ completely established in the sampler. The OPTIONAL "NON_MODAL" argument
+ however causes the respective "MAP MIDI_INSTRUMENT" command to return
+ immediately, that is to let the sampler establish the mapping in the
+ background. So this argument might be especially useful for mappings with
+ a "PERSISTENT" type, because these have to load the respective instruments
+ immediately and might thus block for a very long time. It is recommended
+ however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
+ because it has the following drawbacks: as "NON_MODAL" instructions return
+ immediately, they may not necessarily return an error i.e. when the given
+ instrument file turns out to be corrupt, beside that subsequent commands
+ in a LSCP instruction sequence might fail, because mandatory mappings are
+ not yet completed.
Possible Answers:
@@ -4409,7 +4415,7 @@
- C: "MAP MIDI_INSTRUMENT 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
+ C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
S: "OK"
@@ -4797,6 +4803,10 @@
/ CHANNEL_INFO
+ / FX_SEND_COUNT
+
+ / FX_SEND_INFO
+
/ MIDI_INSTRUMENT_MAP_COUNT
/ MIDI_INSTRUMENT_MAP_INFO
@@ -4809,6 +4819,8 @@
/ TOTAL_VOICE_COUNT
+ / GLOBAL_INFO
+
unsubscribe_event =
@@ -4831,6 +4843,10 @@
/ CHANNEL_INFO
+ / FX_SEND_COUNT
+
+ / FX_SEND_INFO
+
/ MIDI_INSTRUMENT_MAP_COUNT
/ MIDI_INSTRUMENT_MAP_INFO
@@ -4843,17 +4859,19 @@
/ TOTAL_VOICE_COUNT
+ / GLOBAL_INFO
+
map_instruction =
- MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value
+ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value
- / MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode
+ / MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode
- / MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name
+ / MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name
- / MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name
+ / MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name
@@ -5051,6 +5069,14 @@
+modal_arg =
+
+ /* epsilon (empty argument) */
+
+ / NON_MODAL SP
+
+
+
key_val_list =
string '=' param_val_list
@@ -5369,7 +5395,7 @@
Server will start sending the following notification messages:
- "NOTIFY:VOICE_COUNT:<sampler-channel> <voices>
+ "NOTIFY:VOICE_COUNT:<sampler-channel> <voices>"
where <sampler-channel> will be replaced by the sampler channel the
@@ -5439,6 +5465,44 @@
message is sufficient here.
+
+ Client may want to be notified when the number of effect sends on
+ a particular sampler channel is changed by issuing the following command:
+
+
+ SUBSCRIBE FX_SEND_COUNT
+
+
+ Server will start sending the following notification messages:
+
+
+ "NOTIFY:FX_SEND_COUNT:<channel-id> <fx-sends>"
+
+
+ where <channel-id> will be replaced by the numerical ID of the sampler
+ channel, on which the effect sends number is changed and <fx-sends> will
+ be replaced by the new number of effect sends on that channel.
+
+
+
+ Client may want to be notified when changes were made to effect sends on a
+ a particular sampler channel by issuing the following command:
+
+
+ SUBSCRIBE FX_SEND_INFO
+
+
+ Server will start sending the following notification messages:
+
+
+ "NOTIFY:FX_SEND_INFO:<channel-id> <fx-send-id>"
+
+
+ where <channel-id> will be replaced by the numerical ID of the sampler
+ channel, on which an effect send entity is changed and <fx-send-id> will
+ be replaced by the numerical ID of the changed effect send.
+
+
Client may want to be notified when the total number of voices on the
back-end changes by issuing the following command:
@@ -5450,7 +5514,7 @@
Server will start sending the following notification messages:
- "NOTIFY:TOTAL_VOICE_COUNT:<voices>
+ "NOTIFY:TOTAL_VOICE_COUNT:<voices>"
where <voices> will be replaced by the new number of
@@ -5539,6 +5603,25 @@
message is sufficient here.
+
+ Client may want to be notified when changes to the global settings
+ of the sampler were made by issuing the following command:
+
+
+ SUBSCRIBE GLOBAL_INFO
+
+
+ Server will start sending the following types of notification messages:
+
+
+ "NOTIFY:GLOBAL_INFO:VOLUME <volume>" - Notifies that the
+ golbal volume of the sampler is changed, where <volume> will be
+ replaced by the optional dotted floating point value, reflecting the
+ new global volume parameter.
+
+
+
+
Client may want to be notified of miscellaneous and debugging events occurring at
the server by issuing the following command: