/[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 807 - (hide annotations) (download) (as text)
Mon Nov 21 14:25:10 2005 UTC (18 years, 5 months ago) by schoenebeck
File MIME type: text/html
File size: 14130 byte(s)
added another trouble shooting report

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     There are currently four subprojects in the LinuxSampler project; linuxsampler,
138     qsampler, libgig and liblscp. linuxsampler is the core of the sampler, it includes the
139     sampler engines and audio and MIDI drivers. linuxsampler itself is decoupled from any
140     user interface. It offers 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     qsampler is the first GUI frontend written for linuxsampler, it is written with the Qt
144     GUI library and thus can be compiled for various architectures and operating systems
145     without modifications on the source code.
146     libgig is a C++ library written for loading Gigasampler files and DLS Level 1 and 2
147     files. libgig is used by linuxsampler to load Gigasampler files and it <b>can</b> be
148     used by qsampler to retrieve additional informations about Gigasampler files. liblscp
149     is a C library written as a wrapper around the LSCP network protocol, thus to control
150     linuxsampler. It was originally designed to be used on both sides, that is on server /
151     backend side (linuxsampler) and on client / frontend side (e.g. qsampler). But it's now
152     only used on client side by qsampler at the moment.
153     </p>
154    
155     <h3>What do I need to compile and install?</h3>
156     <p class="default">
157 schoenebeck 585 You should compile and install at least libgig and linuxsampler. As a beginner you should
158     definitely as well compile and install liblscp and qsampler. qsampler is a
159 senoner 542 convenient GUI frontend for linuxsampler. qsampler depends on liblscp, so you have to
160 schoenebeck 585 compile and install liblscp before starting to build qsampler. The recommended order to
161     compile and install is:
162     <ol class="default">
163     <li>libgig</li>
164     <li>linuxsampler</li>
165     <li>liblscp</li>
166     <li>qsampler</li>
167     </ol>
168 senoner 542 </p>
169    
170 schoenebeck 616 <h3>Compilation of LinuxSampler aborts with ... </h3>
171     <p class="default">
172     "<code>can't find a register in class `GENERAL_REGS' while reloading `asm'</code>"<br>
173 schoenebeck 618 This is caused by the inline assembly code for SIMD optimization. You currently have to compile LinuxSampler with -O2 or -O3 to avoid this problem. Usually this done by default, if not try:
174 schoenebeck 616 </p>
175 schoenebeck 618 <table class="default" border="0" cellpadding="1" cellspacing="5">
176     <tr>
177     <td><pre class="code">1
178     2</pre>
179     </td>
180     <td width="100%">
181     <pre class="code">CXXFLAGS="-O3" ./configure
182     make</pre>
183     </td>
184     </tr>
185     </table>
186     <p class="default">
187     Alternatively you could also disable all hand-crafted assembly optimization code by:
188     </p>
189     <table class="default" border="0" cellpadding="1" cellspacing="5">
190     <tr>
191     <td><pre class="code">1
192     2</pre>
193     </td>
194     <td width="100%">
195     <pre class="code">./configure --disable-asm
196     make</pre>
197     </td>
198     </tr>
199     </table>
200     <p class="default">
201 schoenebeck 807 but the latter is definitely not recommended, as it will increase CPU usage a lot!
202 schoenebeck 618 </p>
203 schoenebeck 807 <p class="default">
204     "<code>../common/Resampler.h:142: error: memory input 2 is not directly addressable</code>"<br>
205     This was reported (<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9018347&forum_id=12792">1</a>,
206     <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9019467&forum_id=12792">2</a>)
207     to be a gcc/g++ version problem. Make sure you got gcc and g++,
208     both of version 3.3 or higher installed. You can check this with:
209     </p>
210     <table class="default" border="0" cellpadding="1" cellspacing="5">
211     <tr>
212     <td><pre class="code">1
213     2</pre>
214     </td>
215     <td width="100%">
216     <pre class="code">gcc --version
217     g++ --version</pre>
218     </td>
219     </tr>
220     </table>
221     <p class="default">
222     In case you already got gcc and g++ of version 3.3 or higher
223     installed and it still causes the compilation error mentioned
224     above, try the following:
225     </p>
226     <table class="default" border="0" cellpadding="1" cellspacing="5">
227     <tr>
228     <td><pre class="code">1
229     2</pre>
230     </td>
231     <td width="100%">
232     <pre class="code">export CC=`which gcc`
233     export CXX=`which g++`</pre>
234     </td>
235     </tr>
236     </table>
237 schoenebeck 616
238 senoner 542 <h3>How do I checkout from CVS?</h3>
239     <p class="default">
240     The procedure of checking out the newest version from CVS is described on the
241     <a href="downloads.html">Downloads</a> site.
242     </p>
243    
244     <h3>How do I compile from CVS?</h3>
245     <p class="default">
246     The procedure for compiling from CVS is the same for all subprojects, that is no matter
247 schoenebeck 585 if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you need to
248 senoner 542 have the autotools (automake, autoconf and libtool) installed and compile it that way:
249     </p>
250     <table class="default" border="0" cellpadding="1" cellspacing="5">
251     <tr>
252     <td><pre class="code">1
253     2
254     3</pre>
255     </td>
256     <td width="100%">
257     <pre class="code">make -f Makefile.cvs
258     ./configure
259     make</pre>
260     </td>
261     </tr>
262     </table>
263    
264     <h3>Can I use linuxsampler without a GUI as well?</h3>
265     <p class="default">
266     Yes, but unfortunately there is no console based frontend frontend for linuxsampler (yet).
267     You have to write LSCP scripts and send it to the running linuxsampler application.
268     You can send a LSCP script to linuxsampler on the console with the following command:
269     </p>
270     <table class="default" border="0" cellpadding="1" cellspacing="5">
271     <tr>
272     <td><pre class="code">1</pre>
273     </td>
274     <td width="100%">
275     <pre class="code">cat yourscript.lscp | netcat -t localhost 8888</pre>
276     </td>
277     </tr>
278     </table>
279     <p class="default">
280     Of course you can also replace localhost by the IP address of the machine where
281     linuxsampler is running. Alternatively you can also make a telnet connection (port 8888)
282     to linuxsampler's LSCP server and type commands manually.
283     </p>
284    
285    
286     <h3>Are there example LSCP script files somewhere?</h3>
287     <p class="default">
288     Yes, have a look on the <a href="documentation.html">Documentation</a> site for some
289     common LSCP script examples. For details about LSCP read the
290     <a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>. Be welcome to ask
291     questions for details about LSCP on the mailing list.
292     </p>
293    
294     <a name="dropouts"></a>
295     <h3>I get dropouts (click sounds, noise), what can I do about it?</h3>
296     <p class="default">
297     In order to achieve good results under Linux you need to have a
298     <a href="http://www.linuxdj.com/audio/lad/resourceslatency.php3">patched kernel</a>.
299     There are different patches available depending on what version (2.4.x or 2.6.x) of kernel you use.
300     The <a href="http://jackit.sourceforge.net/docs/faq.php">JACK FAQ site</a> is also a good resource
301     how to configure a realtime stable kernel. But note; LinuxSampler currently has not support for
302     libcap yet, that means if you are still using a 2.4.x Linux kernel you most probably have to run
303     LinuxSampler with root priviliges (support for libcap is planned though). As a rule of thumb: if
304     you don't get warnings like "cannot mlockall() memory" you are safe to run it as ordinary user as well.
305     </p>
306    
307     </div>
308     </td></tr></table>
309    
310     </div>
311    
312     </body>
313     </html>

  ViewVC Help
Powered by ViewVC