/[svn]/web/trunk/www.linuxsampler.org/documentation.html
ViewVC logotype

Annotation of /web/trunk/www.linuxsampler.org/documentation.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1960 - (hide annotations) (download) (as text)
Fri Jul 31 10:20:16 2009 UTC (14 years, 8 months ago) by schoenebeck
File MIME type: text/html
File size: 22842 byte(s)
* updated LSCP specs for the new LS release 1.0.0

1 senoner 542 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2     <html>
3     <head>
4     <link rel="stylesheet" type="text/css" href="index.css">
5     <title>The Linux Sampler Project</title>
6    
7     <meta http-equiv="content-type"
8     content="text/html; charset=ISO-8859-1">
9    
10     <script language="javascript" type="text/javascript">
11     <!--
12     var dir = "gfx/";
13    
14     if(document.images) {
15    
16     newsover = new Image();
17     newsover.src = dir + "mnewshover.png";
18    
19     newsout = new Image();
20     newsout.src = dir + "mnews.png";
21    
22     aboutover = new Image();
23     aboutover.src = dir + "mabouthover.png";
24    
25     aboutout = new Image();
26     aboutout.src = dir + "mabout.png";
27    
28     featuresover = new Image();
29     featuresover.src = dir + "mfeatureshover.png";
30    
31     featuresout = new Image();
32     featuresout.src = dir + "mfeatures.png";
33    
34     screenshotsover = new Image();
35     screenshotsover.src = dir + "mscreenshotshover.png";
36    
37     screenshotsout = new Image();
38     screenshotsout.src = dir + "mscreenshots.png";
39    
40     demosover = new Image();
41     demosover.src = dir + "mdemoshover.png";
42    
43     demosout = new Image();
44     demosout.src = dir + "mdemos.png";
45    
46     downloadsover = new Image();
47     downloadsover.src = dir + "mdownloadshover.png";
48    
49     downloadsout = new Image();
50     downloadsout.src = dir + "mdownloads.png";
51    
52 senoner 1938 donationsover = new Image();
53     donationsover.src = dir + "mdonationshover.png";
54    
55     donationsout = new Image();
56     donationsout.src = dir + "mdonations.png";
57    
58 schoenebeck 1675 supportover = new Image();
59     supportover.src = dir + "msupporthover.png";
60     supportout = new Image();
61     supportout.src = dir + "msupport.png";
62    
63 senoner 542 developersover = new Image();
64     developersover.src = dir + "mdevelopershover.png";
65    
66     developersout = new Image();
67     developersout.src = dir + "mdevelopers.png";
68    
69     instrumentsover = new Image();
70     instrumentsover.src = dir + "minstrumentshover.png";
71    
72     instrumentsout = new Image();
73     instrumentsout.src = dir + "minstruments.png";
74    
75     linksover = new Image();
76     linksover.src = dir + "mlinkshover.png";
77    
78     linksout = new Image();
79     linksout.src = dir + "mlinks.png";
80    
81     documentationover = new Image();
82     documentationover.src = dir + "mdocumentationhover.png";
83    
84     documentationout = new Image();
85     documentationout.src = dir + "mdocumentation.png";
86    
87     creditsover = new Image();
88     creditsover.src = dir + "mcreditshover.png";
89    
90     creditsout = new Image();
91     creditsout.src = dir + "mcredits.png";
92    
93     faqover = new Image();
94     faqover.src = dir + "mfaqhover.png";
95    
96     faqout = new Image();
97     faqout.src = dir + "mfaq.png";
98    
99     bugsover = new Image();
100     bugsover.src = dir + "mbugshover.png";
101    
102     bugsout = new Image();
103     bugsout.src = dir + "mbugs.png";
104     }
105     -->
106     </script>
107    
108     </head>
109    
110     <body>
111    
112     <div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler">
113    
114     <h1><span class="hidden">The LinuxSampler Project</span></h1>
115    
116     <table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left>
117     <img name="h1blank" src="gfx/h1blank.png" alt="blank"><span class="hidden">about</span></th></tr>
118     <tr><td valign=top>
119     <a id="news" href="index.php" onmouseover="javascript:if(document.images)document.news.src = newsover.src" onmouseout="javascript:if(document.images)document.news.src = newsout.src"><img name="news" src="gfx/mnews.png" alt="news"></a>
120     <a id="about" href="about.html" onmouseover="javascript:if(document.images)document.about.src = aboutover.src" onmouseout="javascript:if(document.images)document.about.src = aboutout.src"><img name="about" src="gfx/mabout.png" alt="about"></a>
121     <a id="features" href="features.html" onmouseover="javascript:if(document.images)document.features.src = featuresover.src" onmouseout="javascript:if(document.images)document.features.src = featuresout.src"><img name="features" src="gfx/mfeatures.png" alt="features"></a>
122     <a id="screenshots" href="screenshots.html" onmouseover="javascript:if(document.images)document.screenshots.src = screenshotsover.src" onmouseout="javascript:if(document.images)document.screenshots.src = screenshotsout.src"><img name="screenshots" src="gfx/mscreenshots.png" alt="screenshots"></a>
123     <a id="demos" href="demos.html" onmouseover="javascript:if(document.images)document.demos.src = demosover.src" onmouseout="javascript:if(document.images)document.demos.src = demosout.src"><img name="demos" src="gfx/mdemos.png" alt="demos"></a>
124     <a id="downloads" href="downloads.html" onmouseover="javascript:if(document.images)document.downloads.src = downloadsover.src" onmouseout="javascript:if(document.images)document.downloads.src = downloadsout.src"><img name="downloads" src="gfx/mdownloads.png" alt="download"></a>
125 senoner 1938 <a id="donations" href="donations.html" onmouseover="javascript:if(document.images)document.donations.src = donationsover.src" onmouseout="javascript:if(document.images)document.donations.src = donationsout.src"><img name="donations" src="gfx/mdonations.png" alt="donations"></a>
126 schoenebeck 1675 <a id="support" href="support.html" onmouseover="javascript:if(document.images)document.support.src = supportover.src" onmouseout="javascript:if(document.images)document.support.src = supportout.src"><img name="support" src="gfx/msupport.png" alt="support"></a>
127 senoner 542 <a id="developers" href="developers.html" onmouseover="javascript:if(document.images)document.developers.src = developersover.src" onmouseout="javascript:if(document.images)document.developers.src = developersout.src"><img name="developers" src="gfx/mdevelopers.png" alt="developers"></a>
128     <a id="faq" href="faq.html" onmouseover="javascript:if(document.images)document.faq.src = faqover.src" onmouseout="javascript:if(document.images)document.faq.src = faqout.src"><img name="faq" src="gfx/mfaq.png" alt="faq"></a>
129     <a id="documentation" href="documentation.html" onmouseover="javascript:if(document.images)document.documentation.src = documentationover.src" onmouseout="javascript:if(document.images)document.documentation.src = documentationout.src"><img name="documentation" src="gfx/mdocumentation.png" alt="documentation"></a>
130     <a id="bugs" href="http://bugs.linuxsampler.org" onmouseover="javascript:if(document.images)document.bugs.src = bugsover.src" onmouseout="javascript:if(document.images)document.bugs.src = bugsout.src"><img name="bugs" src="gfx/mbugs.png" alt="bugs"></a>
131     <a id="instruments" href="instruments.html" onmouseover="javascript:if(document.images)document.instruments.src = instrumentsover.src" onmouseout="javascript:if(document.images)document.instruments.src = instrumentsout.src"><img name="instruments" src="gfx/minstruments.png" alt="instruments"></a>
132     <a id="links" href="links.html" onmouseover="javascript:if(document.images)document.links.src = linksover.src" onmouseout="javascript:if(document.images)document.links.src = linksout.src"><img name="links" src="gfx/mlinks.png" alt="links"></a>
133     <a id="credits" href="credits.html" onmouseover="javascript:if(document.images)document.credits.src = creditsover.src" onmouseout="javascript:if(document.images)document.credits.src = creditsout.src"><img name="credits" src="gfx/mcredits.png" alt="credits"></a>
134 schoenebeck 1935
135 schoenebeck 1947 <div class="boxed">
136 schoenebeck 1935 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
137     <input type="hidden" name="cmd" value="_s-xclick">
138     <input type="hidden" name="hosted_button_id" value="6746056">
139     <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
140     <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
141     </form>
142     <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
143     <input type="hidden" name="cmd" value="_s-xclick">
144     <input type="hidden" name="hosted_button_id" value="6746149">
145     <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
146     <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
147     </form>
148 schoenebeck 1947 <a href="donations.html">Why donate?</a>
149     </div>
150 schoenebeck 1935
151 senoner 542 </td><td valign=top width="100%">
152     <div id="contents">
153    
154     <h2>Documentation</h2>
155     <p class="default">
156     This is still quite under construction. Be welcome to help us with writing some documentation!
157     </p>
158    
159 schoenebeck 1674 <a name="windows"></a>
160     <a name="osx"></a>
161     <a name="debian"></a>
162     <h2>Howtos</h2>
163     <p class="default">
164     To ease new users the first contact with the Linuxsampler applications,
165     we have written the following short Howtos:
166     </p>
167     <table class="decorated">
168     <thead>
169     <tr>
170     <td class="decorated_header">Name</td>
171     <td class="decorated_header">Descripton</td>
172     </tr>
173     </thead>
174     <tbody>
175     <tr>
176     <td class="decorated"><a href="windows.html">Windows HOWTO</a></td>
177     <td class="decorated">
178     LinuxSampler quickstart guide for the MS Windows operating system.
179     </td>
180     </tr>
181     <tr>
182     <td class="decorated"><a href="osx.html">OS X HOWTO</a></td>
183     <td class="decorated">
184     LinuxSampler quickstart guide for the Apple OS X operating system.
185     </td>
186     </tr>
187     <tr>
188     <td class="decorated"><a href="debian.html">Debian HOWTO</a></td>
189     <td class="decorated">
190     Guide for how to build optimized Debian packages of LS &amp;
191     friends for your specific machine.
192     </td>
193     </tr>
194 persson 1822 <tr>
195     <td class="decorated"><a href="msys.html">Windows Build HOWTO</a></td>
196     <td class="decorated">
197     Guide for how to build libgig, linuxsampler and gigedit
198     for Windows by using MSYS.
199     </td>
200     </tr>
201 schoenebeck 1674 </tbody>
202     </table>
203    
204 schoenebeck 1241 <h2>gigedit</h2>
205     <p class="default">
206     This is our graphical instrument editor based on the Gtk toolkit.
207     It can be used stand-alone or in conjunction with LinuxSampler.
208     Read the <a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html">Gigedit Quickstart</a>
209     for a short tutorial. Please notice that this quickstart document
210     is automatically generated from CVS and thus might reflect
211     features and behaviors only available in the very latest, bleeding
212     edge development version of gigedit from CVS.
213     </p>
214 senoner 542
215 iliev 1780 <h2><a name="jsampler">JSampler</a></h2>
216 iliev 1290 <p class="default">
217     JSampler is an opensource, platform-independent,
218     GUI front-end for LinuxSampler, written entirely in Java.
219     Read the <a href="jsampler/manual/html/jsampler.html">JSampler manual</a>
220 iliev 1780 for more information.<br>
221     For information about using Fantasia with Miditzer in Puppy Linux VTPO
222     read this <a href="http://organs.110mb.com/Fantasia.htm" target="_blank">HOWTO</a>.
223 iliev 1290 </p>
224    
225 schoenebeck 1377 <h2>libgig</h2>
226     <p class="default">
227     libgig is a C++ library used to load and modify Gigasampler format files.
228     If you're a developer and might want to use libgig, here is its
229     <a href="http://download.linuxsampler.org/doc/libgig/api/">API documentation</a>
230     (automatically daily updated from CVS).
231     </p>
232    
233 schoenebeck 1573 <a name="lscp_spec"></a>
234     <a name="lscp_specs"></a>
235 schoenebeck 1377 <h2>liblscp</h2>
236     <p class="default">
237     liblscp is C library as convenient wrapper around the <i>LinuxSampler Control Protocol</i>.
238     If you're a developer and might want to use liblscp, here is its
239     <a href="http://download.linuxsampler.org/doc/liblscp/">API documentation</a>
240     (automatically daily updated from CVS).
241     </p>
242    
243 senoner 542 <h2>LSCP Reference</h2>
244     <p class="default">
245 schoenebeck 1280 The following documents define the <i>LinuxSampler Control Protocol</i>,
246     a network protocol with which LinuxSampler can be controlled locally as well as remotely.
247 senoner 542 As this is a simple ASCII based protocol it's possible to write a frontend for LinuxSampler in
248     any programming language and GUI library. There's still a big demand especially for a Gtk and
249     ncurses based frontend, so be encouraged and let
250     <a href="http://www.linuxsampler.org/developers.html">us</a> know if you wrote a frontend for
251 schoenebeck 1280 LinuxSampler!
252 senoner 542 </p>
253 schoenebeck 1280
254     <table class="decorated">
255     <thead>
256     <tr>
257     <td class="decorated_header">Protocol Name</td>
258     <td class="decorated_header">Document Types</td>
259 schoenebeck 1434 <td class="decorated_header">Release Date</td>
260 schoenebeck 1280 <td class="decorated_header">Description</td>
261     </tr>
262     </thead>
263     <tbody>
264     <tr>
265 schoenebeck 1434 <td class="decorated">LSCP&nbsp;draft</td>
266 schoenebeck 1280 <td class="decorated">
267 schoenebeck 1434 <a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.txt">TXT</a>,
268     <a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">HTML</a>,
269     <a href="http://cvs.linuxsampler.org/cgi-bin/viewcvs.cgi/*checkout*/linuxsampler/Documentation/lscp.xml?rev=HEAD&content-type=text/xml">XML</a>
270 schoenebeck 1280 </td>
271 schoenebeck 1434 <td class="decorated">unreleased</td>
272 schoenebeck 1280 <td class="decorated">
273 schoenebeck 1434 Very latest draft of the protocol (which usually reflects the
274     latest development state from CVS or may even not be implemented
275     yet).
276 schoenebeck 1280 </td>
277     </tr>
278     <tr>
279 schoenebeck 1960 <td class="decorated">LSCP&nbsp;1.4</td>
280     <td class="decorated">
281     <a href="http://www.linuxsampler.org/api/lscp-1.4.txt">TXT</a>,
282     <a href="http://www.linuxsampler.org/api/lscp-1.4.html">HTML</a>,
283     <a href="http://www.linuxsampler.org/api/lscp-1.4.xml">XML</a>
284     </td>
285     <td class="decorated">2009-07-31</td>
286     <td class="decorated">
287     Protocol specification of the latest official release of LinuxSampler (1.0.0).
288     </td>
289     </tr>
290     <tr>
291 schoenebeck 1572 <td class="decorated">LSCP&nbsp;1.3</td>
292     <td class="decorated">
293     <a href="http://www.linuxsampler.org/api/lscp-1.3.txt">TXT</a>,
294     <a href="http://www.linuxsampler.org/api/lscp-1.3.html">HTML</a>,
295     <a href="http://www.linuxsampler.org/api/lscp-1.3.xml">XML</a>
296     </td>
297     <td class="decorated">2007-12-06</td>
298     <td class="decorated">
299 schoenebeck 1960 Protocol specification of the previous official release of LinuxSampler (0.5.1).
300 schoenebeck 1572 </td>
301     </tr>
302     <tr>
303 schoenebeck 1434 <td class="decorated">LSCP&nbsp;1.2</td>
304     <td class="decorated">
305     <a href="http://www.linuxsampler.org/api/lscp-1.2.txt">TXT</a>,
306     <a href="http://www.linuxsampler.org/api/lscp-1.2.html">HTML</a>,
307     <a href="http://www.linuxsampler.org/api/lscp-1.2.xml">XML</a>
308     </td>
309     <td class="decorated">2007-10-15</td>
310     <td class="decorated">
311 schoenebeck 1960 Protocol specification old LinuxSampler release (0.5.0).
312 schoenebeck 1434 </td>
313     </tr>
314     <tr>
315 schoenebeck 1280 <td class="decorated">LSCP&nbsp;1.1</td>
316     <td class="decorated">
317 schoenebeck 1434 <a href="http://www.linuxsampler.org/api/lscp-1.1.txt">TXT</a>,
318 schoenebeck 1280 <a href="http://www.linuxsampler.org/api/lscp-1.1.html">HTML</a>,
319     <a href="http://www.linuxsampler.org/api/lscp-1.1.xml">XML</a>
320     </td>
321 schoenebeck 1434 <td class="decorated">2006-11-25</td>
322 schoenebeck 1280 <td class="decorated">
323 schoenebeck 1960 Protocol specification of ancient LinuxSampler release 0.4.0.
324 schoenebeck 1280 </td>
325     </tr>
326     <tr>
327 schoenebeck 1434 <td class="decorated">LSCP&nbsp;1.0</td>
328 schoenebeck 1280 <td class="decorated">
329 schoenebeck 1434 <a href="http://www.linuxsampler.org/api/lscp-1.0.txt">TXT</a>,
330     <a href="http://www.linuxsampler.org/api/lscp-1.0.html">HTML</a>,
331     <a href="http://www.linuxsampler.org/api/lscp-1.0.xml">XML</a>
332 schoenebeck 1280 </td>
333 schoenebeck 1434 <td class="decorated">2005-07-17</td>
334 schoenebeck 1280 <td class="decorated">
335 schoenebeck 1434 Protocol specification of ancient LinuxSampler release 0.3.3.
336 schoenebeck 1280 </td>
337     </tr>
338     </tbody>
339     </table>
340    
341 senoner 542 <p class="default">
342 schoenebeck 594 The protocol will be extended from time to time. You may look at the
343     <a href="features.html#LSCP">features</a> site to see which control
344     commands are already implemented and which are not.
345     </p>
346 senoner 542
347    
348     <a name="example_lscp_scripts">
349     <h3>Example LSCP scripts</h3>
350     <p class="default">
351     If you don't want / can't use a GUI frontend you will probably write some LSCP scripts for
352     using with linuxsampler to setup your needed sampler session. It follows some common LSCP
353     examples to give you a good starting point for writing your own ones. Adjust it to your needs
354     and send it to the running linuxsampler application with:
355     </p>
356 schoenebeck 1280 <pre class="code">cat yourscript.lscp | netcat localhost 8888</pre>
357 senoner 542 <p class="default">
358 schoenebeck 1242 Optionally you can also use a graphical frontend like QSampler one time to setup a working
359     sampler session for your needs and save it. Because you have to know that the files saved
360     by our frontends are actually pure LSCP scripts, thus you can i.e. use those files simply with
361     the mentioned netcat command from above to setup the sampler session without a frontend.
362     </p>
363     <p class="default">
364 senoner 542 Here is a simple LSCP example which uses ALSA as MIDI input and as audio output driver as well,
365     it creates only one sampler channel using the Gigasampler engine and loads a Piano instrument
366     on that sampler channel:
367     </p>
368 schoenebeck 1280 <pre class="code">#enable echo mode
369 senoner 542 SET ECHO 1
370    
371     # load the ALSA audio driver
372     # (parameter CARD is optional, I use it here to select my 2nd sound card
373     # you can use 'GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD' to get
374     # all available sound cards)
375     CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='1,0'
376    
377     # load the ALSA MIDI driver
378     CREATE MIDI_INPUT_DEVICE ALSA
379    
380     # connect my MIDI keyboard which has ALSA seq ID '72:0'
381     # (see 'aconnect -i' for the IDs of your MIDI devices
382     # or use 'GET MIDI_INPUT_PORT_PARAMETER INFO 0 0 ALSA_SEQ_BINDINGS')
383     SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='72:0'
384    
385     # setup a sampler channel
386     ADD CHANNEL
387     LOAD ENGINE gig 0
388     SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0
389     SET CHANNEL MIDI_INPUT_DEVICE 0 0
390     LOAD INSTRUMENT '/home/me/Gigs/PMI Steinway D.gig' 0 0
391    
392     # finally show our channel setup (optional of course)
393     GET CHANNEL INFO 0
394    
395     # quit connection
396     QUIT</pre>
397     <p class="default">
398     The next example uses JACK as audio output driver instead and automatically connects the two
399     output channels of LS's JACK client to the first two ALSA PCM channels, so you can hear
400     something without having to manually connect it e.g. with qjackctl:
401     </p>
402 schoenebeck 1280 <pre class="code">#enable echo mode
403 senoner 542 SET ECHO 1
404    
405     # load the JACK audio driver
406     CREATE AUDIO_OUTPUT_DEVICE JACK
407    
408     # connect to ALSA playback JACK client so we can hear something
409     # (you can use 'GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 0 0 JACK_BINDINGS'
410     # to get all available JACK clients / ports)
411     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='alsa_pcm:playback_1'
412     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='alsa_pcm:playback_2'
413    
414     # load the ALSA MIDI driver
415     CREATE MIDI_INPUT_DEVICE ALSA
416    
417     # connect my MIDI keyboard which has ALSA seq ID '72:0'
418     # (see 'aconnect -i' for the IDs of your MIDI devices
419     # or use 'GET MIDI_INPUT_PORT_PARAMETER INFO 0 0 ALSA_SEQ_BINDINGS')
420     SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='72:0'
421    
422     # setup one sampler channel
423     ADD CHANNEL
424     LOAD ENGINE gig 0
425     SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0
426     SET CHANNEL MIDI_INPUT_DEVICE 0 0
427     LOAD INSTRUMENT '/home/me/Gigs/PMI Steinway D.gig' 0 0
428    
429     # finally show our channel setup (optional of course)
430     GET CHANNEL INFO 0
431    
432     # quit connection
433     QUIT</pre>
434     <p class="default">
435     The next example is a bit more complex.
436     It shows how to setup a more realistic sampler session, handle routing of MIDI input channels,
437     handle routing of audio channels, it uses JACK again as audio
438     output driver, but creates the JACK client with four output channels instead, it creates two
439     sampler channels, loads two different instrument on those two sampler channels and alters
440     the audio channel routing so that the two output channels of sampler channel 1 are routed to
441     the first two JACK output channels and the two output channels of sampler channel 2 are routed
442     the second pair of the JACK client's output channels. That way you could e.g. record the output
443     of those two sampler channels independently or apply independent LADSPA effects on it.
444     </p>
445 schoenebeck 1280 <pre class="code"># enable echo mode
446 senoner 542 SET ECHO 1
447    
448     # load audio and MIDI driver
449     CREATE AUDIO_OUTPUT_DEVICE JACK
450     CREATE MIDI_INPUT_DEVICE ALSA
451    
452     # increase the amount of output channels of the LS"s Jack client e.g. to 4
453     SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4
454    
455     # connect to MIDI keyboard
456     SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS="64:0"
457    
458     # set up 1st sampler channel (using default output channels, that is 0 and 1)
459     ADD CHANNEL
460     LOAD ENGINE gig 0
461     SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0
462     SET CHANNEL MIDI_INPUT_DEVICE 0 0
463     LOAD INSTRUMENT "/somedir/The Bosendorfer Imperial Grand Version 2.2.gig" 0 0
464     SET CHANNEL VOLUME 0 0.40
465     # by default every sampler channel / engine listens to ALL MIDI channels
466     # but for multi channel setup it makes sense to distinguish the inputs, so
467     # let sampler channel 0 listen to MIDI channel 0 (instead of ALL)
468     SET CHANNEL MIDI_INPUT_CHANNEL 0 0
469    
470     # set up 2nd sampler channel (using output channels 2 and 3)
471     ADD CHANNEL
472     LOAD ENGINE gig 1
473     SET CHANNEL AUDIO_OUTPUT_DEVICE 1 0
474     SET CHANNEL MIDI_INPUT_DEVICE 1 0
475     LOAD INSTRUMENT "/home/me/Gigs/NemeSys_1GB_Grand.gig" 0 1
476     SET CHANNEL VOLUME 1 0.40
477     # let sampler channel 1 listen to MIDI channel 1 (instead of ALL)
478     SET CHANNEL MIDI_INPUT_CHANNEL 1 1
479     # this will alter the audio channel routing
480     # connect the engines output channel 0 to JACK clients output 2
481     SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 0 2
482     # connect the engines output channel 1 to JACK clients output 3
483     SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 1 3
484    
485     # automatic connection between the four 4 ports of LS's Jack client and the
486     # ALSA PCM JACK client (assuming your sound card has at least 4 outputs ;-)
487     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='alsa_pcm:playback_1'
488     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='alsa_pcm:playback_2'
489     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 2 JACK_BINDINGS='alsa_pcm:playback_3'
490     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 3 JACK_BINDINGS='alsa_pcm:playback_4'
491    
492     # not necessary, just to see our setup
493     GET CHANNEL INFO 0
494     GET CHANNEL INFO 1</pre>
495     <p class="default">
496     For a detailed description about LSCP read the <a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>.
497     Be welcome to ask details on the mailing list.
498     </p>
499    
500    
501     </div>
502     </td></tr></table>
503    
504     </div>
505    
506     </body>
507     </html>

  ViewVC Help
Powered by ViewVC