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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 895 - (hide annotations) (download) (as text)
Sat Jul 1 16:57:37 2006 UTC (17 years, 9 months ago) by schoenebeck
File MIME type: text/html
File size: 15833 byte(s)
a lot of informational updates, corrections and optical fixes

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     developersover = new Image();
53     developersover.src = dir + "mdevelopershover.png";
54    
55     developersout = new Image();
56     developersout.src = dir + "mdevelopers.png";
57    
58     instrumentsover = new Image();
59     instrumentsover.src = dir + "minstrumentshover.png";
60    
61     instrumentsout = new Image();
62     instrumentsout.src = dir + "minstruments.png";
63    
64     linksover = new Image();
65     linksover.src = dir + "mlinkshover.png";
66    
67     linksout = new Image();
68     linksout.src = dir + "mlinks.png";
69    
70     documentationover = new Image();
71     documentationover.src = dir + "mdocumentationhover.png";
72    
73     documentationout = new Image();
74     documentationout.src = dir + "mdocumentation.png";
75    
76     creditsover = new Image();
77     creditsover.src = dir + "mcreditshover.png";
78    
79     creditsout = new Image();
80     creditsout.src = dir + "mcredits.png";
81    
82     faqover = new Image();
83     faqover.src = dir + "mfaqhover.png";
84    
85     faqout = new Image();
86     faqout.src = dir + "mfaq.png";
87    
88     bugsover = new Image();
89     bugsover.src = dir + "mbugshover.png";
90    
91     bugsout = new Image();
92     bugsout.src = dir + "mbugs.png";
93     }
94     -->
95     </script>
96    
97     </head>
98    
99     <body>
100    
101     <div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler">
102    
103     <h1><span class="hidden">The LinuxSampler Project</span></h1>
104    
105     <table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left>
106     <img name="h1blank" src="gfx/h1blank.png" alt="blank"><span class="hidden">about</span></th></tr>
107     <tr><td valign=top>
108     <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>
109     <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>
110     <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>
111     <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>
112     <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>
113     <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>
114     <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>
115     <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>
116     <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>
117     <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>
118     <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>
119     <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>
120     <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>
121     </td><td valign=top width="100%">
122     <div id="contents">
123    
124     <h2>FAQ</h2>
125     <p class="default">
126     Here is a collection of frequently asked questions. Please read them before asking on
127     the mailing list.
128     </p>
129 schoenebeck 703 <h3>Can I use LinuxSampler in commercial hardware or software products? </h3>
130 senoner 702 <p class="default">
131 schoenebeck 703 You are NOT ALLOWED to use LinuxSampler source code, libraries or applications in
132     COMMERCIAL hardware or software products without prior written authorization by the
133     <a href="developers.html">authors</a>. <A HREF="downloads.html">See here</A>
134 senoner 542
135     <h3>linuxsampler? qsampler? libgig? liblscp? hu?</h3>
136     <p class="default">
137 schoenebeck 895 There are currently six subprojects in the LinuxSampler project; jlscp, jsampler,
138     libgig, liblscp, linuxsampler and qsampler. linuxsampler is the core of the sampler, it includes the
139 senoner 542 sampler engines and audio and MIDI drivers. linuxsampler itself is decoupled from any
140 schoenebeck 895 user interface. It offers a native C++ API as well as a network server (LSCP server) to allow to be controlled by
141 schoenebeck 585 an arbitrary user frontend from an arbitrary place over a network connection or
142 senoner 542 locally from the same machine as well.
143 schoenebeck 895 qsampler is the first GUI frontend written for linuxsampler, it is written in C++ using the Qt
144 senoner 542 GUI library and thus can be compiled for various architectures and operating systems
145 schoenebeck 895 without modifications of the source code.
146     libgig is a C++ library written for accessing Gigasampler files and DLS Level 1 and 2
147     files, that is for reading and (since version 3.0.0) als writing of those files.
148     libgig is used by linuxsampler to load Gigasampler files and it <b>can</b> be
149 senoner 542 used by qsampler to retrieve additional informations about Gigasampler files. liblscp
150     is a C library written as a wrapper around the LSCP network protocol, thus to control
151     linuxsampler. It was originally designed to be used on both sides, that is on server /
152     backend side (linuxsampler) and on client / frontend side (e.g. qsampler). But it's now
153 schoenebeck 895 only used on client side by qsampler at the moment. jsampler is another GUI frontend for
154     linuxsampler, it's written in Java and thus platform independent. jlscp is a library which
155     can be compared with liblscp, with the only difference that jlscp is written in Java and
156     liblscp in C. jsampler requires jlscp.
157    
158 senoner 542 </p>
159    
160     <h3>What do I need to compile and install?</h3>
161     <p class="default">
162 schoenebeck 585 You should compile and install at least libgig and linuxsampler. As a beginner you should
163 schoenebeck 895 definitely as well compile and install a convenient GUI frontend like either qsampler or
164     jsampler, whatever you prefer. qsampler depends on liblscp, so you have to
165 schoenebeck 585 compile and install liblscp before starting to build qsampler. The recommended order to
166     compile and install is:
167     <ol class="default">
168     <li>libgig</li>
169     <li>linuxsampler</li>
170     <li>liblscp</li>
171     <li>qsampler</li>
172     </ol>
173 senoner 542 </p>
174    
175 schoenebeck 616 <h3>Compilation of LinuxSampler aborts with ... </h3>
176     <p class="default">
177 schoenebeck 895 &bull;&nbsp;&nbsp;&nbsp;"<code>can't find a register in class `GENERAL_REGS' while reloading `asm'</code>"<br>
178     <br>
179     This is caused by the inline assembly code for
180     <a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of
181     linuxsampler. You have to compile older versions of LinuxSampler (v0.3.3 and older) with
182     -O2 or -O3 to avoid this problem. Usually this is done by default, if not try:
183     <br>
184     <table class="default" border="0" cellpadding="1" cellspacing="5">
185     <tr>
186     <td><pre class="code">1
187 schoenebeck 618 2</pre>
188 schoenebeck 895 </td>
189     <td width="100%">
190     <pre class="code">CXXFLAGS="-O3" ./configure
191 schoenebeck 618 make</pre>
192 schoenebeck 895 </td>
193     </tr>
194     </table>
195     <br>
196 schoenebeck 618 Alternatively you could also disable all hand-crafted assembly optimization code by:
197 schoenebeck 895 <table class="default" border="0" cellpadding="1" cellspacing="5">
198 schoenebeck 618 <tr>
199     <td><pre class="code">1
200     2</pre>
201     </td>
202     <td width="100%">
203     <pre class="code">./configure --disable-asm
204     make</pre>
205     </td>
206     </tr>
207 schoenebeck 895 </table>
208     <br>
209 schoenebeck 807 but the latter is definitely not recommended, as it will increase CPU usage a lot!
210 schoenebeck 618 </p>
211 schoenebeck 895
212 schoenebeck 807 <p class="default">
213 schoenebeck 895 &bull;&nbsp;&nbsp;&nbsp;"<code>../common/Resampler.h:142: error: memory input 2 is not directly addressable</code>"<br>
214     <br>
215 schoenebeck 807 This was reported (<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9018347&forum_id=12792">1</a>,
216     <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9019467&forum_id=12792">2</a>)
217 schoenebeck 895 to be a gcc/g++ version problem, in conjunction with the inline assembly code for
218     <a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of
219     linuxsampler. Make sure you got gcc and g++, both of version 3.3 or higher installed.
220     You can check this with:
221     <table class="default" border="0" cellpadding="1" cellspacing="5">
222 schoenebeck 807 <tr>
223     <td><pre class="code">1
224     2</pre>
225     </td>
226     <td width="100%">
227     <pre class="code">gcc --version
228     g++ --version</pre>
229     </td>
230     </tr>
231 schoenebeck 895 </table>
232 schoenebeck 807 In case you already got gcc and g++ of version 3.3 or higher
233     installed and it still causes the compilation error mentioned
234     above, try the following:
235 schoenebeck 895 <table class="default" border="0" cellpadding="1" cellspacing="5">
236 schoenebeck 807 <tr>
237     <td><pre class="code">1
238     2</pre>
239     </td>
240     <td width="100%">
241     <pre class="code">export CC=`which gcc`
242     export CXX=`which g++`</pre>
243     </td>
244     </tr>
245 schoenebeck 895 </table>
246     On certain systems however you still get this error in conjunction with older
247     versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of
248     linuxsampler are not affected anymore
249     (<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=34">read this for details</a>).
250     </p>
251 schoenebeck 616
252 senoner 542 <h3>How do I checkout from CVS?</h3>
253     <p class="default">
254     The procedure of checking out the newest version from CVS is described on the
255 schoenebeck 895 <a href="downloads.html#cvs">Downloads</a> site and on the
256     <a href="http://cvs.linuxsampler.org/cgi-bin/viewcvs.cgi/">web interface site
257     of our CVS server</a>.
258 senoner 542 </p>
259    
260     <h3>How do I compile from CVS?</h3>
261     <p class="default">
262     The procedure for compiling from CVS is the same for all subprojects, that is no matter
263 schoenebeck 585 if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you need to
264 senoner 542 have the autotools (automake, autoconf and libtool) installed and compile it that way:
265 schoenebeck 895 <table class="default" border="0" cellpadding="1" cellspacing="5">
266 senoner 542 <tr>
267     <td><pre class="code">1
268     2
269     3</pre>
270     </td>
271     <td width="100%">
272     <pre class="code">make -f Makefile.cvs
273     ./configure
274     make</pre>
275     </td>
276     </tr>
277 schoenebeck 895 </table>
278     </p>
279 senoner 542
280     <h3>Can I use linuxsampler without a GUI as well?</h3>
281     <p class="default">
282 schoenebeck 895 Yes, but unfortunately there is no console based frontend for linuxsampler (yet).
283     You have to write LSCP scripts and send it to the running linuxsampler application. But
284     don't worry, if you don't know how to write LSCP scripts, you can also start by saving
285     a sampler session with QSampler, because the session files qsampler writes are actually
286     real LSCP scripts. You can send a LSCP script to linuxsampler on the console with the
287     following command:
288     <table class="default" border="0" cellpadding="1" cellspacing="5">
289 senoner 542 <tr>
290     <td><pre class="code">1</pre>
291     </td>
292     <td width="100%">
293 schoenebeck 895 <pre class="code">cat yourscript.lscp | netcat localhost 8888</pre>
294     </td>
295     </tr>
296     </table>
297     or on certain systems (like Debian) you have to provide the -t switch:
298     <table class="default" border="0" cellpadding="1" cellspacing="5">
299     <tr>
300     <td><pre class="code">1</pre>
301     </td>
302     <td width="100%">
303 senoner 542 <pre class="code">cat yourscript.lscp | netcat -t localhost 8888</pre>
304     </td>
305     </tr>
306 schoenebeck 895 </table>
307 senoner 542 Of course you can also replace localhost by the IP address of the machine where
308     linuxsampler is running. Alternatively you can also make a telnet connection (port 8888)
309     to linuxsampler's LSCP server and type commands manually.
310     </p>
311    
312    
313     <h3>Are there example LSCP script files somewhere?</h3>
314     <p class="default">
315     Yes, have a look on the <a href="documentation.html">Documentation</a> site for some
316     common LSCP script examples. For details about LSCP read the
317     <a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>. Be welcome to ask
318 schoenebeck 895 questions for details about LSCP on the
319     <a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel">mailing list</a>.
320 senoner 542 </p>
321    
322     <a name="dropouts"></a>
323     <h3>I get dropouts (click sounds, noise), what can I do about it?</h3>
324     <p class="default">
325     In order to achieve good results under Linux you need to have a
326     <a href="http://www.linuxdj.com/audio/lad/resourceslatency.php3">patched kernel</a>.
327     There are different patches available depending on what version (2.4.x or 2.6.x) of kernel you use.
328     The <a href="http://jackit.sourceforge.net/docs/faq.php">JACK FAQ site</a> is also a good resource
329     how to configure a realtime stable kernel. But note; LinuxSampler currently has not support for
330     libcap yet, that means if you are still using a 2.4.x Linux kernel you most probably have to run
331 schoenebeck 895 LinuxSampler with root priviliges. As a rule of thumb: if you don't get warnings like "cannot
332     mlockall() memory" on the console, you are safe to run it as ordinary user as well.
333 senoner 542 </p>
334    
335     </div>
336     </td></tr></table>
337    
338     </div>
339    
340     </body>
341     </html>

  ViewVC Help
Powered by ViewVC