49 |
downloadsout = new Image(); |
downloadsout = new Image(); |
50 |
downloadsout.src = dir + "mdownloads.png"; |
downloadsout.src = dir + "mdownloads.png"; |
51 |
|
|
52 |
|
donationsover = new Image(); |
53 |
|
donationsover.src = dir + "mdonationshover.png"; |
54 |
|
|
55 |
|
donationsout = new Image(); |
56 |
|
donationsout.src = dir + "mdonations.png"; |
57 |
|
|
58 |
|
supportover = new Image(); |
59 |
|
supportover.src = dir + "msupporthover.png"; |
60 |
|
supportout = new Image(); |
61 |
|
supportout.src = dir + "msupport.png"; |
62 |
|
|
63 |
developersover = new Image(); |
developersover = new Image(); |
64 |
developersover.src = dir + "mdevelopershover.png"; |
developersover.src = dir + "mdevelopershover.png"; |
65 |
|
|
109 |
|
|
110 |
<body> |
<body> |
111 |
|
|
112 |
<div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler"> |
<div id="mainwindow"><div class="lsbackground"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler"></div> |
113 |
|
|
114 |
<h1><span class="hidden">The LinuxSampler Project</span></h1> |
<h1><span class="hidden">The LinuxSampler Project</span></h1> |
115 |
|
|
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> |
<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> |
<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> |
<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 |
|
<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 |
|
<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 |
<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> |
<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> |
<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> |
<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> |
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> |
<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> |
<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> |
<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 |
|
|
135 |
|
<div class="boxed"> |
136 |
|
<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 |
|
<a href="donations.html">Why donate?</a> |
149 |
|
</div> |
150 |
|
<p> |
151 |
|
<div class=""> |
152 |
|
<center> |
153 |
|
<script type="text/javascript"><!-- |
154 |
|
google_ad_client = "pub-3408196773880325"; |
155 |
|
/* 120x600, created 8/3/09 */ |
156 |
|
google_ad_slot = "2910827959"; |
157 |
|
google_ad_width = 120; |
158 |
|
google_ad_height = 600; |
159 |
|
//--> |
160 |
|
</script> |
161 |
|
<script type="text/javascript" |
162 |
|
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> |
163 |
|
</script> |
164 |
|
</center> |
165 |
|
</div> |
166 |
|
|
167 |
|
|
168 |
</td><td valign=top width="100%"> |
</td><td valign=top width="100%"> |
169 |
<div id="contents"> |
<div id="contents"> |
170 |
|
|
171 |
<h2>FAQ</h2> |
<h2>FAQ</h2> |
172 |
<p class="default"> |
<div class="groupbox"> |
173 |
Here is a collection of frequently asked questions. Please read them before asking on |
Here is a collection of frequently asked questions. Please read them before asking on |
174 |
the mailing list.<br> |
the mailing list.<br> |
175 |
<br> |
<br> |
176 |
<a href="#commercial_products">Can I use LinuxSampler in commercial hardware or software products?</a><br> |
1. License<br> |
177 |
<a href="#commercial_music">Can I use LinuxSampler for commercial music production?</a><br> |
1.1 <a href="#commercial_products">Can I use LinuxSampler in commercial hardware or software products?</a><br> |
178 |
<a href="#open_source">LinuxSampler is not open source, you are evil!</a><br> |
1.2 <a href="#commercial_music">Can I use LinuxSampler for commercial music production?</a><br> |
179 |
<a href="#aga">linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</a><br> |
1.3 <a href="#open_source">LinuxSampler is not open source, you are evil!</a><br> |
180 |
<a href="#install">What do I need to compile and install?</a><br> |
1.4 <a href="#closed_source">Will LinuxSampler turn closed-source?</a><br> |
181 |
<a href="#compilarion_error">Compilation of LinuxSampler aborts with ...</a><br> |
1.5 <a href="#ls_license_change">I've heard the commercial exception of LinuxSampler was added at a certain version?</a><br> |
182 |
<a href="#cvs_checkout">How do I checkout from CVS?</a><br> |
1.6 <a href="#ls_breaking_libgig_license">Doesn't LinuxSampler illegally link against libgig?</a><br> |
183 |
<a href="#compile_cvs">How do I compile from CVS?</a><br> |
1.7 <a href="#ls_breaking_license">Doesn't LinuxSampler illegally link against other libraries?</a><br> |
184 |
<a href="#no_gui">Can I use linuxsampler without a GUI as well?</a><br> |
2. General Questions<br> |
185 |
<a href="#examples_lscp">Are there example LSCP script files somewhere?</a><br> |
2.1 <a href="#aga">linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</a><br> |
186 |
<a href="#dropouts">I get dropouts (click sounds, noise), what can I do about it?</a><br> |
2.2 <a href="#no_gui">Can I use linuxsampler without a GUI as well?</a><br> |
187 |
</p> |
3. Compilation / Installation<br> |
188 |
|
3.1 <a href="#install">What do I need to compile and install?</a><br> |
189 |
|
3.2 <a href="#compilarion_error">Compilation of LinuxSampler aborts with ...</a><br> |
190 |
|
3.3 <a href="#cvs_checkout">How do I checkout from CVS?</a><br> |
191 |
|
3.4 <a href="#compile_cvs">How do I compile from CVS?</a><br> |
192 |
|
4. Setup<br> |
193 |
|
4.1 <a href="#examples_lscp">Are there example LSCP script files somewhere?</a><br> |
194 |
|
4.2 <a href="#dropouts">I get dropouts (click sounds, noise), what can I do about it?</a><br> |
195 |
|
4.3 <a href="#runtime_error">LinuxSampler aborts at runtime with ...</a><br> |
196 |
|
<br> |
197 |
|
</div> |
198 |
|
|
199 |
<a name="commercial_products"></a> |
<a name="commercial_products"></a> |
200 |
<h3>Can I use LinuxSampler in commercial hardware or software products?</h3> |
<h3>Can I use LinuxSampler in commercial hardware or software products?</h3> |
233 |
by funding and thus increase development speed. |
by funding and thus increase development speed. |
234 |
</p> |
</p> |
235 |
|
|
236 |
|
<a name="closed_source"></a> |
237 |
|
<h3>Will LinuxSampler turn closed-source?</h3> |
238 |
|
<p class="default"> |
239 |
|
No, LinuxSampler will remain open source. Again, the commercial exception is just to |
240 |
|
prevent commercial exploitation by third parties that haven't contributed anything to |
241 |
|
open source projects. |
242 |
|
</p> |
243 |
|
|
244 |
|
<a name="ls_license_change"></a> |
245 |
|
<h3>I've heard the commercial exception of LinuxSampler was added at a certain version?</h3> |
246 |
|
<p class="default"> |
247 |
|
No, the commercial exception in LinuxSampler's license terms were there since day one. |
248 |
|
Even further it's not only there since the very first publicly available CVS |
249 |
|
(developer) version of LinuxSampler, that commercial exception was even already in |
250 |
|
Benno Senoner's proof of concept code called "EVO", which LinuxSampler was based on. |
251 |
|
There was even a rumour that we would have manipulated CVS history to "pretend" this |
252 |
|
exception wasn't added at a later point. Needless to say that this rumour is completely |
253 |
|
false as well. Think about it! We're a group of developers spread around the world who |
254 |
|
work on this project for fun and ideology in our spare time. Most of us contributed to |
255 |
|
various other open source / free software projects. Do you seriously think we would |
256 |
|
cheat on such an issue? Beside that you certainly find various people completely |
257 |
|
unrelated to this project who still have early versions of LinuxSampler and / or EVO |
258 |
|
and thus can confirm that this commercial exception was always there. |
259 |
|
</p> |
260 |
|
|
261 |
|
<a name="ls_breaking_libgig_license"></a> |
262 |
|
<h3>Doesn't LinuxSampler illegally link against libgig?</h3> |
263 |
|
<p class="default"> |
264 |
|
No! LinuxSampler does not "illegally" link against libgig, since the copyright holder |
265 |
|
(in this case of libgig) has all rights of his work and thus is not bound to his own |
266 |
|
license terms. The sole purpose of license terms is to grant other people certain |
267 |
|
rights to use the work. |
268 |
|
</p> |
269 |
|
|
270 |
|
<a name="ls_breaking_license"></a> |
271 |
|
<h3>Doesn't LinuxSampler illegally link against other libraries?</h3> |
272 |
|
<p class="default"> |
273 |
|
No, the only library LinuxSampler links to that has license restrictions regarding |
274 |
|
linking is libgig (<a href="#ls_breaking_libgig_license">see above</a>). Especially |
275 |
|
LinuxSampler does not break Qt's license terms, since it does not link against Qt at |
276 |
|
all. |
277 |
|
</p> |
278 |
|
|
279 |
<a name="aga"></a> |
<a name="aga"></a> |
280 |
<h3>linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</h3> |
<h3>linuxsampler? qsampler? jsampler? gigedit? libgig? liblscp? jlscp? ... hu?</h3> |
281 |
<p class="default"> |
<p class="default"> |
282 |
There are currently six subprojects in the LinuxSampler project; jlscp, jsampler, |
There are currently seven subprojects in the LinuxSampler project; jlscp, jsampler, |
283 |
libgig, liblscp, linuxsampler and qsampler. linuxsampler is the core of the sampler, it includes the |
libgig, liblscp, linuxsampler, gigedit and qsampler. linuxsampler is the core of the sampler, it includes the |
284 |
sampler engines and audio and MIDI drivers. linuxsampler itself is decoupled from any |
sampler engines and audio and MIDI drivers. linuxsampler itself is decoupled from any |
285 |
user interface. It offers a native C++ API as well as a network server (LSCP server) to allow to be controlled by |
user interface. It offers a native C++ API as well as a network server (LSCP server) to allow to be controlled by |
286 |
an arbitrary user frontend from an arbitrary place over a network connection or |
an arbitrary user frontend from an arbitrary place over a network connection or |
287 |
locally from the same machine as well. |
(of course) locally from the same machine as well. This decoupled / |
288 |
qsampler is the first GUI frontend written for linuxsampler, it is written in C++ using the Qt |
<a href="http://en.wikipedia.org/wiki/Backend">"backend"</a> design |
289 |
|
of the sampler allows to run it even on a machine without any graphical interface, |
290 |
|
without a Desktop, the machine doesn't even have to have a graphics card! |
291 |
|
qsampler is the first <a href="http://en.wikipedia.org/wiki/Graphical_user_interface">GUI</a> |
292 |
|
<a href="http://en.wikipedia.org/wiki/Frontend">frontend</a> |
293 |
|
written for linuxsampler, it is written in C++ using the Qt |
294 |
GUI library and thus can be compiled for various architectures and operating systems |
GUI library and thus can be compiled for various architectures and operating systems |
295 |
without modifications of the source code. |
without modifications of the source code. |
296 |
|
gigedit is an instruments editor application for Gigasampler format files. You can |
297 |
|
run it as stand-alone application or in conjunction with LinuxSampler. In the latter |
298 |
|
case you can play and immediately hear all your modifications made with gigedit in |
299 |
|
realtime. |
300 |
libgig is a C++ library written for accessing Gigasampler files and DLS Level 1 and 2 |
libgig is a C++ library written for accessing Gigasampler files and DLS Level 1 and 2 |
301 |
files, that is for reading and (since version 3.0.0) also writing of those files. |
files, that is for reading and (since version 3.0.0) also writing of those files. |
302 |
libgig is used by linuxsampler to load Gigasampler files and it <b>can</b> be |
libgig is used by linuxsampler to load Gigasampler files, it is used by gigedit to |
303 |
|
load, modify and create new Gigasampler files and it <b>can</b> be |
304 |
used by qsampler to retrieve additional informations about Gigasampler files. liblscp |
used by qsampler to retrieve additional informations about Gigasampler files. liblscp |
305 |
is a C library written as a wrapper around the LSCP network protocol, thus to control |
is a C library written as a wrapper around the LSCP network protocol, thus to control |
306 |
linuxsampler. It was originally designed to be used on both sides, that is on server / |
linuxsampler. It was originally designed to be used on both sides, that is on server / |
318 |
You should compile and install at least libgig and linuxsampler. As a beginner you should |
You should compile and install at least libgig and linuxsampler. As a beginner you should |
319 |
definitely as well compile and install a convenient GUI frontend like either qsampler or |
definitely as well compile and install a convenient GUI frontend like either qsampler or |
320 |
jsampler, whatever you prefer. qsampler depends on liblscp, so you have to |
jsampler, whatever you prefer. qsampler depends on liblscp, so you have to |
321 |
compile and install liblscp before starting to build qsampler. The recommended order to |
compile and install liblscp before starting to build qsampler. Also if you like to be |
322 |
compile and install is: |
able to edit instruments, you should compile and install gigedit as well. The recommended |
323 |
|
order to compile and install is: |
324 |
<ol class="default"> |
<ol class="default"> |
325 |
<li>libgig</li> |
<li>libgig</li> |
326 |
<li>linuxsampler</li> |
<li>linuxsampler</li> |
327 |
|
<li>gigedit</li> |
328 |
<li>liblscp</li> |
<li>liblscp</li> |
329 |
<li>qsampler</li> |
<li>qsampler</li> |
330 |
</ol> |
</ol> |
331 |
</p> |
</p> |
332 |
|
<p class="default"> |
333 |
|
Of course you can also install QSampler and JSampler side by side. So you can test and use |
334 |
|
both at the same time. |
335 |
|
</p> |
336 |
|
|
337 |
<a name="compilarion_error"></a> |
<a name="compilarion_error"></a> |
338 |
<h3>Compilation of LinuxSampler aborts with ... </h3> |
<h3>Compilation of LinuxSampler aborts with ... </h3> |
339 |
|
|
340 |
|
<p class="default"> |
341 |
|
• "<code>Required libgig version not found...</code>"<br> |
342 |
|
<br> |
343 |
|
This error might occur when running LinuxSampler's configure script. Make sure |
344 |
|
you have the required libgig version installed. If you're compiling a CVS |
345 |
|
version of LinuxSampler you usually have to compile and install the current |
346 |
|
CVS version of libgig as well. Also note there are couple common mistakes which |
347 |
|
let this error occur even after having compiled and installed the required |
348 |
|
libgig version. Read |
349 |
|
<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=29">this bug report</a> |
350 |
|
about common mistakes and how you can fix them. |
351 |
|
</p> |
352 |
|
|
353 |
<p class="default"> |
<p class="default"> |
354 |
• "<code>can't find a register in class `GENERAL_REGS' while reloading `asm'</code>"<br> |
• "<code>can't find a register in class `GENERAL_REGS' while reloading `asm'</code>"<br> |
355 |
<br> |
<br> |
358 |
linuxsampler. You have to compile older versions of LinuxSampler (v0.3.3 and older) with |
linuxsampler. You have to compile older versions of LinuxSampler (v0.3.3 and older) with |
359 |
-O2 or -O3 to avoid this problem. Usually this is done by default, if not try: |
-O2 or -O3 to avoid this problem. Usually this is done by default, if not try: |
360 |
<br> |
<br> |
361 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
362 |
<tr> |
<pre class="code">CXXFLAGS="-O3" ./configure |
|
<td><pre class="code">1 |
|
|
2</pre> |
|
|
</td> |
|
|
<td width="100%"> |
|
|
<pre class="code">CXXFLAGS="-O3" ./configure |
|
363 |
make</pre> |
make</pre> |
364 |
</td> |
<p class="default"> |
|
</tr> |
|
|
</table> |
|
|
<br> |
|
365 |
Alternatively you could also disable all hand-crafted assembly optimization code by: |
Alternatively you could also disable all hand-crafted assembly optimization code by: |
366 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
367 |
<tr> |
<pre class="code">./configure --disable-asm |
|
<td><pre class="code">1 |
|
|
2</pre> |
|
|
</td> |
|
|
<td width="100%"> |
|
|
<pre class="code">./configure --disable-asm |
|
368 |
make</pre> |
make</pre> |
369 |
</td> |
<p class="default"> |
370 |
</tr> |
but the latter is definitely not recommended, as it will increase CPU usage a lot! |
|
</table> |
|
|
<br> |
|
|
but the latter is definitely not recommended, as it will increase CPU usage a lot! |
|
371 |
</p> |
</p> |
372 |
|
|
373 |
<p class="default"> |
<p class="default"> |
379 |
<a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of |
<a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of |
380 |
linuxsampler. Make sure you got gcc and g++, both of version 3.3 or higher installed. |
linuxsampler. Make sure you got gcc and g++, both of version 3.3 or higher installed. |
381 |
You can check this with: |
You can check this with: |
382 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
383 |
<tr> |
<pre class="code">gcc --version |
|
<td><pre class="code">1 |
|
|
2</pre> |
|
|
</&d> |
|
|
<td width="100%"> |
|
|
<pre class="code">gcc --version |
|
384 |
g++ --version</pre> |
g++ --version</pre> |
385 |
</td> |
<p class="default"> |
|
</tr> |
|
|
</table> |
|
386 |
In case you already got gcc and g++ of version 3.3 or higher |
In case you already got gcc and g++ of version 3.3 or higher |
387 |
installed and it still causes the compilation error mentioned |
installed and it still causes the compilation error mentioned |
388 |
above, try the following: |
above, try the following: |
389 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
390 |
<tr> |
<pre class="code">export CC=`which gcc` |
|
<td><pre class="code">1 |
|
|
2</pre> |
|
|
</td> |
|
|
<td width="100%"> |
|
|
<pre class="code">export CC=`which gcc` |
|
391 |
export CXX=`which g++`</pre> |
export CXX=`which g++`</pre> |
392 |
</td> |
<p class="default"> |
|
</tr> |
|
|
</table> |
|
393 |
On certain systems however you still get this error in conjunction with older |
On certain systems however you still get this error in conjunction with older |
394 |
versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of |
versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of |
395 |
linuxsampler are not affected anymore |
linuxsampler are not affected anymore |
411 |
The procedure for compiling from CVS is the same for all subprojects, that is no matter |
The procedure for compiling from CVS is the same for all subprojects, that is no matter |
412 |
if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you need to |
if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you need to |
413 |
have the autotools (automake, autoconf and libtool) installed and compile it that way: |
have the autotools (automake, autoconf and libtool) installed and compile it that way: |
414 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
<pre class="code">make -f Makefile.cvs |
|
<tr> |
|
|
<td><pre class="code">1 |
|
|
2 |
|
|
3</pre> |
|
|
</td> |
|
|
<td width="100%"> |
|
|
<pre class="code">make -f Makefile.cvs |
|
415 |
./configure |
./configure |
416 |
make</pre> |
make</pre> |
|
</td> |
|
|
</tr> |
|
|
</table> |
|
417 |
</p> |
</p> |
418 |
|
|
419 |
<a name="no_gui"></a> |
<a name="no_gui"></a> |
425 |
a sampler session with QSampler, because the session files qsampler writes are actually |
a sampler session with QSampler, because the session files qsampler writes are actually |
426 |
real LSCP scripts. You can send a LSCP script to linuxsampler on the console with the |
real LSCP scripts. You can send a LSCP script to linuxsampler on the console with the |
427 |
following command: |
following command: |
428 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
429 |
<tr> |
<pre class="code">netcat localhost 8888 < yourscript.lscp</pre> |
430 |
<td><pre class="code">1</pre> |
<p class="default"> |
431 |
</td> |
or on certain systems (like Debian) you have to provide the -t switch: |
432 |
<td width="100%"> |
</p> |
433 |
<pre class="code">cat yourscript.lscp | netcat localhost 8888</pre> |
<pre class="code">netcat -t localhost 8888 < yourscript.lscp</pre> |
434 |
</td> |
<p class="default"> |
|
</tr> |
|
|
</table> |
|
|
or on certain systems (like Debian) you have to provide the -t switch: |
|
|
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
|
|
<tr> |
|
|
<td><pre class="code">1</pre> |
|
|
</td> |
|
|
<td width="100%"> |
|
|
<pre class="code">cat yourscript.lscp | netcat -t localhost 8888</pre> |
|
|
</td> |
|
|
</tr> |
|
|
</table> |
|
435 |
Of course you can also replace localhost by the IP address of the machine where |
Of course you can also replace localhost by the IP address of the machine where |
436 |
linuxsampler is running. Alternatively you can also make a telnet connection (port 8888) |
linuxsampler is running. Alternatively you can also make a telnet connection (port 8888) |
437 |
to linuxsampler's LSCP server and type commands manually. |
to linuxsampler's LSCP server and type commands manually. |
462 |
mlockall() memory" on the console, you are safe to run it as ordinary user as well. |
mlockall() memory" on the console, you are safe to run it as ordinary user as well. |
463 |
</p> |
</p> |
464 |
|
|
465 |
|
<a name="runtime_error"></a> |
466 |
|
<h3>LinuxSampler aborts at runtime with ... </h3> |
467 |
|
<p class="default"> |
468 |
|
Note: For <b>Windows specific runtime errors</b>, please have a |
469 |
|
look at the |
470 |
|
<a href="windows.html#houston">Trouble Shooting</a> section of |
471 |
|
the LinuxSampler Windows HOWTO. |
472 |
|
</p> |
473 |
|
|
474 |
|
<p class="default"> |
475 |
|
• "<code>gig::Engine error: Failed to |
476 |
|
load instrument, cause: Unknown exception while trying to |
477 |
|
parse gig file.</code>"<br> |
478 |
|
<br> |
479 |
|
Usually LS gives you a meaningful error message in case it |
480 |
|
failed to load an instrument. However there might be rare |
481 |
|
cases where LS cannot resolve the reason and you get an |
482 |
|
error message like above. In this case make sure security / |
483 |
|
user limits aren't set too low. You can list your current |
484 |
|
limits with: |
485 |
|
</p> |
486 |
|
<pre class="code">ulimit -a</pre> |
487 |
|
<p class="default"> |
488 |
|
Usually most of those settings are set to "unlimited" on |
489 |
|
most boxes. If this is not the case on yours, make sure that |
490 |
|
at least the limits for "max locked memory", "virtual |
491 |
|
memory" and "data seg size" are sufficiently high enough. |
492 |
|
The exact value depends on the instruments you want to load. |
493 |
|
If your security policy allows it, you could simply set |
494 |
|
those limits to "unlimited" (see also config file |
495 |
|
/etc/security/limits.conf and |
496 |
|
<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=41">bug report #41</a>). |
497 |
|
</p> |
498 |
|
|
499 |
</div> |
</div> |
500 |
</td></tr></table> |
</td></tr></table> |
501 |
|
|