125 |
<p class="default"> |
<p class="default"> |
126 |
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 |
127 |
the mailing list.<br> |
the mailing list.<br> |
128 |
<br> |
<ol class="default"> |
129 |
<a href="#commercial_products">Can I use LinuxSampler in commercial hardware or software products?</a><br> |
<li> |
130 |
<a href="#commercial_music">Can I use LinuxSampler for commercial music production?</a><br> |
<a href="#commercial_products">Can I use LinuxSampler in commercial hardware or software products?</a> |
131 |
<a href="#open_source">LinuxSampler is not open source, you are evil!</a><br> |
</li> |
132 |
<a href="#aga">linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</a><br> |
<li> |
133 |
<a href="#install">What do I need to compile and install?</a><br> |
<a href="#commercial_music">Can I use LinuxSampler for commercial music production?</a> |
134 |
<a href="#compilarion_error">Compilation of LinuxSampler aborts with ...</a><br> |
</li> |
135 |
<a href="#cvs_checkout">How do I checkout from CVS?</a><br> |
<li> |
136 |
<a href="#compile_cvs">How do I compile from CVS?</a><br> |
<a href="#open_source">LinuxSampler is not open source, you are evil!</a> |
137 |
<a href="#no_gui">Can I use linuxsampler without a GUI as well?</a><br> |
</li> |
138 |
<a href="#examples_lscp">Are there example LSCP script files somewhere?</a><br> |
<li> |
139 |
<a href="#dropouts">I get dropouts (click sounds, noise), what can I do about it?</a><br> |
<a href="#aga">linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</a> |
140 |
|
</li> |
141 |
|
<li> |
142 |
|
<a href="#install">What do I need to compile and install?</a> |
143 |
|
</li> |
144 |
|
<li> |
145 |
|
<a href="#compilarion_error">Compilation of LinuxSampler aborts with ...</a> |
146 |
|
</li> |
147 |
|
<li> |
148 |
|
<a href="#cvs_checkout">How do I checkout from CVS?</a> |
149 |
|
</li> |
150 |
|
<li> |
151 |
|
<a href="#compile_cvs">How do I compile from CVS?</a> |
152 |
|
</li> |
153 |
|
<li> |
154 |
|
<a href="#no_gui">Can I use linuxsampler without a GUI as well?</a> |
155 |
|
</li> |
156 |
|
<li> |
157 |
|
<a href="#examples_lscp">Are there example LSCP script files somewhere?</a> |
158 |
|
</li> |
159 |
|
<li> |
160 |
|
<a href="#dropouts">I get dropouts (click sounds, noise), what can I do about it?</a> |
161 |
|
</li> |
162 |
|
</ol> |
163 |
</p> |
</p> |
164 |
|
|
165 |
<a name="commercial_products"></a> |
<a name="commercial_products"></a> |
200 |
</p> |
</p> |
201 |
|
|
202 |
<a name="aga"></a> |
<a name="aga"></a> |
203 |
<h3>linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</h3> |
<h3>linuxsampler? qsampler? jsampler? gigedit? libgig? liblscp? jlscp? ... hu?</h3> |
204 |
<p class="default"> |
<p class="default"> |
205 |
There are currently six subprojects in the LinuxSampler project; jlscp, jsampler, |
There are currently seven subprojects in the LinuxSampler project; jlscp, jsampler, |
206 |
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 |
207 |
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 |
208 |
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 |
209 |
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 |
210 |
locally from the same machine as well. |
(of course) locally from the same machine as well. This decoupled / |
211 |
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 |
212 |
|
of the sampler allows to run it even on a machine without any graphical interface, |
213 |
|
without a Desktop, the machine doesn't even have to have a graphics card! |
214 |
|
qsampler is the first <a href="http://en.wikipedia.org/wiki/Graphical_user_interface">GUI</a> |
215 |
|
<a href="http://en.wikipedia.org/wiki/Frontend">frontend</a> |
216 |
|
written for linuxsampler, it is written in C++ using the Qt |
217 |
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 |
218 |
without modifications of the source code. |
without modifications of the source code. |
219 |
|
gigedit is an instruments editor application for Gigasampler format files. You can |
220 |
|
run it as stand-alone application or in conjunction with LinuxSampler. In the latter |
221 |
|
case you can play and immediately hear all your modifications made with gigedit in |
222 |
|
realtime. |
223 |
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 |
224 |
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. |
225 |
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 |
226 |
|
load, modify and create new Gigasampler files and it <b>can</b> be |
227 |
used by qsampler to retrieve additional informations about Gigasampler files. liblscp |
used by qsampler to retrieve additional informations about Gigasampler files. liblscp |
228 |
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 |
229 |
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 / |
241 |
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 |
242 |
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 |
243 |
jsampler, whatever you prefer. qsampler depends on liblscp, so you have to |
jsampler, whatever you prefer. qsampler depends on liblscp, so you have to |
244 |
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 |
245 |
compile and install is: |
able to edit instruments, you should compile and install gigedit as well. The recommended |
246 |
|
order to compile and install is: |
247 |
<ol class="default"> |
<ol class="default"> |
248 |
<li>libgig</li> |
<li>libgig</li> |
249 |
<li>linuxsampler</li> |
<li>linuxsampler</li> |
250 |
|
<li>gigedit</li> |
251 |
<li>liblscp</li> |
<li>liblscp</li> |
252 |
<li>qsampler</li> |
<li>qsampler</li> |
253 |
</ol> |
</ol> |
254 |
</p> |
</p> |
255 |
|
<p class="default"> |
256 |
|
Of course you can also install QSampler and JSampler side by side. So you can test and use |
257 |
|
both at the same time. |
258 |
|
</p> |
259 |
|
|
260 |
<a name="compilarion_error"></a> |
<a name="compilarion_error"></a> |
261 |
<h3>Compilation of LinuxSampler aborts with ... </h3> |
<h3>Compilation of LinuxSampler aborts with ... </h3> |
262 |
|
|
263 |
|
<p class="default"> |
264 |
|
• "<code>Required libgig version not found...</code>"<br> |
265 |
|
<br> |
266 |
|
This error might occur when running LinuxSampler's configure script. Make sure |
267 |
|
you have the required libgig version installed. If you're compiling a CVS |
268 |
|
version of LinuxSampler you usually have to compile and install the current |
269 |
|
CVS version of libgig as well. Also note there are couple common mistakes which |
270 |
|
let this error occur even after having compiled and installed the required |
271 |
|
libgig version. Read |
272 |
|
<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=29">this bug report</a> |
273 |
|
about common mistakes and how you can fix them. |
274 |
|
</p> |
275 |
|
|
276 |
<p class="default"> |
<p class="default"> |
277 |
• "<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> |
278 |
<br> |
<br> |
281 |
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 |
282 |
-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: |
283 |
<br> |
<br> |
284 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
285 |
<tr> |
<pre class="code">CXXFLAGS="-O3" ./configure |
|
<td><pre class="code">1 |
|
|
2</pre> |
|
|
</td> |
|
|
<td width="100%"> |
|
|
<pre class="code">CXXFLAGS="-O3" ./configure |
|
286 |
make</pre> |
make</pre> |
287 |
</td> |
<p class="default"> |
|
</tr> |
|
|
</table> |
|
|
<br> |
|
288 |
Alternatively you could also disable all hand-crafted assembly optimization code by: |
Alternatively you could also disable all hand-crafted assembly optimization code by: |
289 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
290 |
<tr> |
<pre class="code">./configure --disable-asm |
|
<td><pre class="code">1 |
|
|
2</pre> |
|
|
</td> |
|
|
<td width="100%"> |
|
|
<pre class="code">./configure --disable-asm |
|
291 |
make</pre> |
make</pre> |
292 |
</td> |
<p class="default"> |
293 |
</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! |
|
294 |
</p> |
</p> |
295 |
|
|
296 |
<p class="default"> |
<p class="default"> |
302 |
<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 |
303 |
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. |
304 |
You can check this with: |
You can check this with: |
305 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
306 |
<tr> |
<pre class="code">gcc --version |
|
<td><pre class="code">1 |
|
|
2</pre> |
|
|
</&d> |
|
|
<td width="100%"> |
|
|
<pre class="code">gcc --version |
|
307 |
g++ --version</pre> |
g++ --version</pre> |
308 |
</td> |
<p class="default"> |
|
</tr> |
|
|
</table> |
|
309 |
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 |
310 |
installed and it still causes the compilation error mentioned |
installed and it still causes the compilation error mentioned |
311 |
above, try the following: |
above, try the following: |
312 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
313 |
<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` |
|
314 |
export CXX=`which g++`</pre> |
export CXX=`which g++`</pre> |
315 |
</td> |
<p class="default"> |
|
</tr> |
|
|
</table> |
|
316 |
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 |
317 |
versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of |
versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of |
318 |
linuxsampler are not affected anymore |
linuxsampler are not affected anymore |
334 |
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 |
335 |
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 |
336 |
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: |
337 |
<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 |
|
338 |
./configure |
./configure |
339 |
make</pre> |
make</pre> |
|
</td> |
|
|
</tr> |
|
|
</table> |
|
340 |
</p> |
</p> |
341 |
|
|
342 |
<a name="no_gui"></a> |
<a name="no_gui"></a> |
348 |
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 |
349 |
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 |
350 |
following command: |
following command: |
351 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
</p> |
352 |
<tr> |
<pre class="code">netcat localhost 8888 < yourscript.lscp</pre> |
353 |
<td><pre class="code">1</pre> |
<p class="default"> |
354 |
</td> |
or on certain systems (like Debian) you have to provide the -t switch: |
355 |
<td width="100%"> |
</p> |
356 |
<pre class="code">cat yourscript.lscp | netcat localhost 8888</pre> |
<pre class="code">netcat -t localhost 8888 < yourscript.lscp</pre> |
357 |
</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> |
|
358 |
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 |
359 |
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) |
360 |
to linuxsampler's LSCP server and type commands manually. |
to linuxsampler's LSCP server and type commands manually. |
376 |
In order to achieve good results under Linux you need to have a |
In order to achieve good results under Linux you need to have a |
377 |
<a href="http://www.linuxdj.com/audio/lad/resourceslatency.php3">patched kernel</a>. |
<a href="http://www.linuxdj.com/audio/lad/resourceslatency.php3">patched kernel</a>. |
378 |
There are different patches available depending on what version (2.4.x or 2.6.x) of kernel you use. |
There are different patches available depending on what version (2.4.x or 2.6.x) of kernel you use. |
379 |
The <a href="http://jackit.sourceforge.net/docs/faq.php">JACK FAQ site</a> is also a good resource |
The <a href="http://jackaudio.org/faq">JACK FAQ site</a> |
380 |
|
(or the <a href="http://jackit.sourceforge.net/docs/faq.php">old JACK FAQ site</a>) |
381 |
|
is also a good resource for |
382 |
how to configure a realtime stable kernel. But note; LinuxSampler currently has not support for |
how to configure a realtime stable kernel. But note; LinuxSampler currently has not support for |
383 |
libcap yet, that means if you are still using a 2.4.x Linux kernel you most probably have to run |
libcap yet, that means if you are still using a 2.4.x Linux kernel you most probably have to run |
384 |
LinuxSampler with root priviliges. As a rule of thumb: if you don't get warnings like "cannot |
LinuxSampler with root priviliges. As a rule of thumb: if you don't get warnings like "cannot |