1 |
LinuxSampler - modular, streaming capable sampler |
2 |
|
3 |
Copyright (C) 2003, 2004 by Benno Senoner (benno@gardena.net) |
4 |
and Christian Schoenebeck (cuse@users.sourceforge.net) |
5 |
Copyright (C) 2005 - 2024 Christian Schoenebeck |
6 |
|
7 |
|
8 |
License |
9 |
------- |
10 |
|
11 |
The LinuxSampler library (liblinuxsampler) and its applications are |
12 |
distributed under the terms of the GNU General Public License (see COPYING |
13 |
file), but with the EXCEPTION that they may NOT be used in COMMERCIAL |
14 |
software or hardware products without prior written authorization by the |
15 |
authors. |
16 |
|
17 |
Also note that liblinuxsampler and its applications are linking against |
18 |
other libraries; respect their licenses as well! |
19 |
|
20 |
|
21 |
Description |
22 |
----------- |
23 |
|
24 |
LinuxSampler is sampler backend, thus server-like console application. It |
25 |
provides a TCP based network interface with a custom ASCII based protocol |
26 |
called "LSCP" to control the sampler and manage sampler sessions. You either |
27 |
have to send commands manually to LinuxSampler, e.g. by connecting via |
28 |
'telnet' or by using 'netcat' or you might want to use a graphical user |
29 |
interface (frontend) like QSampler (C++/Qt based) or JSampler (Java based). |
30 |
|
31 |
For more information visit http://www.linuxsampler.org/documentation.html |
32 |
|
33 |
|
34 |
Requirements on Linux |
35 |
--------------------- |
36 |
|
37 |
o At least a C++14 compliant compiler for building from source. |
38 |
o A low latency enabled kernel |
39 |
(see http://www.linuxsampler.org/faq.html#dropouts). |
40 |
o At least one supported MIDI input system (i.e. ALSA, JACK, CoreMIDI or |
41 |
MidiShare) and at least one support audio output system (i.e. ALSA, |
42 |
JACK or ARTS) have to be installed, along with their respective |
43 |
development (header) files. |
44 |
o libgig and its development (header) files for loading Gigasampler |
45 |
format files. |
46 |
o libtool |
47 |
o If you are compiling from CVS you need to have the autotools installed |
48 |
(autoconf, automake (>= 1.5)). |
49 |
o If you want to generate the liblinuxsampler API documentation you |
50 |
need to have Doxygen installed. |
51 |
|
52 |
|
53 |
Compiling on Linux |
54 |
------------------ |
55 |
|
56 |
a) Compiling and installing directly |
57 |
|
58 |
The general procedure by calling './configure && make' on the source's |
59 |
toplevel directory will compile and 'make install' as root will install |
60 |
LinuxSampler on your system. |
61 |
|
62 |
Note: if you are compiling from CVS you have to explicitly call |
63 |
'make -f Makefile.cvs' before doing the above procedure. This will |
64 |
generate all autotools managed build files. |
65 |
|
66 |
LinuxSampler itself is a library called liblinuxsampler. You can |
67 |
generate the API documenation for liblinuxsampler by explicitly calling |
68 |
'make docs'. |
69 |
|
70 |
|
71 |
b) Creating Debian packages |
72 |
|
73 |
Simply calling 'dpkg-buildpackage -rfakeroot -b' from the source's |
74 |
toplevel directory will compile and build the Debian binary package. |
75 |
The Debian package will be placed one directory above the source's |
76 |
toplevel directory (thus ../). |
77 |
|
78 |
|
79 |
c) Creating Redhat packages |
80 |
|
81 |
You need to have the rpmbuild tool installed and properly configured to |
82 |
create RPM packages. To create the RPM packages do the following: |
83 |
|
84 |
* Get .spec file generated by ./configure and edit it as appropriate. |
85 |
|
86 |
* Copy the source tarball to "/usr/src/<rpmdir>/SOURCES" directory, |
87 |
where <rpmdir> is dependent to the system you are using. For SuSE |
88 |
<rmpdir> will be "packages", for Mandrake <rpmdir> is "RPM" and for |
89 |
Redhat / Fedora <rpmdir> always equals "redhat". |
90 |
|
91 |
* Build the rpm(s) by invoking 'rpmbuild -bb <specfile>' from the |
92 |
command line. |
93 |
|
94 |
On success, the resulting rpm(s) can usually be found under the proper |
95 |
"/usr/src/<rpmdir>/RPMS/<arch>" directory. |
96 |
|
97 |
|
98 |
Compilation on OSX |
99 |
------------------ |
100 |
|
101 |
Please read osx/README.osx for detailed instructions about how to |
102 |
compile the sampler for Mac OSX. |
103 |
|
104 |
Test Cases |
105 |
---------- |
106 |
|
107 |
There are automated test cases against core elements of the sampler, |
108 |
which allow you to check the beheaviour of the sampler on your system. |
109 |
These test cases are not compiled by default: |
110 |
|
111 |
o Make sure cppunit is installed on your system. |
112 |
|
113 |
o Run 'make tests' from the toplevel source directory to compile the |
114 |
test cases. |
115 |
|
116 |
o Run the test cases with 'src/testcases/linuxsamplertest'. |
117 |
|