/[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 3227 - (hide annotations) (download) (as text)
Sun May 28 11:41:59 2017 UTC (6 years, 11 months ago) by schoenebeck
File MIME type: text/html
File size: 27458 byte(s)
* Added link from old doc page to new doc site.

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

  ViewVC Help
Powered by ViewVC