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 |
|
|
developersover = new Image(); |
53 |
|
|
developersover.src = dir + "mdevelopershover.png"; |
54 |
|
|
|
55 |
|
|
developersout = new Image(); |
56 |
|
|
developersout.src = dir + "mdevelopers.png"; |
57 |
|
|
|
58 |
|
|
instrumentsover = new Image(); |
59 |
|
|
instrumentsover.src = dir + "minstrumentshover.png"; |
60 |
|
|
|
61 |
|
|
instrumentsout = new Image(); |
62 |
|
|
instrumentsout.src = dir + "minstruments.png"; |
63 |
|
|
|
64 |
|
|
linksover = new Image(); |
65 |
|
|
linksover.src = dir + "mlinkshover.png"; |
66 |
|
|
|
67 |
|
|
linksout = new Image(); |
68 |
|
|
linksout.src = dir + "mlinks.png"; |
69 |
|
|
|
70 |
|
|
documentationover = new Image(); |
71 |
|
|
documentationover.src = dir + "mdocumentationhover.png"; |
72 |
|
|
|
73 |
|
|
documentationout = new Image(); |
74 |
|
|
documentationout.src = dir + "mdocumentation.png"; |
75 |
|
|
|
76 |
|
|
creditsover = new Image(); |
77 |
|
|
creditsover.src = dir + "mcreditshover.png"; |
78 |
|
|
|
79 |
|
|
creditsout = new Image(); |
80 |
|
|
creditsout.src = dir + "mcredits.png"; |
81 |
|
|
|
82 |
|
|
faqover = new Image(); |
83 |
|
|
faqover.src = dir + "mfaqhover.png"; |
84 |
|
|
|
85 |
|
|
faqout = new Image(); |
86 |
|
|
faqout.src = dir + "mfaq.png"; |
87 |
|
|
|
88 |
|
|
bugsover = new Image(); |
89 |
|
|
bugsover.src = dir + "mbugshover.png"; |
90 |
|
|
|
91 |
|
|
bugsout = new Image(); |
92 |
|
|
bugsout.src = dir + "mbugs.png"; |
93 |
|
|
} |
94 |
|
|
--> |
95 |
|
|
</script> |
96 |
|
|
|
97 |
|
|
</head> |
98 |
|
|
|
99 |
|
|
<body> |
100 |
|
|
|
101 |
|
|
<div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler"> |
102 |
|
|
|
103 |
|
|
<h1><span class="hidden">The LinuxSampler Project</span></h1> |
104 |
|
|
|
105 |
|
|
<table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left> |
106 |
|
|
<img name="h1blank" src="gfx/h1blank.png" alt="blank"><span class="hidden">about</span></th></tr> |
107 |
|
|
<tr><td valign=top> |
108 |
|
|
<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> |
109 |
|
|
<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> |
110 |
|
|
<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> |
111 |
|
|
<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> |
112 |
|
|
<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> |
113 |
|
|
<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> |
114 |
|
|
<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> |
115 |
|
|
<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> |
116 |
|
|
<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> |
117 |
|
|
<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> |
118 |
|
|
<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> |
119 |
|
|
<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> |
120 |
|
|
<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> |
121 |
|
|
</td><td valign=top width="100%"> |
122 |
|
|
<div id="contents"> |
123 |
|
|
|
124 |
|
|
<h2>FAQ</h2> |
125 |
|
|
<p class="default"> |
126 |
|
|
Here is a collection of frequently asked questions. Please read them before asking on |
127 |
|
|
the mailing list. |
128 |
|
|
</p> |
129 |
senoner |
702 |
<h3>I want to use LinuxSampler code in commercial hardware or software products </h3> |
130 |
|
|
<p class="default"> |
131 |
|
|
You are NOT ALLOWED to use LinuxSampler code in COMMERCIAL hardware / software products without prior written authorization. <A HREF="downloads.html">See here</A> |
132 |
senoner |
542 |
|
133 |
|
|
<h3>linuxsampler? qsampler? libgig? liblscp? hu?</h3> |
134 |
|
|
<p class="default"> |
135 |
|
|
There are currently four subprojects in the LinuxSampler project; linuxsampler, |
136 |
|
|
qsampler, libgig and liblscp. linuxsampler is the core of the sampler, it includes the |
137 |
|
|
sampler engines and audio and MIDI drivers. linuxsampler itself is decoupled from any |
138 |
|
|
user interface. It offers a network server (LSCP server) to allow to be controlled by |
139 |
schoenebeck |
585 |
an arbitrary user frontend from an arbitrary place over a network connection or |
140 |
senoner |
542 |
locally from the same machine as well. |
141 |
|
|
qsampler is the first GUI frontend written for linuxsampler, it is written with the Qt |
142 |
|
|
GUI library and thus can be compiled for various architectures and operating systems |
143 |
|
|
without modifications on the source code. |
144 |
|
|
libgig is a C++ library written for loading Gigasampler files and DLS Level 1 and 2 |
145 |
|
|
files. libgig is used by linuxsampler to load Gigasampler files and it <b>can</b> be |
146 |
|
|
used by qsampler to retrieve additional informations about Gigasampler files. liblscp |
147 |
|
|
is a C library written as a wrapper around the LSCP network protocol, thus to control |
148 |
|
|
linuxsampler. It was originally designed to be used on both sides, that is on server / |
149 |
|
|
backend side (linuxsampler) and on client / frontend side (e.g. qsampler). But it's now |
150 |
|
|
only used on client side by qsampler at the moment. |
151 |
|
|
</p> |
152 |
|
|
|
153 |
|
|
<h3>What do I need to compile and install?</h3> |
154 |
|
|
<p class="default"> |
155 |
schoenebeck |
585 |
You should compile and install at least libgig and linuxsampler. As a beginner you should |
156 |
|
|
definitely as well compile and install liblscp and qsampler. qsampler is a |
157 |
senoner |
542 |
convenient GUI frontend for linuxsampler. qsampler depends on liblscp, so you have to |
158 |
schoenebeck |
585 |
compile and install liblscp before starting to build qsampler. The recommended order to |
159 |
|
|
compile and install is: |
160 |
|
|
<ol class="default"> |
161 |
|
|
<li>libgig</li> |
162 |
|
|
<li>linuxsampler</li> |
163 |
|
|
<li>liblscp</li> |
164 |
|
|
<li>qsampler</li> |
165 |
|
|
</ol> |
166 |
senoner |
542 |
</p> |
167 |
|
|
|
168 |
schoenebeck |
616 |
<h3>Compilation of LinuxSampler aborts with ... </h3> |
169 |
|
|
<p class="default"> |
170 |
|
|
"<code>can't find a register in class `GENERAL_REGS' while reloading `asm'</code>"<br> |
171 |
schoenebeck |
618 |
This is caused by the inline assembly code for SIMD optimization. You currently have to compile LinuxSampler with -O2 or -O3 to avoid this problem. Usually this done by default, if not try: |
172 |
schoenebeck |
616 |
</p> |
173 |
schoenebeck |
618 |
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
174 |
|
|
<tr> |
175 |
|
|
<td><pre class="code">1 |
176 |
|
|
2</pre> |
177 |
|
|
</td> |
178 |
|
|
<td width="100%"> |
179 |
|
|
<pre class="code">CXXFLAGS="-O3" ./configure |
180 |
|
|
make</pre> |
181 |
|
|
</td> |
182 |
|
|
</tr> |
183 |
|
|
</table> |
184 |
|
|
<p class="default"> |
185 |
|
|
Alternatively you could also disable all hand-crafted assembly optimization code by: |
186 |
|
|
</p> |
187 |
|
|
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
188 |
|
|
<tr> |
189 |
|
|
<td><pre class="code">1 |
190 |
|
|
2</pre> |
191 |
|
|
</td> |
192 |
|
|
<td width="100%"> |
193 |
|
|
<pre class="code">./configure --disable-asm |
194 |
|
|
make</pre> |
195 |
|
|
</td> |
196 |
|
|
</tr> |
197 |
|
|
</table> |
198 |
|
|
<p class="default"> |
199 |
|
|
but the latter is definitely not recommended! |
200 |
|
|
</p> |
201 |
schoenebeck |
616 |
|
202 |
senoner |
542 |
<h3>How do I checkout from CVS?</h3> |
203 |
|
|
<p class="default"> |
204 |
|
|
The procedure of checking out the newest version from CVS is described on the |
205 |
|
|
<a href="downloads.html">Downloads</a> site. |
206 |
|
|
</p> |
207 |
|
|
|
208 |
|
|
<h3>How do I compile from CVS?</h3> |
209 |
|
|
<p class="default"> |
210 |
|
|
The procedure for compiling from CVS is the same for all subprojects, that is no matter |
211 |
schoenebeck |
585 |
if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you need to |
212 |
senoner |
542 |
have the autotools (automake, autoconf and libtool) installed and compile it that way: |
213 |
|
|
</p> |
214 |
|
|
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
215 |
|
|
<tr> |
216 |
|
|
<td><pre class="code">1 |
217 |
|
|
2 |
218 |
|
|
3</pre> |
219 |
|
|
</td> |
220 |
|
|
<td width="100%"> |
221 |
|
|
<pre class="code">make -f Makefile.cvs |
222 |
|
|
./configure |
223 |
|
|
make</pre> |
224 |
|
|
</td> |
225 |
|
|
</tr> |
226 |
|
|
</table> |
227 |
|
|
|
228 |
|
|
<h3>Can I use linuxsampler without a GUI as well?</h3> |
229 |
|
|
<p class="default"> |
230 |
|
|
Yes, but unfortunately there is no console based frontend frontend for linuxsampler (yet). |
231 |
|
|
You have to write LSCP scripts and send it to the running linuxsampler application. |
232 |
|
|
You can send a LSCP script to linuxsampler on the console with the following command: |
233 |
|
|
</p> |
234 |
|
|
<table class="default" border="0" cellpadding="1" cellspacing="5"> |
235 |
|
|
<tr> |
236 |
|
|
<td><pre class="code">1</pre> |
237 |
|
|
</td> |
238 |
|
|
<td width="100%"> |
239 |
|
|
<pre class="code">cat yourscript.lscp | netcat -t localhost 8888</pre> |
240 |
|
|
</td> |
241 |
|
|
</tr> |
242 |
|
|
</table> |
243 |
|
|
<p class="default"> |
244 |
|
|
Of course you can also replace localhost by the IP address of the machine where |
245 |
|
|
linuxsampler is running. Alternatively you can also make a telnet connection (port 8888) |
246 |
|
|
to linuxsampler's LSCP server and type commands manually. |
247 |
|
|
</p> |
248 |
|
|
|
249 |
|
|
|
250 |
|
|
<h3>Are there example LSCP script files somewhere?</h3> |
251 |
|
|
<p class="default"> |
252 |
|
|
Yes, have a look on the <a href="documentation.html">Documentation</a> site for some |
253 |
|
|
common LSCP script examples. For details about LSCP read the |
254 |
|
|
<a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>. Be welcome to ask |
255 |
|
|
questions for details about LSCP on the mailing list. |
256 |
|
|
</p> |
257 |
|
|
|
258 |
|
|
<a name="dropouts"></a> |
259 |
|
|
<h3>I get dropouts (click sounds, noise), what can I do about it?</h3> |
260 |
|
|
<p class="default"> |
261 |
|
|
In order to achieve good results under Linux you need to have a |
262 |
|
|
<a href="http://www.linuxdj.com/audio/lad/resourceslatency.php3">patched kernel</a>. |
263 |
|
|
There are different patches available depending on what version (2.4.x or 2.6.x) of kernel you use. |
264 |
|
|
The <a href="http://jackit.sourceforge.net/docs/faq.php">JACK FAQ site</a> is also a good resource |
265 |
|
|
how to configure a realtime stable kernel. But note; LinuxSampler currently has not support for |
266 |
|
|
libcap yet, that means if you are still using a 2.4.x Linux kernel you most probably have to run |
267 |
|
|
LinuxSampler with root priviliges (support for libcap is planned though). As a rule of thumb: if |
268 |
|
|
you don't get warnings like "cannot mlockall() memory" you are safe to run it as ordinary user as well. |
269 |
|
|
</p> |
270 |
|
|
|
271 |
|
|
</div> |
272 |
|
|
</td></tr></table> |
273 |
|
|
|
274 |
|
|
</div> |
275 |
|
|
|
276 |
|
|
</body> |
277 |
|
|
</html> |