/[svn]/liblscp/trunk/doc/reference.dox
ViewVC logotype

Diff of /liblscp/trunk/doc/reference.dox

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 188 by capela, Thu Jul 8 09:13:36 2004 UTC revision 3830 by capela, Sat Oct 10 19:54:18 2020 UTC
# Line 10  Hi all, Line 10  Hi all,
10  On the path to a GUI for linuxsampler, I've been taking some of my spare  On the path to a GUI for linuxsampler, I've been taking some of my spare
11  time by writing an early implementation for the LSCP (the LinuxSampler  time by writing an early implementation for the LSCP (the LinuxSampler
12  Control Protocol), as defined from the current available draft document  Control Protocol), as defined from the current available draft document
13  (http://www.linuxsampler.org/api/draft-linuxsampler-protocol-11.html).  (https://www.linuxsampler.org/api/draft-linuxsampler-protocol.html).
14    
15  My implementation, while still rather crude, is taking the form of a  My implementation, while still rather crude, is taking the form of a
16  programming library for plain conventional C, codenamed liblscp.  programming library for plain conventional C, codenamed liblscp.
# Line 112  the following functions defined in <lscp Line 112  the following functions defined in <lscp
112  LSCP comand, and regarding the sampler channel space:<pre>  LSCP comand, and regarding the sampler channel space:<pre>
113    
114      @ref lscp_get_available_engines (client);      @ref lscp_get_available_engines (client);
115        @ref lscp_list_available_engines (client);
116      @ref lscp_get_engine_info (client, engine_name);      @ref lscp_get_engine_info (client, engine_name);
117      @ref lscp_get_channels (client);      @ref lscp_get_channels (client);
118        @ref lscp_list_channels (client);
119      @ref lscp_add_channel (client);      @ref lscp_add_channel (client);
120      @ref lscp_load_engine (client, engine_name, channel);      @ref lscp_load_engine (client, engine_name, channel);
121      @ref lscp_set_channel_audio_device (client, channel, audio_device);      @ref lscp_set_channel_audio_device (client, channel, audio_device);
# Line 123  LSCP comand, and regarding the sampler c Line 125  LSCP comand, and regarding the sampler c
125      @ref lscp_set_channel_midi_type (client, channel, midi_type);      @ref lscp_set_channel_midi_type (client, channel, midi_type);
126      @ref lscp_set_channel_midi_port (client, channel, midi_port);      @ref lscp_set_channel_midi_port (client, channel, midi_port);
127      @ref lscp_set_channel_midi_channel (client, channel, midi_channel);      @ref lscp_set_channel_midi_channel (client, channel, midi_channel);
128        @ref lscp_set_channel_midi_map (client, channel, midi_map);
129        @ref lscp_set_channel_mute (client, channel, mute);
130        @ref lscp_set_channel_solo (client, channel, solo);
131      @ref lscp_set_channel_volume (client, channel, volume);      @ref lscp_set_channel_volume (client, channel, volume);
132      @ref lscp_load_instrument (client, file_name, instr_index, channel);      @ref lscp_load_instrument (client, file_name, instr_index, channel);
133      @ref lscp_load_instrument_non_modal (client, file_name, instr_index, channel);      @ref lscp_load_instrument_non_modal (client, file_name, instr_index, channel);
# Line 132  LSCP comand, and regarding the sampler c Line 137  LSCP comand, and regarding the sampler c
137      @ref lscp_get_channel_buffer_fill (client, usage_type, channel);      @ref lscp_get_channel_buffer_fill (client, usage_type, channel);
138      @ref lscp_reset_channel (client, channel);      @ref lscp_reset_channel (client, channel);
139      @ref lscp_remove_channel (client, channel);      @ref lscp_remove_channel (client, channel);
140        @ref lscp_reset_sampler (client);
141        @ref lscp_get_server_info (client);
142        @ref lscp_get_total_voice_count (client);
143        @ref lscp_get_total_voice_count_max (client);
144        @ref lscp_get_volume (client);
145        @ref lscp_set_volume (client);
146    
147    </pre>Specific for sampler channel effect sends control:<pre>
148    
149        @ref lscp_create_fxsend (client, channel, midi_controller, name);
150        @ref lscp_destroy_fxsend (client, channel, fxsend);
151        @ref lscp_get_fxsends (client, channel);
152        @ref lscp_list_fxsends (client, channel);
153        @ref lscp_get_fxsend_info (client, channel, fxsend);
154        @ref lscp_set_fxsend_name (client, channel, fxsend, name);
155        @ref lscp_set_fxsend_midi_controller (client, channel, fxsend, midi_controller);
156        @ref lscp_set_fxsend_audio_channel (client, channel, fxsend, audio_src, audio_dst);
157        @ref lscp_set_fxsend_level (client, channel, fxsend, level);
158    
159    </pre>Specific to MIDI instrument mapping interface:<pre>
160    
161        @ref lscp_add_midi_instrument_map (client, map_name);
162        @ref lscp_remove_midi_instrument_map (client, midi_map);
163        @ref lscp_get_midi_instrument_maps (client);
164        @ref lscp_list_midi_instrument_maps (client);
165        @ref lscp_get_midi_instrument_map_name (client, midi_map);
166        @ref lscp_set_midi_instrument_map_name (client, midi_map, map_name);
167        @ref lscp_map_midi_instrument (client, midi_instr, engine_name, file_name, instr_index, volume, load_mode, name);
168        @ref lscp_unmap_midi_instrument (client, midi_instr);
169        @ref lscp_get_midi_instruments (client, midi_map);
170        @ref lscp_list_midi_instruments (client, midi_map);
171        @ref lscp_get_midi_instrument_info (client, midi_instr);
172        @ref lscp_clear_midi_instruments (client, midi_map);
173    
174  </pre>For the audio output and MIDI input device configuration interface,  </pre>For the audio output and MIDI input device configuration interface,
175  the following functions are respectively defined in <lscp/@ref:device.h>:<pre>  the following functions are respectively defined in <lscp/@ref:device.h>:<pre>
176    
177      @ref lscp_get_available_audio_drivers (client);      @ref lscp_get_available_audio_drivers (client);
178        @ref lscp_list_available_audio_drivers (client);
179      @ref lscp_get_audio_driver_info (client, audio_driver);      @ref lscp_get_audio_driver_info (client, audio_driver);
180      @ref lscp_get_audio_driver_param_info (client, audio_driver, param_key, deplist);      @ref lscp_get_audio_driver_param_info (client, audio_driver, param_key, deplist);
181      @ref lscp_create_audio_device (client, audio_driver, params);      @ref lscp_create_audio_device (client, audio_driver, params);
# Line 150  the following functions are respectively Line 189  the following functions are respectively
189      @ref lscp_set_audio_channel_param (client, audio_device, audio_channel, param);      @ref lscp_set_audio_channel_param (client, audio_device, audio_channel, param);
190    
191      @ref lscp_get_available_midi_drivers (client);      @ref lscp_get_available_midi_drivers (client);
192        @ref lscp_list_available_midi_drivers (client);
193      @ref lscp_get_midi_driver_info (client, midi_driver);      @ref lscp_get_midi_driver_info (client, midi_driver);
194      @ref lscp_get_midi_driver_param_info (client, midi_driver, param_key, deplist);      @ref lscp_get_midi_driver_param_info (client, midi_driver, param_key, deplist);
195      @ref lscp_create_midi_device (client, midi_driver, params);      @ref lscp_create_midi_device (client, midi_driver, params);
# Line 162  the following functions are respectively Line 202  the following functions are respectively
202      @ref lscp_get_midi_port_param_info (client, midi_device, midi_port, param);      @ref lscp_get_midi_port_param_info (client, midi_device, midi_port, param);
203      @ref lscp_set_midi_port_param (client, midi_device, midi_port, param);      @ref lscp_set_midi_port_param (client, midi_device, midi_port, param);
204    
205    </pre>For editing instruments while playing them with the sampler:<pre>
206    
207        @ref lscp_edit_channel_instrument (client, channel);
208    
209  </pre>Most of these functions are wrappers to @ref lscp_client_query, and some will handle  </pre>Most of these functions are wrappers to @ref lscp_client_query, and some will handle
210  and change the result string accordingly.  and change the result string accordingly.
211    
# Line 226  the server destructor:<pre> Line 270  the server destructor:<pre>
270    
271  Nuff said. If you care or dare, track the revolving under:  Nuff said. If you care or dare, track the revolving under:
272    
273  - http://www.rncbc.org/ls/  - https://www.rncbc.org/snapshots/#liblscp
274    - https://www.rncbc.org/archive/#liblscp
275    
276  Please note that the code is known to compile and run on Linux AND on  Please note that the code is known to compile and run on Linux AND on
277  win32 (!). On Linux the main target is a shared library (liblscp.so) so  Windows (!). On Linux the main target is a shared library (liblscp.so) so
278  remember to set your LS_LIBRARY_PATH accordingly before running the test  remember to set your LD_LIBRARY_PATH accordingly before running the test
279  programs.  programs.
280    
281  A final disclaimer goes to the fact that I AM NOT a socket nor thread  A final disclaimer goes to the fact that I AM NOT a socket nor thread
282  programming guru, whatsoever. So fundamental mistakes may be lying around,  programming guru, whatsoever. So fundamental mistakes may be laying around,
283  somewhere. Besides that ItJustWorks(tm:).  somewhere. Besides that ItJustWorks(tm:).
284    
285  I'm eager to hear your feedback and comments. As usual, destructive  I'm eager to hear your feedback and comments. As usual, destructive
# Line 247  Otherwise sorry for the bandwidth waste. Line 292  Otherwise sorry for the bandwidth waste.
292  Cheers.  Cheers.
293    
294  rncbc aka Rui Nuno Capela  rncbc aka Rui Nuno Capela
295  rncbc@rncbc.org  rncbc at rncbc.org
296    
297  @see http://www.linuxsampler.org  @see https://www.linuxsampler.org
298    
299  */  */

Legend:
Removed from v.188  
changed lines
  Added in v.3830

  ViewVC Help
Powered by ViewVC