--- web/trunk/www.linuxsampler.org/faq.html 2005/05/15 15:31:45 542 +++ web/trunk/www.linuxsampler.org/faq.html 2021/06/14 11:26:48 3923 @@ -49,6 +49,17 @@ downloadsout = new Image(); downloadsout.src = dir + "mdownloads.png"; + donationsover = new Image(); + donationsover.src = dir + "mdonationshover.png"; + + donationsout = new Image(); + donationsout.src = dir + "mdonations.png"; + + supportover = new Image(); + supportover.src = dir + "msupporthover.png"; + supportout = new Image(); + supportout.src = dir + "msupport.png"; + developersover = new Image(); developersover.src = dir + "mdevelopershover.png"; @@ -98,7 +109,7 @@ -
LinuxSampler +
LinuxSampler

@@ -111,6 +122,8 @@ screenshots demos download + donations + support developers faq documentation @@ -118,100 +131,310 @@ instruments links credits + +
+
+ + + + +
+
+ + + + +
+ + + +
BitcoinsOr donate Bitcoins at:
+
1Q9CK7xUhMNWryqYTZLbUTXbrjpYYtwvng
+
+Why donate? +
+ +

FAQ

-

+

+ + +

Can I use LinuxSampler in commercial hardware or software products?

+

+ You are NOT ALLOWED to use LinuxSampler source code, libraries or applications in + COMMERCIAL hardware or software products without prior written authorization by the + authors. See here +

+ + +

Can I use LinuxSampler for commercial music production?

+

+ Hell, yes! Every indirect commercial usage of LinuxSampler, which essentially means + using its audio output, can of course be used in commercial applications like music + productions, live shows, etc. Don't get us wrong, with the mentioned commercial + exception we don't want to restrict the normal user / musician, we just want to avoid + somebody to directly make money with our work, that is by selling our software in a + sampler product like a sampler + sample library bundle, a hardware sampler or + something equivalent, at least not without giving something back to the open source + Community. +

+ + +

LinuxSampler is not open source, you are evil!

+

+ There are of course many definitions of the term "open source", but according to the + definition on Wikipedia + LinuxSampler is in fact open source, since you've got complete access to its source + code. So due to this fact, a normal user / musician is free to do with LinuxSampler + what he likes to do, he can even adjust and tweak every single part of the software + by modifying and compiling its source code. And just the fact that we want to avoid + our work to be directly exploited in commercial software or hardware products is + definitely not an "evil" intention. For the normal user / musician the commercial + restriction is even an advantage, since that way commercial actors are forced to + support this or another open source project either directly by coding or indirectly + by funding and thus increase development speed. +

+ + +

Will LinuxSampler turn closed-source?

+

+ No, LinuxSampler will remain open source. Again, the commercial exception is just to + prevent commercial exploitation by third parties that haven't contributed anything to + open source projects. +

+ + +

I've heard the commercial exception of LinuxSampler was added at a certain version?

+

+ No, the commercial exception in LinuxSampler's license terms were there since day one. + Even further it's not only there since the very first publicly available CVS + (developer) version of LinuxSampler, that commercial exception was even already in + Benno Senoner's proof of concept code called "EVO", which LinuxSampler was based on. + There was even a rumour that we would have manipulated CVS history to "pretend" this + exception wasn't added at a later point. Needless to say that this rumour is completely + false as well. Think about it! We're a group of developers spread around the world who + work on this project for fun and ideology in our spare time. Most of us contributed to + various other open source / free software projects. Do you seriously think we would + cheat on such an issue? Beside that you certainly find various people completely + unrelated to this project who still have early versions of LinuxSampler and / or EVO + and thus can confirm that this commercial exception was always there. +

+ + +

Doesn't LinuxSampler illegally link against libgig?

+

+ No! LinuxSampler does not "illegally" link against libgig, since the copyright holder + (in this case of libgig) has all rights of his work and thus is not bound to his own + license terms. The sole purpose of license terms is to grant other people certain + rights to use the work. +

+ + +

Doesn't LinuxSampler illegally link against other libraries?

+

+ No, the only library LinuxSampler links to that has license restrictions regarding + linking is libgig (see above). Especially + LinuxSampler does not break Qt's license terms, since it does not link against Qt at + all.

-

linuxsampler? qsampler? libgig? liblscp? hu?

+ +

linuxsampler? qsampler? jsampler? gigedit? libgig? liblscp? jlscp? ... hu?

- There are currently four subprojects in the LinuxSampler project; linuxsampler, - qsampler, libgig and liblscp. linuxsampler is the core of the sampler, it includes the + There are currently seven subprojects in the LinuxSampler project; jlscp, jsampler, + libgig, liblscp, linuxsampler, gigedit and qsampler. linuxsampler is the core of the sampler, it includes the sampler engines and audio and MIDI drivers. linuxsampler itself is decoupled from any - user interface. It offers a network server (LSCP server) to allow to be controlled by - an arbitrary user frontend from an arbitrary place over a netwrok connection or - locally from the same machine as well. - qsampler is the first GUI frontend written for linuxsampler, it is written with the Qt + user interface. It offers a native C++ API as well as a network server (LSCP server) to allow to be controlled by + an arbitrary user frontend from an arbitrary place over a network connection or + (of course) locally from the same machine as well. This decoupled / + "backend" design + of the sampler allows to run it even on a machine without any graphical interface, + without a Desktop, the machine doesn't even have to have a graphics card! + qsampler is the first GUI + frontend + written for linuxsampler, it is written in C++ using the Qt GUI library and thus can be compiled for various architectures and operating systems - without modifications on the source code. - libgig is a C++ library written for loading Gigasampler files and DLS Level 1 and 2 - files. libgig is used by linuxsampler to load Gigasampler files and it can be + without modifications of the source code. + gigedit is an instruments editor application for Gigasampler format files. You can + run it as stand-alone application or in conjunction with LinuxSampler. In the latter + case you can play and immediately hear all your modifications made with gigedit in + realtime. + libgig is a C++ library written for accessing Gigasampler files and DLS Level 1 and 2 + files, that is for reading and (since version 3.0.0) also writing of those files. + libgig is used by linuxsampler to load Gigasampler files, it is used by gigedit to + load, modify and create new Gigasampler files and it can be used by qsampler to retrieve additional informations about Gigasampler files. liblscp is a C library written as a wrapper around the LSCP network protocol, thus to control linuxsampler. It was originally designed to be used on both sides, that is on server / backend side (linuxsampler) and on client / frontend side (e.g. qsampler). But it's now - only used on client side by qsampler at the moment. + only used on client side by qsampler at the moment. jsampler is another GUI frontend for + linuxsampler, it's written in Java and thus platform independent. jlscp is a library which + can be compared with liblscp, with the only difference that jlscp is written in Java and + liblscp in C. jsampler requires jlscp. +

+

What do I need to compile and install?

- You should compile and install at least linuxsampler. As a beginner you should - defintely as well compile and install qsampler, liblscp and libgig. qsampler is a - convenient GUI frontend for linuxsampler. qsampler depends on liblscp, so you have to - compile and install liblscp before starting to build qsampler. It is recommended to - install libgig as well, you don't have to actually because libgig is at the moment - statically included with linuxsampler, but qsampler can use it to retrieve - additional informations from Gigasampler files. + You should compile and install at least libgig and linuxsampler. As a beginner you should + definitely as well compile and install a convenient GUI frontend like either qsampler or + jsampler, whatever you prefer. qsampler depends on liblscp, so you have to + compile and install liblscp before starting to build qsampler. Also if you like to be + able to edit instruments, you should compile and install gigedit as well. The recommended + order to compile and install is: +

    +
  1. libgig
  2. +
  3. linuxsampler
  4. +
  5. gigedit
  6. +
  7. liblscp
  8. +
  9. qsampler
  10. +
+

+

+ Of course you can also install QSampler and JSampler side by side. So you can test and use + both at the same time.

-

How do I checkout from CVS?

+ +

Compilation of LinuxSampler aborts with ...

+

- The procedure of checking out the newest version from CVS is described on the - Downloads site. + •   "Required libgig version not found..."
+
+ This error might occur when running LinuxSampler's configure script. Make sure + you have the required libgig version installed. If you're compiling a Subversion + version of LinuxSampler you usually have to compile and install the current + Subversion version of libgig as well. Also note there are couple common mistakes + which let this error occur even after having compiled and installed the required + libgig version. Read + this bug report + about common mistakes and how you can fix them. +

+ +

+ •   "can't find a register in class `GENERAL_REGS' while reloading `asm'"
+
+ This is caused by the inline assembly code for + SIMD optimization in older versions of + linuxsampler. You have to compile older versions of LinuxSampler (v0.3.3 and older) with + -O2 or -O3 to avoid this problem. Usually this is done by default, if not try: +
+

+
CXXFLAGS="-O3" ./configure
+make
+

+ Alternatively you could also disable all hand-crafted assembly optimization code by: +

+
./configure --disable-asm
+make
+

+ but the latter is definitely not recommended, as it will increase CPU usage a lot!

-

How do I compile from CVS?

- The procedure for compiling from CVS is the same for all subprojects, that is no matter - if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you have to - have the autotools (automake, autoconf and libtool) installed and compile it that way: + •   "../common/Resampler.h:142: error: memory input 2 is not directly addressable"
+
+ This was reported (1, + 2) + to be a gcc/g++ version problem, in conjunction with the inline assembly code for + SIMD optimization in older versions of + linuxsampler. Make sure you got gcc and g++, both of version 3.3 or higher installed. + You can check this with: +

+
gcc --version
+g++ --version
+

+ In case you already got gcc and g++ of version 3.3 or higher + installed and it still causes the compilation error mentioned + above, try the following: +

+
export CC=`which gcc`
+export CXX=`which g++`
+

+ On certain systems however you still get this error in conjunction with older + versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of + linuxsampler are not affected anymore + (read this for details). +

+ + +

How do I checkout from Subversion?

+

+ The procedure of checking out the newest version from Subversion is described on the + Downloads site and on the + web interface site + of our Subversion server.

- - - - - -
1
-2
-3
-
-
make -f Makefile.cvs
+
+			
+  			

How do I compile from Subversion?

+

+ The procedure for compiling from Subversion is the same for all subprojects, that is no matter + if you are compiling linuxsampler, qsampler, libgig or liblscp from Subversion, you need to + have the autotools (automake, autoconf and libtool) installed and compile it that way: +

make -f Makefile.cvs
 ./configure
 make
-
+

+

Can I use linuxsampler without a GUI as well?

- Yes, but unfortunately there is no console based frontend frontend for linuxsampler (yet). - You have to write LSCP scripts and send it to the running linuxsampler application. - You can send a LSCP script to linuxsampler on the console with the following command: -

- - - - - -
1
-
-
cat yourscript.lscp | netcat -t localhost 8888
-
+ Yes, but unfortunately there is no console based frontend for linuxsampler (yet). + You have to write LSCP scripts and send it to the running linuxsampler application. But + don't worry, if you don't know how to write LSCP scripts, you can also start by saving + a sampler session with QSampler, because the session files qsampler writes are actually + real LSCP scripts. You can send a LSCP script to linuxsampler on the console with the + following command: +

+
netcat localhost 8888 < yourscript.lscp

+ or on certain systems (like Debian) you have to provide the -t switch: +

+
netcat -t localhost 8888 < yourscript.lscp
+

Of course you can also replace localhost by the IP address of the machine where linuxsampler is running. Alternatively you can also make a telnet connection (port 8888) to linuxsampler's LSCP server and type commands manually.

- +

Are there example LSCP script files somewhere?

Yes, have a look on the Documentation site for some common LSCP script examples. For details about LSCP read the LSCP reference. Be welcome to ask - questions for details about LSCP on the mailing list. + questions for details about LSCP on the + mailing list.

@@ -220,13 +443,49 @@ In order to achieve good results under Linux you need to have a patched kernel. There are different patches available depending on what version (2.4.x or 2.6.x) of kernel you use. - The JACK FAQ site is also a good resource + The JACK FAQ site + (or the old JACK FAQ site) + is also a good resource for how to configure a realtime stable kernel. But note; LinuxSampler currently has not support for libcap yet, that means if you are still using a 2.4.x Linux kernel you most probably have to run - LinuxSampler with root priviliges (support for libcap is planned though). As a rule of thumb: if - you don't get warnings like "cannot mlockall() memory" you are safe to run it as ordinary user as well. + LinuxSampler with root priviliges. As a rule of thumb: if you don't get warnings like "cannot + mlockall() memory" on the console, you are safe to run it as ordinary user as well.

+ +

LinuxSampler aborts at runtime with ...

+

+ Note: For Windows specific runtime errors, please have a + look at the + Trouble Shooting section of + the LinuxSampler Windows HOWTO. +

+ +

+ •   "gig::Engine error: Failed to + load instrument, cause: Unknown exception while trying to + parse gig file."
+
+ Usually LS gives you a meaningful error message in case it + failed to load an instrument. However there might be rare + cases where LS cannot resolve the reason and you get an + error message like above. In this case make sure security / + user limits aren't set too low. You can list your current + limits with: +

+
ulimit -a
+

+ Usually most of those settings are set to "unlimited" on + most boxes. If this is not the case on yours, make sure that + at least the limits for "max locked memory", "virtual + memory" and "data seg size" are sufficiently high enough. + The exact value depends on the instruments you want to load. + If your security policy allows it, you could simply set + those limits to "unlimited" (see also config file + /etc/security/limits.conf and + bug report #41). +

+