/[svn]/web/trunk/www.linuxsampler.org/faq.html
ViewVC logotype

Diff of /web/trunk/www.linuxsampler.org/faq.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 542 by senoner, Sun May 15 15:31:45 2005 UTC revision 2479 by persson, Sat Oct 26 11:51:13 2013 UTC
# Line 49  Line 49 
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    
# Line 98  Line 109 
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    
# Line 111  Line 122 
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>
# Line 118  Line 131 
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    <table><tr>
149    <td><a href="http://en.wikipedia.org/wiki/Bitcoin"><img src="gfx/logos/bitcoin32.png" alt="Bitcoins"></a></td>
150    <td>Or donate Bitcoins at:</td>
151    </tr></table>
152    <pre class="btcaddr">1Q9CK7xUhMNWryqYTZLbUTXbrjpYYtwvng</pre>
153    <hr>
154    <a href="donations.html">Why donate?</a>
155    </div>
156    <p>
157    <div class="">
158    <center>
159    <script type="text/javascript"><!--
160    google_ad_client = "pub-3408196773880325";
161    /* 120x600, created 8/3/09 */
162    google_ad_slot = "2910827959";
163    google_ad_width = 120;
164    google_ad_height = 600;
165    //-->
166    </script>
167    <script type="text/javascript"
168    src="//pagead2.googlesyndication.com/pagead/show_ads.js">
169    </script>
170    </center>
171    </div>
172    
173    
174                          </td><td valign=top width="100%">                          </td><td valign=top width="100%">
175                          <div id="contents">                          <div id="contents">
176    
177                          <h2>FAQ</h2>                          <h2>FAQ</h2>
178                          <p class="default">                          <div class="groupbox">
179                                  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
180                                  the mailing list.                                  the mailing list.<br>
181                                    <br>
182                                    1.&nbsp;License<br>
183                                    &nbsp;&nbsp;&nbsp;&nbsp;1.1&nbsp;<a href="#commercial_products">Can I use LinuxSampler in commercial hardware or software products?</a><br>
184                                    &nbsp;&nbsp;&nbsp;&nbsp;1.2&nbsp;<a href="#commercial_music">Can I use LinuxSampler for commercial music production?</a><br>
185                                    &nbsp;&nbsp;&nbsp;&nbsp;1.3&nbsp;<a href="#open_source">LinuxSampler is not open source, you are evil!</a><br>
186                                    &nbsp;&nbsp;&nbsp;&nbsp;1.4&nbsp;<a href="#closed_source">Will LinuxSampler turn closed-source?</a><br>
187                                    &nbsp;&nbsp;&nbsp;&nbsp;1.5&nbsp;<a href="#ls_license_change">I've heard the commercial exception of LinuxSampler was added at a certain version?</a><br>
188                                    &nbsp;&nbsp;&nbsp;&nbsp;1.6&nbsp;<a href="#ls_breaking_libgig_license">Doesn't LinuxSampler illegally link against libgig?</a><br>
189                                    &nbsp;&nbsp;&nbsp;&nbsp;1.7&nbsp;<a href="#ls_breaking_license">Doesn't LinuxSampler illegally link against other libraries?</a><br>
190                                    2.&nbsp;General Questions<br>
191                                    &nbsp;&nbsp;&nbsp;&nbsp;2.1&nbsp;<a href="#aga">linuxsampler? qsampler? jsampler? libgig? liblscp? jlscp? ... hu?</a><br>
192                                    &nbsp;&nbsp;&nbsp;&nbsp;2.2&nbsp;<a href="#no_gui">Can I use linuxsampler without a GUI as well?</a><br>
193                                    3.&nbsp;Compilation / Installation<br>
194                                    &nbsp;&nbsp;&nbsp;&nbsp;3.1&nbsp;<a href="#install">What do I need to compile and install?</a><br>
195                                    &nbsp;&nbsp;&nbsp;&nbsp;3.2&nbsp;<a href="#compilarion_error">Compilation of LinuxSampler aborts with ...</a><br>
196                                    &nbsp;&nbsp;&nbsp;&nbsp;3.3&nbsp;<a href="#svn_checkout">How do I checkout from Subversion?</a><br>
197                                    &nbsp;&nbsp;&nbsp;&nbsp;3.4&nbsp;<a href="#compile_svn">How do I compile from Subversion?</a><br>
198                                    4.&nbsp;Setup<br>
199                                    &nbsp;&nbsp;&nbsp;&nbsp;4.1&nbsp;<a href="#examples_lscp">Are there example LSCP script files somewhere?</a><br>
200                                    &nbsp;&nbsp;&nbsp;&nbsp;4.2&nbsp;<a href="#dropouts">I get dropouts (click sounds, noise), what can I do about it?</a><br>
201                                    &nbsp;&nbsp;&nbsp;&nbsp;4.3&nbsp;<a href="#runtime_error">LinuxSampler aborts at runtime with ...</a><br>
202                                    <br>
203                            </div>
204    
205                            <a name="commercial_products"></a>
206                            <h3>Can I use LinuxSampler in commercial hardware or software products?</h3>
207                            <p class="default">
208                            You are NOT ALLOWED to use LinuxSampler source code, libraries or applications in
209                            COMMERCIAL hardware or software products without prior written authorization by the
210                            <a href="developers.html">authors</a>. <A HREF="downloads.html">See here</A>
211                            </p>
212    
213                            <a name="commercial_music"></a>
214                            <h3>Can I use LinuxSampler for commercial music production?</h3>
215                            <p class="default">
216                            Hell, yes! Every indirect commercial usage of LinuxSampler, which essentially means
217                            using its audio output, can of course be used in commercial applications like music
218                            productions, live shows, etc. Don't get us wrong, with the mentioned commercial
219                            exception we don't want to restrict the normal user / musician, we just want to avoid
220                            somebody to directly make money with our work, that is by selling our software in a
221                            sampler product like a sampler + sample library bundle, a hardware sampler or
222                            something equivalent, at least not without giving something back to the open source
223                            Community.
224                            </p>
225    
226                            <a name="open_source"></a>
227                            <h3>LinuxSampler is not open source, you are evil!</h3>
228                            <p class="default">
229                            There are of course many definitions of the term "open source", but according to the
230                            <a href="http://en.wikipedia.org/wiki/Open_source">definition on Wikipedia</a>
231                            LinuxSampler is in fact open source, since you've got complete access to its source
232                            code. So due to this fact, a normal user / musician is free to do with LinuxSampler
233                            what he likes to do, he can even adjust and tweak every single part of the software
234                            by modifying and compiling its source code. And just the fact that we want to avoid
235                            our work to be directly exploited in commercial software or hardware products is
236                            definitely not an "evil" intention. For the normal user / musician the commercial
237                            restriction is even an advantage, since that way commercial actors are forced to
238                            support this or another open source project either directly by coding or indirectly
239                            by funding and thus increase development speed.
240                            </p>
241    
242                            <a name="closed_source"></a>
243                            <h3>Will LinuxSampler turn closed-source?</h3>
244                            <p class="default">
245                            No, LinuxSampler will remain open source. Again, the commercial exception is just to
246                            prevent commercial exploitation by third parties that haven't contributed anything to
247                            open source projects.
248                            </p>
249    
250                            <a name="ls_license_change"></a>
251                            <h3>I've heard the commercial exception of LinuxSampler was added at a certain version?</h3>
252                            <p class="default">
253                            No, the commercial exception in LinuxSampler's license terms were there since day one.
254                            Even further it's not only there since the very first publicly available CVS
255                            (developer) version of LinuxSampler, that commercial exception was even already in
256                            Benno Senoner's proof of concept code called "EVO", which LinuxSampler was based on.
257                            There was even a rumour that we would have manipulated CVS history to "pretend" this
258                            exception wasn't added at a later point. Needless to say that this rumour is completely
259                            false as well. Think about it! We're a group of developers spread around the world who
260                            work on this project for fun and ideology in our spare time. Most of us contributed to
261                            various other open source / free software projects. Do you seriously think we would
262                            cheat on such an issue? Beside that you certainly find various people completely
263                            unrelated to this project who still have early versions of LinuxSampler and / or EVO
264                            and thus can confirm that this commercial exception was always there.
265                            </p>
266    
267                            <a name="ls_breaking_libgig_license"></a>
268                            <h3>Doesn't LinuxSampler illegally link against libgig?</h3>
269                            <p class="default">
270                            No! LinuxSampler does not "illegally" link against libgig, since the copyright holder
271                            (in this case of libgig) has all rights of his work and thus is not bound to his own
272                            license terms. The sole purpose of license terms is to grant other people certain
273                            rights to use the work.
274                            </p>
275    
276                            <a name="ls_breaking_license"></a>
277                            <h3>Doesn't LinuxSampler illegally link against other libraries?</h3>
278                            <p class="default">
279                            No, the only library LinuxSampler links to that has license restrictions regarding
280                            linking is libgig (<a href="#ls_breaking_libgig_license">see above</a>). Especially
281                            LinuxSampler does not break Qt's license terms, since it does not link against Qt at
282                            all.
283                          </p>                          </p>
284    
285                          <h3>linuxsampler? qsampler? libgig? liblscp? hu?</h3>                          <a name="aga"></a>
286                            <h3>linuxsampler? qsampler? jsampler? gigedit? libgig? liblscp? jlscp? ... hu?</h3>
287                          <p class="default">                          <p class="default">
288                                  There are currently four subprojects in the LinuxSampler project; linuxsampler,                                  There are currently seven subprojects in the LinuxSampler project; jlscp, jsampler,
289                                  qsampler, libgig and liblscp. 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
290                                  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
291                                  user interface. It offers 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
292                                  an arbitrary user frontend from an arbitrary place over a netwrok connection or                                  an arbitrary user frontend from an arbitrary place over a network connection or
293                                  locally from the same machine as well.                                  (of course) locally from the same machine as well. This decoupled /
294                                  qsampler is the first GUI frontend written for linuxsampler, it is written with the Qt                                  <a href="http://en.wikipedia.org/wiki/Backend">"backend"</a> design
295                                    of the sampler allows to run it even on a machine without any graphical interface,
296                                    without a Desktop, the machine doesn't even have to have a graphics card!
297                                    qsampler is the first <a href="http://en.wikipedia.org/wiki/Graphical_user_interface">GUI</a>
298                                    <a href="http://en.wikipedia.org/wiki/Frontend">frontend</a>
299                                    written for linuxsampler, it is written in C++ using the Qt
300                                  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
301                                  without modifications on the source code.                                  without modifications of the source code.
302                                  libgig is a C++ library written for loading Gigasampler files and DLS Level 1 and 2                                  gigedit is an instruments editor application for Gigasampler format files. You can
303                                  files. libgig is used by linuxsampler to load Gigasampler files and it <b>can</b> be                                  run it as stand-alone application or in conjunction with LinuxSampler. In the latter
304                                    case you can play and immediately hear all your modifications made with gigedit in
305                                    realtime.
306                                    libgig is a C++ library written for accessing Gigasampler files and DLS Level 1 and 2
307                                    files, that is for reading and (since version 3.0.0) also writing of those files.
308                                    libgig is used by linuxsampler to load Gigasampler files, it is used by gigedit to
309                                    load, modify and create new Gigasampler files and it <b>can</b> be
310                                  used by qsampler to retrieve additional informations about Gigasampler files. liblscp                                  used by qsampler to retrieve additional informations about Gigasampler files. liblscp
311                                  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
312                                  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 /
313                                  backend side (linuxsampler) and on client / frontend side (e.g. qsampler). But it's now                                  backend side (linuxsampler) and on client / frontend side (e.g. qsampler). But it's now
314                                  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
315                                    linuxsampler, it's written in Java and thus platform independent. jlscp is a library which
316                                    can be compared with liblscp, with the only difference that jlscp is written in Java and
317                                    liblscp in C. jsampler requires jlscp.
318    
319                          </p>                          </p>
320    
321                            <a name="install"></a>
322                          <h3>What do I need to compile and install?</h3>                          <h3>What do I need to compile and install?</h3>
323                          <p class="default">                          <p class="default">
324                                  You should compile and install at least linuxsampler. As a beginner you should                                  You should compile and install at least libgig and linuxsampler. As a beginner you should
325                                  defintely as well compile and install qsampler, liblscp and libgig. qsampler is a                                  definitely as well compile and install a convenient GUI frontend like either qsampler or
326                                  convenient GUI frontend for linuxsampler. qsampler depends on liblscp, so you have to                                  jsampler, whatever you prefer. qsampler depends on liblscp, so you have to
327                                  compile and install liblscp before starting to build qsampler. It is recommended to                                  compile and install liblscp before starting to build qsampler. Also if you like to be
328                                  install libgig as well, you don't have to actually because libgig is at the moment                                  able to edit instruments, you should compile and install gigedit as well. The recommended
329                                  statically included with linuxsampler, but qsampler <b>can</b> use it to retrieve                                  order to compile and install is:
330                                  additional informations from Gigasampler files.                                  <ol class="default">
331                                      <li>libgig</li>
332                                      <li>linuxsampler</li>
333                                      <li>gigedit</li>
334                                      <li>liblscp</li>
335                                      <li>qsampler</li>
336                                    </ol>
337                            </p>
338                            <p class="default">
339                                    Of course you can also install QSampler and JSampler side by side. So you can test and use
340                                    both at the same time.
341                          </p>                          </p>
342    
343                          <h3>How do I checkout from CVS?</h3>                          <a name="compilarion_error"></a>
344                            <h3>Compilation of LinuxSampler aborts with ... </h3>
345    
346                          <p class="default">                          <p class="default">
347                                  The procedure of checking out the newest version from CVS is described on the                                  &bull;&nbsp;&nbsp;&nbsp;"<code>Required libgig version not found...</code>"<br>
348                                  <a href="downloads.html">Downloads</a> site.                                  <br>
349                                    This error might occur when running LinuxSampler's configure script. Make sure
350                                    you have the required libgig version installed. If you're compiling a Subversion
351                                    version of LinuxSampler you usually have to compile and install the current
352                                    Subversion version of libgig as well. Also note there are couple common mistakes
353                                    which let this error occur even after having compiled and installed the required
354                                    libgig version. Read
355                                    <a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=29">this bug report</a>
356                                    about common mistakes and how you can fix them.
357                </p>
358    
359                            <p class="default">
360                                            &bull;&nbsp;&nbsp;&nbsp;"<code>can't find a register in class `GENERAL_REGS' while reloading `asm'</code>"<br>
361                                    <br>
362                                    This is caused by the inline assembly code for
363                                    <a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of
364                                    linuxsampler. You have to compile older versions of LinuxSampler (v0.3.3 and older) with
365                                    -O2 or -O3 to avoid this problem. Usually this is done by default, if not try:
366                    <br>
367                </p>
368                            <pre class="code">CXXFLAGS="-O3" ./configure
369    make</pre>
370                            <p class="default">
371                                    Alternatively you could also disable all hand-crafted assembly optimization code by:
372                </p>
373                            <pre class="code">./configure --disable-asm
374    make</pre>
375                            <p class="default">
376                                but the latter is definitely not recommended, as it will increase CPU usage a lot!
377                          </p>                          </p>
378    
                         <h3>How do I compile from CVS?</h3>  
379                          <p class="default">                          <p class="default">
380                                  The procedure for compiling from CVS is the same for all subprojects, that is no matter                                  &bull;&nbsp;&nbsp;&nbsp;"<code>../common/Resampler.h:142: error: memory input 2 is not directly addressable</code>"<br>
381                                  if you are compiling linuxsampler, qsampler, libgig or liblscp from CVS, you have to                                  <br>
382                                  have the autotools (automake, autoconf and libtool) installed and compile it that way:                                  This was reported (<a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9018347&forum_id=12792">1</a>,
383                                    <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=9019467&forum_id=12792">2</a>)
384                                    to be a gcc/g++ version problem, in conjunction with the inline assembly code for
385                                    <a href="http://en.wikipedia.org/wiki/SIMD">SIMD</a> optimization in older versions of
386                                    linuxsampler. Make sure you got gcc and g++, both of version 3.3 or higher installed.
387                                    You can check this with:
388                </p>
389                            <pre class="code">gcc --version
390    g++ --version</pre>
391                <p class="default">
392                                    In case you already got gcc and g++ of version 3.3 or higher
393                                    installed and it still causes the compilation error mentioned
394                                    above, try the following:
395                </p>
396                            <pre class="code">export CC=`which gcc`
397    export CXX=`which g++`</pre>
398                <p class="default">
399                                    On certain systems however you still get this error in conjunction with older
400                                    versions of LinuxSampler (v0.3.3 and older). Fortunately newer versions of
401                                    linuxsampler are not affected anymore
402                                    (<a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=34">read this for details</a>).
403                            </p>
404    
405                            <a name="svn_checkout"></a>
406                            <h3>How do I checkout from Subversion?</h3>
407                            <p class="default">
408                                    The procedure of checking out the newest version from Subversion is described on the
409                                    <a href="downloads.html#svn">Downloads</a> site and on the
410                                    <a href="http://svn.linuxsampler.org/cgi-bin/viewvc.cgi/">web interface site
411                                    of our Subversion server</a>.
412                          </p>                          </p>
413                          <table class="default" border="0" cellpadding="1" cellspacing="5">  
414                                  <tr>                          <a name="compile_svn"></a>
415                                    <td><pre class="code">1                          <h3>How do I compile from Subversion?</h3>
416  2                          <p class="default">
417  3</pre>                                  The procedure for compiling from Subversion is the same for all subprojects, that is no matter
418                                    </td>                                  if you are compiling linuxsampler, qsampler, libgig or liblscp from Subversion, you need to
419                                    <td width="100%">                                  have the autotools (automake, autoconf and libtool) installed and compile it that way:
420                                      <pre class="code">make -f Makefile.cvs                                  <pre class="code">make -f Makefile.cvs
421  ./configure  ./configure
422  make</pre>  make</pre>
423                                    </td>                          </p>
                                 </tr>  
                         </table>  
424    
425                            <a name="no_gui"></a>
426                          <h3>Can I use linuxsampler without a GUI as well?</h3>                          <h3>Can I use linuxsampler without a GUI as well?</h3>
427                          <p class="default">                          <p class="default">
428                                  Yes, but unfortunately there is no console based frontend frontend for linuxsampler (yet).                                  Yes, but unfortunately there is no console based frontend for linuxsampler (yet).
429                                  You have to write LSCP scripts and send it to the running linuxsampler application.                                  You have to write LSCP scripts and send it to the running linuxsampler application. But
430                                  You can send a LSCP script to linuxsampler on the console with the following command:                                  don't worry, if you don't know how to write LSCP scripts, you can also start by saving
431                          </p>                                  a sampler session with QSampler, because the session files qsampler writes are actually
432                          <table class="default" border="0" cellpadding="1" cellspacing="5">                                  real LSCP scripts. You can send a LSCP script to linuxsampler on the console with the
433                                  <tr>                                  following command:
434                                    <td><pre class="code">1</pre>              </p>
435                                    </td>                          <pre class="code">netcat localhost 8888 &lt; yourscript.lscp</pre>
                                   <td width="100%">  
                                     <pre class="code">cat yourscript.lscp | netcat -t localhost 8888</pre>  
                                   </td>  
                                 </tr>  
                         </table>  
436                          <p class="default">                          <p class="default">
437                    or on certain systems (like Debian) you have to provide the -t switch:
438                </p>
439                            <pre class="code">netcat -t localhost 8888 &lt; yourscript.lscp</pre>
440                <p class="default">
441                                  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
442                                  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)
443                                  to linuxsampler's LSCP server and type commands manually.                                  to linuxsampler's LSCP server and type commands manually.
444                          </p>                          </p>
445    
446                            <a name="examples_lscp"></a>
447                          <h3>Are there example LSCP script files somewhere?</h3>                          <h3>Are there example LSCP script files somewhere?</h3>
448                          <p class="default">                          <p class="default">
449                                  Yes, have a look on the <a href="documentation.html">Documentation</a> site for some                                  Yes, have a look on the <a href="documentation.html">Documentation</a> site for some
450                                  common LSCP script examples. For details about LSCP read the                                  common LSCP script examples. For details about LSCP read the
451                                  <a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>. Be welcome to ask                                  <a href="api/draft-linuxsampler-protocol.html">LSCP reference</a>. Be welcome to ask
452                                  questions for details about LSCP on the mailing list.                                  questions for details about LSCP on the
453                                    <a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel">mailing list</a>.
454                          </p>                          </p>
455    
456                          <a name="dropouts"></a>                          <a name="dropouts"></a>
# Line 220  make</pre> Line 459  make</pre>
459                                  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
460                                  <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>.
461                                  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.
462                                  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>
463                                    (or the <a href="http://jackit.sourceforge.net/docs/faq.php">old JACK FAQ site</a>)
464                                    is also a good resource for
465                                  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
466                                  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
467                                  LinuxSampler with root priviliges (support for libcap is planned though). As a rule of thumb: if                                  LinuxSampler with root priviliges. As a rule of thumb: if you don't get warnings like "cannot
468                                  you don't get warnings like "cannot mlockall() memory" 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.
469                          </p>                          </p>
470    
471                            <a name="runtime_error"></a>
472                            <h3>LinuxSampler aborts at runtime with ... </h3>
473                            <p class="default">
474                            Note: For <b>Windows specific runtime errors</b>, please have a
475                            look at the
476                            <a href="windows.html#houston">Trouble Shooting</a> section of
477                            the LinuxSampler Windows HOWTO.
478                            </p>
479    
480                            <p class="default">
481                                    &bull;&nbsp;&nbsp;&nbsp;"<code>gig::Engine error: Failed to
482                                    load instrument, cause: Unknown exception while trying to
483                                    parse gig file.</code>"<br>
484                                    <br>
485                                    Usually LS gives you a meaningful error message in case it
486                                    failed to load an instrument. However there might be rare
487                                    cases where LS cannot resolve the reason and you get an
488                                    error message like above. In this case make sure security /
489                                    user limits aren't set too low. You can list your current
490                                    limits with:
491                            </p>
492                            <pre class="code">ulimit -a</pre>
493                            <p class="default">
494                                    Usually most of those settings are set to "unlimited" on
495                                    most boxes. If this is not the case on yours, make sure that
496                                    at least the limits for "max locked memory", "virtual
497                                    memory" and "data seg size" are sufficiently high enough.
498                                    The exact value depends on the instruments you want to load.
499                                    If your security policy allows it, you could simply set
500                                    those limits to "unlimited" (see also config file
501                                    /etc/security/limits.conf and
502                                    <a href="https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=41">bug report #41</a>).
503                </p>
504    
505                  </div>                  </div>
506                  </td></tr></table>                  </td></tr></table>
507    

Legend:
Removed from v.542  
changed lines
  Added in v.2479

  ViewVC Help
Powered by ViewVC