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 |
schoenebeck |
1675 |
supportover = new Image(); |
53 |
|
|
supportover.src = dir + "msupporthover.png"; |
54 |
|
|
supportout = new Image(); |
55 |
|
|
supportout.src = dir + "msupport.png"; |
56 |
|
|
|
57 |
senoner |
542 |
developersover = new Image(); |
58 |
|
|
developersover.src = dir + "mdevelopershover.png"; |
59 |
|
|
|
60 |
|
|
developersout = new Image(); |
61 |
|
|
developersout.src = dir + "mdevelopers.png"; |
62 |
|
|
|
63 |
|
|
instrumentsover = new Image(); |
64 |
|
|
instrumentsover.src = dir + "minstrumentshover.png"; |
65 |
|
|
|
66 |
|
|
instrumentsout = new Image(); |
67 |
|
|
instrumentsout.src = dir + "minstruments.png"; |
68 |
|
|
|
69 |
|
|
linksover = new Image(); |
70 |
|
|
linksover.src = dir + "mlinkshover.png"; |
71 |
|
|
|
72 |
|
|
linksout = new Image(); |
73 |
|
|
linksout.src = dir + "mlinks.png"; |
74 |
|
|
|
75 |
|
|
documentationover = new Image(); |
76 |
|
|
documentationover.src = dir + "mdocumentationhover.png"; |
77 |
|
|
|
78 |
|
|
documentationout = new Image(); |
79 |
|
|
documentationout.src = dir + "mdocumentation.png"; |
80 |
|
|
|
81 |
|
|
creditsover = new Image(); |
82 |
|
|
creditsover.src = dir + "mcreditshover.png"; |
83 |
|
|
|
84 |
|
|
creditsout = new Image(); |
85 |
|
|
creditsout.src = dir + "mcredits.png"; |
86 |
|
|
|
87 |
|
|
faqover = new Image(); |
88 |
|
|
faqover.src = dir + "mfaqhover.png"; |
89 |
|
|
|
90 |
|
|
faqout = new Image(); |
91 |
|
|
faqout.src = dir + "mfaq.png"; |
92 |
|
|
|
93 |
|
|
bugsover = new Image(); |
94 |
|
|
bugsover.src = dir + "mbugshover.png"; |
95 |
|
|
|
96 |
|
|
bugsout = new Image(); |
97 |
|
|
bugsout.src = dir + "mbugs.png"; |
98 |
|
|
} |
99 |
|
|
--> |
100 |
|
|
</script> |
101 |
|
|
|
102 |
|
|
</head> |
103 |
|
|
|
104 |
|
|
<body> |
105 |
|
|
|
106 |
|
|
<div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler"> |
107 |
|
|
|
108 |
|
|
<h1><span class="hidden">The LinuxSampler Project</span></h1> |
109 |
|
|
|
110 |
|
|
<table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left> |
111 |
|
|
<img name="h1blank" src="gfx/h1blank.png" alt="blank"><span class="hidden">about</span></th></tr> |
112 |
|
|
<tr><td valign=top> |
113 |
|
|
<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> |
114 |
|
|
<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> |
115 |
|
|
<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> |
116 |
|
|
<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> |
117 |
|
|
<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> |
118 |
|
|
<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> |
119 |
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> |
120 |
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> |
121 |
|
|
<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> |
122 |
|
|
<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> |
123 |
|
|
<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> |
124 |
|
|
<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> |
125 |
|
|
<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> |
126 |
|
|
<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> |
127 |
|
|
</td><td valign=top width="100%"> |
128 |
|
|
<div id="contents"> |
129 |
|
|
|
130 |
|
|
<h2>FAQ</h2> |
131 |
schoenebeck |
1468 |
<div class="groupbox"> |
132 |
senoner |
542 |
Here is a collection of frequently asked questions. Please read them before asking on |
133 |
schoenebeck |
896 |
the mailing list.<br> |
134 |
schoenebeck |
1468 |
<br> |
135 |
|
|
1. License<br> |
136 |
|
|
1.1 <a href="#commercial_products">Can I use LinuxSampler in commercial hardware or software products?</a><br> |
137 |
|
|
1.2 <a href="#commercial_music">Can I use LinuxSampler for commercial music production?</a><br> |
138 |
|
|
1.3 <a href="#open_source">LinuxSampler is not open source, you are evil!</a><br> |
139 |
schoenebeck |
1469 |
1.4 <a href="#closed_source">Will LinuxSampler turn closed-source?</a><br> |
140 |
|
|
1.5 <a href="#ls_license_change">I've heard the commercial exception of LinuxSampler was added at a certain version?</a><br> |
141 |
|
|
1.6 <a href="#ls_breaking_libgig_license">Doesn't LinuxSampler illegally link against libgig?</a><br> |
142 |
|
|
1.7 <a href="#ls_breaking_license">Doesn't LinuxSampler illegally link against other libraries?</a><br> |
143 |
schoenebeck |
1468 |
2. General Questions<br> |
144 |
|
|
2.1 <a href="#aga">linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</a><br> |
145 |
|
|
2.2 <a href="#no_gui">Can I use linuxsampler without a GUI as well?</a><br> |
146 |
|
|
3. Compilation / Installation<br> |
147 |
|
|
3.1 <a href="#install">What do I need to compile and install?</a><br> |
148 |
|
|
3.2 <a href="#compilarion_error">Compilation of LinuxSampler aborts with ...</a><br> |
149 |
|
|
3.3 <a href="#cvs_checkout">How do I checkout from CVS?</a><br> |
150 |
|
|
3.4 <a href="#compile_cvs">How do I compile from CVS?</a><br> |
151 |
|
|
4. Setup<br> |
152 |
|
|
4.1 <a href="#examples_lscp">Are there example LSCP script files somewhere?</a><br> |
153 |
|
|
4.2 <a href="#dropouts">I get dropouts (click sounds, noise), what can I do about it?</a><br> |
154 |
schoenebeck |
1586 |
4.3 <a href="#runtime_error">LinuxSampler aborts at runtime with ...</a><br> |
155 |
schoenebeck |
1468 |
<br> |
156 |
|
|
</div> |
157 |
schoenebeck |
896 |
|
158 |
|
|
<a name="commercial_products"></a> |
159 |
|
|
<h3>Can I use LinuxSampler in commercial hardware or software products?</h3> |
160 |
senoner |
702 |
<p class="default"> |
161 |
schoenebeck |
703 |
You are NOT ALLOWED to use LinuxSampler source code, libraries or applications in |
162 |
|
|
COMMERCIAL hardware or software products without prior written authorization by the |
163 |
|
|
<a href="developers.html">authors</a>. <A HREF="downloads.html">See here</A> |
164 |
schoenebeck |
896 |
</p> |
165 |
senoner |
542 |
|
166 |
schoenebeck |
896 |
<a name="commercial_music"></a> |
167 |
|
|
<h3>Can I use LinuxSampler for commercial music production?</h3> |
168 |
|
|
<p class="default"> |
169 |
|
|
Hell, yes! Every indirect commercial usage of LinuxSampler, which essentially means |
170 |
|
|
using its audio output, can of course be used in commercial applications like music |
171 |
|
|
productions, live shows, etc. Don't get us wrong, with the mentioned commercial |
172 |
|
|
exception we don't want to restrict the normal user / musician, we just want to avoid |
173 |
|
|
somebody to directly make money with our work, that is by selling our software in a |
174 |
|
|
sampler product like a sampler + sample library bundle, a hardware sampler or |
175 |
|
|
something equivalent, at least not without giving something back to the open source |
176 |
|
|
Community. |
177 |
|
|
</p> |
178 |
|
|
|
179 |
|
|
<a name="open_source"></a> |
180 |
|
|
<h3>LinuxSampler is not open source, you are evil!</h3> |
181 |
|
|
<p class="default"> |
182 |
|
|
There are of course many definitions of the term "open source", but according to the |
183 |
|
|
<a href="http://en.wikipedia.org/wiki/Open_source">definition on Wikipedia</a> |
184 |
|
|
LinuxSampler is in fact open source, since you've got complete access to its source |
185 |
|
|
code. So due to this fact, a normal user / musician is free to do with LinuxSampler |
186 |
|
|
what he likes to do, he can even adjust and tweak every single part of the software |
187 |
|
|
by modifying and compiling its source code. And just the fact that we want to avoid |
188 |
|
|
our work to be directly exploited in commercial software or hardware products is |
189 |
schoenebeck |
897 |
definitely not an "evil" intention. For the normal user / musician the commercial |
190 |
schoenebeck |
896 |
restriction is even an advantage, since that way commercial actors are forced to |
191 |
|
|
support this or another open source project either directly by coding or indirectly |
192 |
|
|
by funding and thus increase development speed. |
193 |
|
|
</p> |
194 |
|
|
|
195 |
schoenebeck |
1468 |
<a name="closed_source"></a> |
196 |
|
|
<h3>Will LinuxSampler turn closed-source?</h3> |
197 |
|
|
<p class="default"> |
198 |
|
|
No, LinuxSampler will remain open source. Again, the commercial exception is just to |
199 |
|
|
prevent commercial exploitation by third parties that haven't contributed anything to |
200 |
|
|
open source projects. |
201 |
|
|
</p> |
202 |
|
|
|
203 |
|
|
<a name="ls_license_change"></a> |
204 |
|
|
<h3>I've heard the commercial exception of LinuxSampler was added at a certain version?</h3> |
205 |
|
|
<p class="default"> |
206 |
|
|
No, the commercial exception in LinuxSampler's license terms were there since day one. |
207 |
|
|
Even further it's not only there since the very first publicly available CVS |
208 |
|
|
(developer) version of LinuxSampler, that commercial exception was even already in |
209 |
|
|
Benno Senoner's proof of concept code called "EVO", which LinuxSampler was based on. |
210 |
|
|
There was even a rumour that we would have manipulated CVS history to "pretend" this |
211 |
|
|
exception wasn't added at a later point. Needless to say that this rumour is completely |
212 |
|
|
false as well. Think about it! We're a group of developers spread around the world who |
213 |
|
|
work on this project for fun and ideology in our spare time. Most of us contributed to |
214 |
|
|
various other open source / free software projects. Do you seriously think we would |
215 |
|
|
cheat on such an issue? Beside that you certainly find various people completely |
216 |
|
|
unrelated to this project who still have early versions of LinuxSampler and / or EVO |
217 |
|
|
and thus can confirm that this commercial exception was always there. |
218 |
|
|
</p> |
219 |
|
|
|
220 |
|
|
<a name="ls_breaking_libgig_license"></a> |
221 |
|
|
<h3>Doesn't LinuxSampler illegally link against libgig?</h3> |
222 |
|
|
<p class="default"> |
223 |
|
|
No! LinuxSampler does not "illegally" link against libgig, since the copyright holder |
224 |
|
|
(in this case of libgig) has all rights of his work and thus is not bound to his own |
225 |
|
|
license terms. The sole purpose of license terms is to grant other people certain |
226 |
|
|
rights to use the work. |
227 |
|
|
</p> |
228 |
|
|
|
229 |
|
|
<a name="ls_breaking_license"></a> |
230 |
|
|
<h3>Doesn't LinuxSampler illegally link against other libraries?</h3> |
231 |
|
|
<p class="default"> |
232 |
|
|
No, the only library LinuxSampler links to that has license restrictions regarding |
233 |
|
|
linking is libgig (<a href="#ls_breaking_libgig_license">see above</a>). Especially |
234 |
|
|
LinuxSampler does not break Qt's license terms, since it does not link against Qt at |
235 |
|
|
all. |
236 |
|
|
</p> |
237 |
|
|
|
238 |
schoenebeck |
896 |
<a name="aga"></a> |
239 |
schoenebeck |
1404 |
<h3>linuxsampler? qsampler? jsampler? gigedit? libgig? liblscp? jlscp? ... hu?</h3> |
240 |
senoner |
542 |
<p class="default"> |
241 |
schoenebeck |
1404 |
There are currently seven subprojects in the LinuxSampler project; jlscp, jsampler, |
242 |
|
|
libgig, liblscp, linuxsampler, gigedit and qsampler. linuxsampler is the core of the sampler, it includes the |
243 |
senoner |
542 |
sampler engines and audio and MIDI drivers. linuxsampler itself is decoupled from any |
244 |
schoenebeck |
895 |
user interface. It offers a native C++ API as well as a network server (LSCP server) to allow to be controlled by |
245 |
schoenebeck |
585 |
an arbitrary user frontend from an arbitrary place over a network connection or |
246 |
schoenebeck |
1404 |
(of course) locally from the same machine as well. This decoupled / |
247 |
|
|
<a href="http://en.wikipedia.org/wiki/Backend">"backend"</a> design |
248 |
|
|
of the sampler allows to run it even on a machine without any graphical interface, |
249 |
|
|
without a Desktop, the machine doesn't even have to have a graphics card! |
250 |
|
|
qsampler is the first <a href="http://en.wikipedia.org/wiki/Graphical_user_interface">GUI</a> |
251 |
|
|
<a href="http://en.wikipedia.org/wiki/Frontend">frontend</a> |
252 |
|
|
written for linuxsampler, it is written in C++ using the Qt |
253 |
senoner |
542 |
GUI library and thus can be compiled for various architectures and operating systems |
254 |
schoenebeck |
895 |
without modifications of the source code. |
255 |
schoenebeck |
1404 |
gigedit is an instruments editor application for Gigasampler format files. You can |
256 |
|
|
run it as stand-alone application or in conjunction with LinuxSampler. In the latter |
257 |
|
|
case you can play and immediately hear all your modifications made with gigedit in |
258 |
|
|
realtime. |
259 |
schoenebeck |
895 |
libgig is a C++ library written for accessing Gigasampler files and DLS Level 1 and 2 |
260 |
schoenebeck |
897 |
files, that is for reading and (since version 3.0.0) also writing of those files. |
261 |
schoenebeck |
1404 |
libgig is used by linuxsampler to load Gigasampler files, it is used by gigedit to |
262 |
|
|
load, modify and create new Gigasampler files and it <b>can</b> be |
263 |
senoner |
542 |
used by qsampler to retrieve additional informations about Gigasampler files. liblscp |
264 |
|
|
is a C library written as a wrapper around the LSCP network protocol, thus to control |
265 |
|
|
linuxsampler. It was originally designed to be used on both sides, that is on server / |
266 |
|
|
backend side (linuxsampler) and on client / frontend side (e.g. qsampler). But it's now |
267 |
schoenebeck |
895 |
only used on client side by qsampler at the moment. jsampler is another GUI frontend for |
268 |
|
|
linuxsampler, it's written in Java and thus platform independent. jlscp is a library which |
269 |
|
|
can be compared with liblscp, with the only difference that jlscp is written in Java and |
270 |
|
|
liblscp in C. jsampler requires jlscp. |
271 |
schoenebeck |
897 |
|
272 |
senoner |
542 |
</p> |
273 |
|
|
|
274 |
schoenebeck |
896 |
<a name="install"></a> |
275 |
senoner |
542 |
<h3>What do I need to compile and install?</h3> |
276 |
|
|
<p class="default"> |
277 |
schoenebeck |
585 |
You should compile and install at least libgig and linuxsampler. As a beginner you should |
278 |
schoenebeck |
895 |
definitely as well compile and install a convenient GUI frontend like either qsampler or |
279 |
|
|
jsampler, whatever you prefer. qsampler depends on liblscp, so you have to |
280 |
schoenebeck |
1404 |
compile and install liblscp before starting to build qsampler. Also if you like to be |
281 |
|
|
able to edit instruments, you should compile and install gigedit as well. The recommended |
282 |
|
|
order to compile and install is: |
283 |
schoenebeck |
585 |
<ol class="default"> |
284 |
|
|
<li>libgig</li> |
285 |
|
|
<li>linuxsampler</li> |
286 |
schoenebeck |
1404 |
<li>gigedit</li> |
287 |
schoenebeck |
585 |
<li>liblscp</li> |
288 |
|
|
<li>qsampler</li> |
289 |
|
|
</ol> |
290 |
senoner |
542 |
</p> |
291 |
schoenebeck |
1404 |
<p class="default"> |
292 |
|
|
Of course you can also install QSampler and JSampler side by side. So you can test and use |
293 |
|
|
both at the same time. |
294 |
|
|
</p> |
295 |
senoner |
542 |
|
296 |
schoenebeck |
896 |
<a name="compilarion_error"></a> |
297 |
schoenebeck |
616 |
<h3>Compilation of LinuxSampler aborts with ... </h3> |
298 |
schoenebeck |
1404 |
|
299 |
schoenebeck |
616 |
<p class="default"> |
300 |
schoenebeck |
1404 |
• "<code>Required libgig version not found...</code>"<br> |
301 |
|
|
<br> |
302 |
|
|
This error might occur when running LinuxSampler's configure script. Make sure |
303 |
|
|
you have the required libgig version installed. If you're compiling a CVS |
304 |
|
|
version of LinuxSampler you usually have to compile and install the current |
305 |
|
|
CVS version of libgig as well. Also note there are couple common mistakes which |
306 |
|
|
let this error occur even after having compiled and installed the required |
307 |
|
|
libgig version. Read |
308 |
|
|
<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=29">this bug report</a> |
309 |
|
|
about common mistakes and how you can fix them. |
310 |
|
|
</p> |
311 |
|
|
|
312 |
|
|
<p class="default"> |
313 |
schoenebeck |
895 |
• "<code>can't find a register in class `GENERAL_REGS' while reloading `asm'</code>"<br> |
314 |
|
|
<br> |
315 |
|
|
This is caused by the inline assembly code for |
316 |
|
|
<a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of |
317 |
|
|
linuxsampler. You have to compile older versions of LinuxSampler (v0.3.3 and older) with |
318 |
|
|
-O2 or -O3 to avoid this problem. Usually this is done by default, if not try: |
319 |
|
|
<br> |
320 |
schoenebeck |
1279 |
</p> |
321 |
|
|
<pre class="code">CXXFLAGS="-O3" ./configure |
322 |
schoenebeck |
618 |
make</pre> |
323 |
schoenebeck |
1279 |
<p class="default"> |
324 |
schoenebeck |
618 |
Alternatively you could also disable all hand-crafted assembly optimization code by: |
325 |
schoenebeck |
1279 |
</p> |
326 |
|
|
<pre class="code">./configure --disable-asm |
327 |
schoenebeck |
618 |
make</pre> |
328 |
schoenebeck |
1279 |
<p class="default"> |
329 |
|
|
but the latter is definitely not recommended, as it will increase CPU usage a lot! |
330 |
schoenebeck |
618 |
</p> |
331 |
schoenebeck |
895 |
|
332 |
schoenebeck |
807 |
<p class="default"> |
333 |
schoenebeck |
895 |
• "<code>../common/Resampler.h:142: error: memory input 2 is not directly addressable</code>"<br> |
334 |
|
|
<br> |
335 |
schoenebeck |
807 |
This was reported (<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9018347&forum_id=12792">1</a>, |
336 |
|
|
<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9019467&forum_id=12792">2</a>) |
337 |
schoenebeck |
895 |
to be a gcc/g++ version problem, in conjunction with the inline assembly code for |
338 |
|
|
<a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of |
339 |
|
|
linuxsampler. Make sure you got gcc and g++, both of version 3.3 or higher installed. |
340 |
|
|
You can check this with: |
341 |
schoenebeck |
1279 |
</p> |
342 |
|
|
<pre class="code">gcc --version |
343 |
schoenebeck |
807 |
g++ --version</pre> |
344 |
schoenebeck |
1279 |
<p class="default"> |
345 |
schoenebeck |
807 |
In case you already got gcc and g++ of version 3.3 or higher |
346 |
|
|
installed and it still causes the compilation error mentioned |
347 |
|
|
above, try the following: |
348 |
schoenebeck |
1279 |
</p> |
349 |
|
|
<pre class="code">export CC=`which gcc` |
350 |
schoenebeck |
807 |
export CXX=`which g++`</pre> |
351 |
schoenebeck |
1279 |
<p class="default"> |
352 |
schoenebeck |
895 |
On certain systems however you still get this error in conjunction with older |
353 |
|
|
versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of |
354 |
|
|
linuxsampler are not affected anymore |
355 |
|
|
(<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=34">read this for details</a>). |
356 |
|
|
</p> |
357 |
schoenebeck |
616 |
|
358 |
schoenebeck |
896 |
<a name="cvs_checkout"></a> |
359 |
senoner |
542 |
<h3>How do I checkout from CVS?</h3> |
360 |
|
|
<p class="default"> |
361 |
|
|
The procedure of checking out the newest version from CVS is described on the |
362 |
schoenebeck |
895 |
<a href="downloads.html#cvs">Downloads</a> site and on the |
363 |
|
|
<a href="http://cvs.linuxsampler.org/cgi-bin/viewcvs.cgi/">web interface site |
364 |
|
|
of our CVS server</a>. |
365 |
senoner |
542 |
</p> |
366 |
|
|
|
367 |
schoenebeck |
896 |
<a name="compile_cvs"></a> |
368 |
senoner |
542 |
<h3>How do I compile from CVS?</h3> |
369 |
|
|
<p class="default"> |
370 |
|
|
The procedure for compiling from CVS is the same for all subprojects, that is no matter |
371 |
schoenebeck |
585 |
if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you need to |
372 |
senoner |
542 |
have the autotools (automake, autoconf and libtool) installed and compile it that way: |
373 |
schoenebeck |
1279 |
<pre class="code">make -f Makefile.cvs |
374 |
senoner |
542 |
./configure |
375 |
|
|
make</pre> |
376 |
schoenebeck |
895 |
</p> |
377 |
senoner |
542 |
|
378 |
schoenebeck |
896 |
<a name="no_gui"></a> |
379 |
senoner |
542 |
<h3>Can I use linuxsampler without a GUI as well?</h3> |
380 |
|
|
<p class="default"> |
381 |
schoenebeck |
895 |
Yes, but unfortunately there is no console based frontend for linuxsampler (yet). |
382 |
|
|
You have to write LSCP scripts and send it to the running linuxsampler application. But |
383 |
|
|
don't worry, if you don't know how to write LSCP scripts, you can also start by saving |
384 |
|
|
a sampler session with QSampler, because the session files qsampler writes are actually |
385 |
|
|
real LSCP scripts. You can send a LSCP script to linuxsampler on the console with the |
386 |
|
|
following command: |
387 |
schoenebeck |
1279 |
</p> |
388 |
schoenebeck |
1404 |
<pre class="code">netcat localhost 8888 < yourscript.lscp</pre> |
389 |
schoenebeck |
1279 |
<p class="default"> |
390 |
|
|
or on certain systems (like Debian) you have to provide the -t switch: |
391 |
|
|
</p> |
392 |
schoenebeck |
1404 |
<pre class="code">netcat -t localhost 8888 < yourscript.lscp</pre> |
393 |
schoenebeck |
1279 |
<p class="default"> |
394 |
senoner |
542 |
Of course you can also replace localhost by the IP address of the machine where |
395 |
|
|
linuxsampler is running. Alternatively you can also make a telnet connection (port 8888) |
396 |
|
|
to linuxsampler's LSCP server and type commands manually. |
397 |
|
|
</p> |
398 |
|
|
|
399 |
schoenebeck |
896 |
<a name="examples_lscp"></a> |
400 |
senoner |
542 |
<h3>Are there example LSCP script files somewhere?</h3> |
401 |
|
|
<p class="default"> |
402 |
|
|
Yes, have a look on the <a href="documentation.html">Documentation</a> site for some |
403 |
|
|
common LSCP script examples. For details about LSCP read the |
404 |
|
|
<a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>. Be welcome to ask |
405 |
schoenebeck |
895 |
questions for details about LSCP on the |
406 |
|
|
<a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel">mailing list</a>. |
407 |
senoner |
542 |
</p> |
408 |
|
|
|
409 |
|
|
<a name="dropouts"></a> |
410 |
|
|
<h3>I get dropouts (click sounds, noise), what can I do about it?</h3> |
411 |
|
|
<p class="default"> |
412 |
|
|
In order to achieve good results under Linux you need to have a |
413 |
|
|
<a href="http://www.linuxdj.com/audio/lad/resourceslatency.php3">patched kernel</a>. |
414 |
|
|
There are different patches available depending on what version (2.4.x or 2.6.x) of kernel you use. |
415 |
schoenebeck |
1045 |
The <a href="http://jackaudio.org/faq">JACK FAQ site</a> |
416 |
|
|
(or the <a href="http://jackit.sourceforge.net/docs/faq.php">old JACK FAQ site</a>) |
417 |
|
|
is also a good resource for |
418 |
senoner |
542 |
how to configure a realtime stable kernel. But note; LinuxSampler currently has not support for |
419 |
|
|
libcap yet, that means if you are still using a 2.4.x Linux kernel you most probably have to run |
420 |
schoenebeck |
895 |
LinuxSampler with root priviliges. As a rule of thumb: if you don't get warnings like "cannot |
421 |
|
|
mlockall() memory" on the console, you are safe to run it as ordinary user as well. |
422 |
senoner |
542 |
</p> |
423 |
|
|
|
424 |
schoenebeck |
1586 |
<a name="runtime_error"></a> |
425 |
|
|
<h3>LinuxSampler aborts at runtime with ... </h3> |
426 |
schoenebeck |
1595 |
<p class="default"> |
427 |
|
|
Note: For <b>Windows specific runtime errors</b>, please have a |
428 |
|
|
look at the |
429 |
|
|
<a href="windows.html#houston">Trouble Shooting</a> section of |
430 |
|
|
the LinuxSampler Windows HOWTO. |
431 |
|
|
</p> |
432 |
schoenebeck |
1586 |
|
433 |
|
|
<p class="default"> |
434 |
|
|
• "<code>gig::Engine error: Failed to |
435 |
|
|
load instrument, cause: Unknown exception while trying to |
436 |
|
|
parse gig file.</code>"<br> |
437 |
|
|
<br> |
438 |
|
|
Usually LS gives you a meaningful error message in case it |
439 |
|
|
failed to load an instrument. However there might be rare |
440 |
|
|
cases where LS cannot resolve the reason and you get an |
441 |
|
|
error message like above. In this case make sure security / |
442 |
|
|
user limits aren't set too low. You can list your current |
443 |
|
|
limits with: |
444 |
|
|
</p> |
445 |
|
|
<pre class="code">ulimit -a</pre> |
446 |
|
|
<p class="default"> |
447 |
|
|
Usually most of those settings are set to "unlimited" on |
448 |
|
|
most boxes. If this is not the case on yours, make sure that |
449 |
|
|
at least the limits for "max locked memory", "virtual |
450 |
|
|
memory" and "data seg size" are sufficiently high enough. |
451 |
|
|
The exact value depends on the instruments you want to load. |
452 |
|
|
If your security policy allows it, you could simply set |
453 |
|
|
those limits to "unlimited" (see also config file |
454 |
|
|
/etc/security/limits.conf and |
455 |
|
|
<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=41">bug report #41</a>). |
456 |
|
|
</p> |
457 |
|
|
|
458 |
senoner |
542 |
</div> |
459 |
|
|
</td></tr></table> |
460 |
|
|
|
461 |
|
|
</div> |
462 |
|
|
|
463 |
|
|
</body> |
464 |
|
|
</html> |