/[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 3923 - (hide annotations) (download) (as text)
Mon Jun 14 11:26:48 2021 UTC (2 years, 9 months ago) by schoenebeck
File MIME type: text/html
File size: 27040 byte(s)
* Dump all Google Ads from the website (i.e. reverts SVN r1973).

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

  ViewVC Help
Powered by ViewVC