/[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 1973 - (hide annotations) (download) (as text)
Mon Aug 3 12:32:43 2009 UTC (14 years, 8 months ago) by senoner
File MIME type: text/html
File size: 23195 byte(s)
Added AdSense Ads from Google (on the left side, vertical skycraper ad)

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 senoner 1973 <p>
151     <div class="">
152     <center>
153     <script type="text/javascript"><!--
154     google_ad_client = "pub-3408196773880325";
155     /* 120x600, created 8/3/09 */
156     google_ad_slot = "2910827959";
157     google_ad_width = 120;
158     google_ad_height = 600;
159     //-->
160     </script>
161     <script type="text/javascript"
162     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
163     </script>
164     </center>
165     </div>
166 schoenebeck 1935
167 senoner 1973
168 senoner 542 </td><td valign=top width="100%">
169     <div id="contents">
170    
171     <h2>Documentation</h2>
172     <p class="default">
173     This is still quite under construction. Be welcome to help us with writing some documentation!
174     </p>
175    
176 schoenebeck 1674 <a name="windows"></a>
177     <a name="osx"></a>
178     <a name="debian"></a>
179     <h2>Howtos</h2>
180     <p class="default">
181     To ease new users the first contact with the Linuxsampler applications,
182     we have written the following short Howtos:
183     </p>
184     <table class="decorated">
185     <thead>
186     <tr>
187     <td class="decorated_header">Name</td>
188     <td class="decorated_header">Descripton</td>
189     </tr>
190     </thead>
191     <tbody>
192     <tr>
193     <td class="decorated"><a href="windows.html">Windows HOWTO</a></td>
194     <td class="decorated">
195     LinuxSampler quickstart guide for the MS Windows operating system.
196     </td>
197     </tr>
198     <tr>
199     <td class="decorated"><a href="osx.html">OS X HOWTO</a></td>
200     <td class="decorated">
201     LinuxSampler quickstart guide for the Apple OS X operating system.
202     </td>
203     </tr>
204     <tr>
205     <td class="decorated"><a href="debian.html">Debian HOWTO</a></td>
206     <td class="decorated">
207     Guide for how to build optimized Debian packages of LS &amp;
208     friends for your specific machine.
209     </td>
210     </tr>
211 persson 1822 <tr>
212     <td class="decorated"><a href="msys.html">Windows Build HOWTO</a></td>
213     <td class="decorated">
214     Guide for how to build libgig, linuxsampler and gigedit
215     for Windows by using MSYS.
216     </td>
217     </tr>
218 schoenebeck 1674 </tbody>
219     </table>
220    
221 schoenebeck 1241 <h2>gigedit</h2>
222     <p class="default">
223     This is our graphical instrument editor based on the Gtk toolkit.
224     It can be used stand-alone or in conjunction with LinuxSampler.
225     Read the <a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html">Gigedit Quickstart</a>
226     for a short tutorial. Please notice that this quickstart document
227     is automatically generated from CVS and thus might reflect
228     features and behaviors only available in the very latest, bleeding
229     edge development version of gigedit from CVS.
230     </p>
231 senoner 542
232 iliev 1780 <h2><a name="jsampler">JSampler</a></h2>
233 iliev 1290 <p class="default">
234     JSampler is an opensource, platform-independent,
235     GUI front-end for LinuxSampler, written entirely in Java.
236     Read the <a href="jsampler/manual/html/jsampler.html">JSampler manual</a>
237 iliev 1780 for more information.<br>
238     For information about using Fantasia with Miditzer in Puppy Linux VTPO
239     read this <a href="http://organs.110mb.com/Fantasia.htm" target="_blank">HOWTO</a>.
240 iliev 1290 </p>
241    
242 schoenebeck 1377 <h2>libgig</h2>
243     <p class="default">
244     libgig is a C++ library used to load and modify Gigasampler format files.
245     If you're a developer and might want to use libgig, here is its
246     <a href="http://download.linuxsampler.org/doc/libgig/api/">API documentation</a>
247     (automatically daily updated from CVS).
248     </p>
249    
250 schoenebeck 1573 <a name="lscp_spec"></a>
251     <a name="lscp_specs"></a>
252 schoenebeck 1377 <h2>liblscp</h2>
253     <p class="default">
254     liblscp is C library as convenient wrapper around the <i>LinuxSampler Control Protocol</i>.
255     If you're a developer and might want to use liblscp, here is its
256     <a href="http://download.linuxsampler.org/doc/liblscp/">API documentation</a>
257     (automatically daily updated from CVS).
258     </p>
259    
260 senoner 542 <h2>LSCP Reference</h2>
261     <p class="default">
262 schoenebeck 1280 The following documents define the <i>LinuxSampler Control Protocol</i>,
263     a network protocol with which LinuxSampler can be controlled locally as well as remotely.
264 senoner 542 As this is a simple ASCII based protocol it's possible to write a frontend for LinuxSampler in
265     any programming language and GUI library. There's still a big demand especially for a Gtk and
266     ncurses based frontend, so be encouraged and let
267     <a href="http://www.linuxsampler.org/developers.html">us</a> know if you wrote a frontend for
268 schoenebeck 1280 LinuxSampler!
269 senoner 542 </p>
270 schoenebeck 1280
271     <table class="decorated">
272     <thead>
273     <tr>
274     <td class="decorated_header">Protocol Name</td>
275     <td class="decorated_header">Document Types</td>
276 schoenebeck 1434 <td class="decorated_header">Release Date</td>
277 schoenebeck 1280 <td class="decorated_header">Description</td>
278     </tr>
279     </thead>
280     <tbody>
281     <tr>
282 schoenebeck 1434 <td class="decorated">LSCP&nbsp;draft</td>
283 schoenebeck 1280 <td class="decorated">
284 schoenebeck 1434 <a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.txt">TXT</a>,
285     <a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">HTML</a>,
286     <a href="http://cvs.linuxsampler.org/cgi-bin/viewcvs.cgi/*checkout*/linuxsampler/Documentation/lscp.xml?rev=HEAD&content-type=text/xml">XML</a>
287 schoenebeck 1280 </td>
288 schoenebeck 1434 <td class="decorated">unreleased</td>
289 schoenebeck 1280 <td class="decorated">
290 schoenebeck 1434 Very latest draft of the protocol (which usually reflects the
291     latest development state from CVS or may even not be implemented
292     yet).
293 schoenebeck 1280 </td>
294     </tr>
295     <tr>
296 schoenebeck 1960 <td class="decorated">LSCP&nbsp;1.4</td>
297     <td class="decorated">
298     <a href="http://www.linuxsampler.org/api/lscp-1.4.txt">TXT</a>,
299     <a href="http://www.linuxsampler.org/api/lscp-1.4.html">HTML</a>,
300     <a href="http://www.linuxsampler.org/api/lscp-1.4.xml">XML</a>
301     </td>
302     <td class="decorated">2009-07-31</td>
303     <td class="decorated">
304     Protocol specification of the latest official release of LinuxSampler (1.0.0).
305     </td>
306     </tr>
307     <tr>
308 schoenebeck 1572 <td class="decorated">LSCP&nbsp;1.3</td>
309     <td class="decorated">
310     <a href="http://www.linuxsampler.org/api/lscp-1.3.txt">TXT</a>,
311     <a href="http://www.linuxsampler.org/api/lscp-1.3.html">HTML</a>,
312     <a href="http://www.linuxsampler.org/api/lscp-1.3.xml">XML</a>
313     </td>
314     <td class="decorated">2007-12-06</td>
315     <td class="decorated">
316 schoenebeck 1960 Protocol specification of the previous official release of LinuxSampler (0.5.1).
317 schoenebeck 1572 </td>
318     </tr>
319     <tr>
320 schoenebeck 1434 <td class="decorated">LSCP&nbsp;1.2</td>
321     <td class="decorated">
322     <a href="http://www.linuxsampler.org/api/lscp-1.2.txt">TXT</a>,
323     <a href="http://www.linuxsampler.org/api/lscp-1.2.html">HTML</a>,
324     <a href="http://www.linuxsampler.org/api/lscp-1.2.xml">XML</a>
325     </td>
326     <td class="decorated">2007-10-15</td>
327     <td class="decorated">
328 schoenebeck 1960 Protocol specification old LinuxSampler release (0.5.0).
329 schoenebeck 1434 </td>
330     </tr>
331     <tr>
332 schoenebeck 1280 <td class="decorated">LSCP&nbsp;1.1</td>
333     <td class="decorated">
334 schoenebeck 1434 <a href="http://www.linuxsampler.org/api/lscp-1.1.txt">TXT</a>,
335 schoenebeck 1280 <a href="http://www.linuxsampler.org/api/lscp-1.1.html">HTML</a>,
336     <a href="http://www.linuxsampler.org/api/lscp-1.1.xml">XML</a>
337     </td>
338 schoenebeck 1434 <td class="decorated">2006-11-25</td>
339 schoenebeck 1280 <td class="decorated">
340 schoenebeck 1960 Protocol specification of ancient LinuxSampler release 0.4.0.
341 schoenebeck 1280 </td>
342     </tr>
343     <tr>
344 schoenebeck 1434 <td class="decorated">LSCP&nbsp;1.0</td>
345 schoenebeck 1280 <td class="decorated">
346 schoenebeck 1434 <a href="http://www.linuxsampler.org/api/lscp-1.0.txt">TXT</a>,
347     <a href="http://www.linuxsampler.org/api/lscp-1.0.html">HTML</a>,
348     <a href="http://www.linuxsampler.org/api/lscp-1.0.xml">XML</a>
349 schoenebeck 1280 </td>
350 schoenebeck 1434 <td class="decorated">2005-07-17</td>
351 schoenebeck 1280 <td class="decorated">
352 schoenebeck 1434 Protocol specification of ancient LinuxSampler release 0.3.3.
353 schoenebeck 1280 </td>
354     </tr>
355     </tbody>
356     </table>
357    
358 senoner 542 <p class="default">
359 schoenebeck 594 The protocol will be extended from time to time. You may look at the
360     <a href="features.html#LSCP">features</a> site to see which control
361     commands are already implemented and which are not.
362     </p>
363 senoner 542
364    
365     <a name="example_lscp_scripts">
366     <h3>Example LSCP scripts</h3>
367     <p class="default">
368     If you don't want / can't use a GUI frontend you will probably write some LSCP scripts for
369     using with linuxsampler to setup your needed sampler session. It follows some common LSCP
370     examples to give you a good starting point for writing your own ones. Adjust it to your needs
371     and send it to the running linuxsampler application with:
372     </p>
373 schoenebeck 1280 <pre class="code">cat yourscript.lscp | netcat localhost 8888</pre>
374 senoner 542 <p class="default">
375 schoenebeck 1242 Optionally you can also use a graphical frontend like QSampler one time to setup a working
376     sampler session for your needs and save it. Because you have to know that the files saved
377     by our frontends are actually pure LSCP scripts, thus you can i.e. use those files simply with
378     the mentioned netcat command from above to setup the sampler session without a frontend.
379     </p>
380     <p class="default">
381 senoner 542 Here is a simple LSCP example which uses ALSA as MIDI input and as audio output driver as well,
382     it creates only one sampler channel using the Gigasampler engine and loads a Piano instrument
383     on that sampler channel:
384     </p>
385 schoenebeck 1280 <pre class="code">#enable echo mode
386 senoner 542 SET ECHO 1
387    
388     # load the ALSA audio driver
389     # (parameter CARD is optional, I use it here to select my 2nd sound card
390     # you can use 'GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD' to get
391     # all available sound cards)
392     CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='1,0'
393    
394     # load the ALSA MIDI driver
395     CREATE MIDI_INPUT_DEVICE ALSA
396    
397     # connect my MIDI keyboard which has ALSA seq ID '72:0'
398     # (see 'aconnect -i' for the IDs of your MIDI devices
399     # or use 'GET MIDI_INPUT_PORT_PARAMETER INFO 0 0 ALSA_SEQ_BINDINGS')
400     SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='72:0'
401    
402     # setup a sampler channel
403     ADD CHANNEL
404     LOAD ENGINE gig 0
405     SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0
406     SET CHANNEL MIDI_INPUT_DEVICE 0 0
407     LOAD INSTRUMENT '/home/me/Gigs/PMI Steinway D.gig' 0 0
408    
409     # finally show our channel setup (optional of course)
410     GET CHANNEL INFO 0
411    
412     # quit connection
413     QUIT</pre>
414     <p class="default">
415     The next example uses JACK as audio output driver instead and automatically connects the two
416     output channels of LS's JACK client to the first two ALSA PCM channels, so you can hear
417     something without having to manually connect it e.g. with qjackctl:
418     </p>
419 schoenebeck 1280 <pre class="code">#enable echo mode
420 senoner 542 SET ECHO 1
421    
422     # load the JACK audio driver
423     CREATE AUDIO_OUTPUT_DEVICE JACK
424    
425     # connect to ALSA playback JACK client so we can hear something
426     # (you can use 'GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 0 0 JACK_BINDINGS'
427     # to get all available JACK clients / ports)
428     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='alsa_pcm:playback_1'
429     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='alsa_pcm:playback_2'
430    
431     # load the ALSA MIDI driver
432     CREATE MIDI_INPUT_DEVICE ALSA
433    
434     # connect my MIDI keyboard which has ALSA seq ID '72:0'
435     # (see 'aconnect -i' for the IDs of your MIDI devices
436     # or use 'GET MIDI_INPUT_PORT_PARAMETER INFO 0 0 ALSA_SEQ_BINDINGS')
437     SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='72:0'
438    
439     # setup one sampler channel
440     ADD CHANNEL
441     LOAD ENGINE gig 0
442     SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0
443     SET CHANNEL MIDI_INPUT_DEVICE 0 0
444     LOAD INSTRUMENT '/home/me/Gigs/PMI Steinway D.gig' 0 0
445    
446     # finally show our channel setup (optional of course)
447     GET CHANNEL INFO 0
448    
449     # quit connection
450     QUIT</pre>
451     <p class="default">
452     The next example is a bit more complex.
453     It shows how to setup a more realistic sampler session, handle routing of MIDI input channels,
454     handle routing of audio channels, it uses JACK again as audio
455     output driver, but creates the JACK client with four output channels instead, it creates two
456     sampler channels, loads two different instrument on those two sampler channels and alters
457     the audio channel routing so that the two output channels of sampler channel 1 are routed to
458     the first two JACK output channels and the two output channels of sampler channel 2 are routed
459     the second pair of the JACK client's output channels. That way you could e.g. record the output
460     of those two sampler channels independently or apply independent LADSPA effects on it.
461     </p>
462 schoenebeck 1280 <pre class="code"># enable echo mode
463 senoner 542 SET ECHO 1
464    
465     # load audio and MIDI driver
466     CREATE AUDIO_OUTPUT_DEVICE JACK
467     CREATE MIDI_INPUT_DEVICE ALSA
468    
469     # increase the amount of output channels of the LS"s Jack client e.g. to 4
470     SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4
471    
472     # connect to MIDI keyboard
473     SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS="64:0"
474    
475     # set up 1st sampler channel (using default output channels, that is 0 and 1)
476     ADD CHANNEL
477     LOAD ENGINE gig 0
478     SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0
479     SET CHANNEL MIDI_INPUT_DEVICE 0 0
480     LOAD INSTRUMENT "/somedir/The Bosendorfer Imperial Grand Version 2.2.gig" 0 0
481     SET CHANNEL VOLUME 0 0.40
482     # by default every sampler channel / engine listens to ALL MIDI channels
483     # but for multi channel setup it makes sense to distinguish the inputs, so
484     # let sampler channel 0 listen to MIDI channel 0 (instead of ALL)
485     SET CHANNEL MIDI_INPUT_CHANNEL 0 0
486    
487     # set up 2nd sampler channel (using output channels 2 and 3)
488     ADD CHANNEL
489     LOAD ENGINE gig 1
490     SET CHANNEL AUDIO_OUTPUT_DEVICE 1 0
491     SET CHANNEL MIDI_INPUT_DEVICE 1 0
492     LOAD INSTRUMENT "/home/me/Gigs/NemeSys_1GB_Grand.gig" 0 1
493     SET CHANNEL VOLUME 1 0.40
494     # let sampler channel 1 listen to MIDI channel 1 (instead of ALL)
495     SET CHANNEL MIDI_INPUT_CHANNEL 1 1
496     # this will alter the audio channel routing
497     # connect the engines output channel 0 to JACK clients output 2
498     SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 0 2
499     # connect the engines output channel 1 to JACK clients output 3
500     SET CHANNEL AUDIO_OUTPUT_CHANNEL 1 1 3
501    
502     # automatic connection between the four 4 ports of LS's Jack client and the
503     # ALSA PCM JACK client (assuming your sound card has at least 4 outputs ;-)
504     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 JACK_BINDINGS='alsa_pcm:playback_1'
505     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 1 JACK_BINDINGS='alsa_pcm:playback_2'
506     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 2 JACK_BINDINGS='alsa_pcm:playback_3'
507     SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 3 JACK_BINDINGS='alsa_pcm:playback_4'
508    
509     # not necessary, just to see our setup
510     GET CHANNEL INFO 0
511     GET CHANNEL INFO 1</pre>
512     <p class="default">
513     For a detailed description about LSCP read the <a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>.
514     Be welcome to ask details on the mailing list.
515     </p>
516    
517    
518     </div>
519     </td></tr></table>
520    
521     </div>
522    
523     </body>
524     </html>

  ViewVC Help
Powered by ViewVC