1 |
iliev |
1144 |
<?xml version="1.0" encoding="UTF-8"?> |
2 |
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
3 |
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> |
4 |
|
|
<book> |
5 |
|
|
<title>JSampler Manual</title> |
6 |
|
|
|
7 |
|
|
<bookinfo> |
8 |
|
|
<author> |
9 |
|
|
<firstname>by Grigor</firstname> |
10 |
|
|
|
11 |
|
|
<surname>Iliev</surname> |
12 |
|
|
</author> |
13 |
|
|
|
14 |
|
|
<copyright> |
15 |
iliev |
1756 |
<year>2008</year> |
16 |
iliev |
1144 |
|
17 |
|
|
<holder>Grigor Iliev <grigor@grigoriliev.com></holder> |
18 |
|
|
</copyright> |
19 |
|
|
|
20 |
|
|
<legalnotice> |
21 |
|
|
<para>This document is released under the terms of the <ulink |
22 |
|
|
url="gfdl.html">GNU Free Documentation License</ulink>.</para> |
23 |
|
|
</legalnotice> |
24 |
|
|
|
25 |
iliev |
1756 |
<pubdate>Updated: Tue, 26 August 2008</pubdate> |
26 |
iliev |
1144 |
</bookinfo> |
27 |
|
|
|
28 |
iliev |
1583 |
<chapter id="INTRODUCTION"> |
29 |
iliev |
1144 |
<title>Introduction</title> |
30 |
|
|
|
31 |
iliev |
1583 |
<section id="WHAT_IS_JSAMPLER"> |
32 |
iliev |
1144 |
<title>What is JSampler?</title> |
33 |
|
|
|
34 |
|
|
<para>JSampler is an opensource, platform-independent, GUI front-end for |
35 |
|
|
<ulink url="http://www.linuxsampler.org">LinuxSampler</ulink>, written |
36 |
|
|
entirely in <ulink url="http://java.sun.com">Java</ulink>. The main goal |
37 |
|
|
of the JSampler's design is to be extensible and more flexible regarding |
38 |
|
|
the integration of different GUI implementations. JSampler consists of |
39 |
|
|
two parts:</para> |
40 |
|
|
|
41 |
|
|
<para><itemizedlist> |
42 |
|
|
<listitem> |
43 |
|
|
<para>JSampler core - handles the LSCP command processing and |
44 |
|
|
event notifications, sent by LinuxSampler, and provides convenient |
45 |
|
|
data models and controllers to be used instead. The core also |
46 |
|
|
provides the necessary interfaces that should be implemented by |
47 |
|
|
all JSamler views.</para> |
48 |
|
|
</listitem> |
49 |
|
|
|
50 |
|
|
<listitem> |
51 |
|
|
<para>JSampler view - an extension to the JSampler core, which |
52 |
|
|
provides the user interface part of JSampler.</para> |
53 |
|
|
</listitem> |
54 |
|
|
</itemizedlist>The main reason for that is the TCP/IP based |
55 |
|
|
communication between the LinuxSampler and its front-ends, enabling the |
56 |
|
|
sampler to be controlled from another computer or device, which may have |
57 |
|
|
different display requirements and limitations.</para> |
58 |
|
|
</section> |
59 |
|
|
|
60 |
iliev |
1583 |
<section id="WHAT_IS_JSAMPLER_DISTRIBUTION"> |
61 |
iliev |
1144 |
<title>What is a JSampler distribution?</title> |
62 |
|
|
|
63 |
|
|
<para>A JSampler distribution consist of the JSampler core and at least |
64 |
|
|
one view, providing the GUI implementation. Each distribution has its |
65 |
|
|
own name, which is based on the integrated view extension. Currently, |
66 |
|
|
there are two distributions:</para> |
67 |
|
|
|
68 |
|
|
<para><itemizedlist> |
69 |
|
|
<listitem> |
70 |
|
|
<para>JS Classic - A distribution with a standard GUI, capable of |
71 |
|
|
controlling all features available in LinuxSampler at the time of |
72 |
|
|
this writing. JS Classic also provides some additional features to |
73 |
|
|
facilitate the every day work with the sampler and to automate the |
74 |
|
|
most frequently used configurations.</para> |
75 |
|
|
</listitem> |
76 |
|
|
|
77 |
|
|
<listitem> |
78 |
iliev |
1285 |
<para>Fantasia - A distribution with a modern skin based view |
79 |
|
|
(initial graphic design by Olivier Boyer).</para> |
80 |
iliev |
1144 |
</listitem> |
81 |
|
|
</itemizedlist></para> |
82 |
|
|
</section> |
83 |
|
|
</chapter> |
84 |
|
|
|
85 |
iliev |
1583 |
<chapter id="SCREENSHOTS"> |
86 |
iliev |
1144 |
<title>Screenshots</title> |
87 |
|
|
|
88 |
iliev |
1285 |
<para>JS Classic with left pane, LS console, statusbar and toolbars</para> |
89 |
iliev |
1144 |
|
90 |
iliev |
1285 |
<para><ulink url="images/js-classic1.png"><inlinegraphic |
91 |
|
|
fileref="images/js-classic1-preview.png" /></ulink></para> |
92 |
|
|
|
93 |
iliev |
1144 |
<para>JS Classic without left pane, LS console, statusbar and |
94 |
iliev |
1285 |
toolbars</para> |
95 |
iliev |
1144 |
|
96 |
iliev |
1285 |
<para><ulink url="images/js-classic2.png"><inlinegraphic |
97 |
|
|
fileref="images/js-classic2-preview.png" /></ulink></para> |
98 |
|
|
|
99 |
|
|
<para>Fantasia</para> |
100 |
|
|
|
101 |
|
|
<para><ulink url="images/fantasia.png"><inlinegraphic |
102 |
|
|
fileref="images/fantasia-preview.png" /></ulink></para> |
103 |
iliev |
1144 |
</chapter> |
104 |
|
|
|
105 |
iliev |
1583 |
<chapter id="INSTALLATION"> |
106 |
iliev |
1144 |
<title>Installation</title> |
107 |
|
|
|
108 |
|
|
<para></para> |
109 |
|
|
|
110 |
iliev |
1583 |
<section id="DOWNLOAD"> |
111 |
iliev |
1285 |
<title>What to download?</title> |
112 |
iliev |
1144 |
|
113 |
iliev |
1285 |
<para>Currently, there are two distributions available for download - |
114 |
|
|
<ulink |
115 |
iliev |
1583 |
url="http://downloads.sourceforge.net/jsampler/JS_Classic-0.8a.jar">JS |
116 |
iliev |
1285 |
Classic</ulink> and <ulink |
117 |
iliev |
1583 |
url="http://downloads.sourceforge.net/jsampler/Fantasia-0.8a.jar">Fantasia</ulink>.</para> |
118 |
iliev |
1144 |
|
119 |
|
|
<para>The source code is available in the <ulink |
120 |
iliev |
1583 |
url="http://downloads.sourceforge.net/jsampler/JSampler-0.8a.tar.bz2">JSampler |
121 |
iliev |
1144 |
package</ulink>, which also contains this manual and startup scripts |
122 |
|
|
that can be used to run a particular JSampler distribution.</para> |
123 |
|
|
|
124 |
|
|
<para>The latest source code can be obtained from cvs with the following |
125 |
|
|
command:</para> |
126 |
|
|
|
127 |
|
|
<para><command>cvs -z3 |
128 |
|
|
-d:pserver:anonymous@cvs.linuxsampler.org:/var/cvs/linuxsampler co |
129 |
|
|
jsampler</command></para> |
130 |
|
|
</section> |
131 |
|
|
|
132 |
iliev |
1583 |
<section id="REQUIREMENTS"> |
133 |
iliev |
1285 |
<title lang="" xreflabel="">Requirements</title> |
134 |
iliev |
1144 |
|
135 |
iliev |
1204 |
<para>To run JSampler you need Java Runtime Environment (JRE) version 6 |
136 |
iliev |
1144 |
or higher. The latest version can be downloaded from <ulink |
137 |
|
|
url="http://java.sun.com/javase/downloads/">here</ulink>.</para> |
138 |
|
|
|
139 |
|
|
<para>To build JSampler distribution from source you need JDK version |
140 |
iliev |
1204 |
6.0 or higher and the <ulink url="http://ant.apache.org/">Ant |
141 |
iliev |
1144 |
tool</ulink>.</para> |
142 |
|
|
</section> |
143 |
|
|
|
144 |
iliev |
1583 |
<section id="RUNNING_JSAMPLER"> |
145 |
iliev |
1285 |
<title>Running a JSampler distribution</title> |
146 |
iliev |
1144 |
|
147 |
|
|
<para>Let's assume that you want to run from the command line |
148 |
iliev |
1583 |
<code>JS_Classic-0.8a.jar</code>, which is located in |
149 |
iliev |
1144 |
<code>/home/me/soft</code> directory. First you should check whether the |
150 |
|
|
<code>java</code> command is in your path and the version requirements |
151 |
|
|
are met. This can be done by issuing the following command:</para> |
152 |
|
|
|
153 |
|
|
<para><command>java -version</command></para> |
154 |
|
|
|
155 |
iliev |
1204 |
<para>If the version is 1.6.0 or higher you can run JS Classic by |
156 |
iliev |
1144 |
issuing the following command:</para> |
157 |
|
|
|
158 |
|
|
<para><command>java -jar |
159 |
iliev |
1583 |
/home/me/soft/JS_Classic-0.8a.jar</command></para> |
160 |
iliev |
1144 |
|
161 |
|
|
<para>Otherwise, if the shell response is something like</para> |
162 |
|
|
|
163 |
|
|
<para><command>bash: java: command not found</command></para> |
164 |
|
|
|
165 |
|
|
<para>or the version requirements are not met, make sure that you have |
166 |
|
|
installed JRE (or JDK) with the proper version and find its |
167 |
|
|
location:</para> |
168 |
|
|
|
169 |
|
|
<para><literallayout><command>updatedb |
170 |
|
|
locate bin/java</command></literallayout></para> |
171 |
|
|
|
172 |
|
|
<para>The shell should return something like:</para> |
173 |
|
|
|
174 |
|
|
<para><literallayout><command>/opt/jdk1.6.0/bin/java |
175 |
|
|
/opt/jdk1.6.0/bin/javac |
176 |
|
|
/opt/jdk1.6.0/bin/javadoc |
177 |
|
|
/opt/jdk1.6.0/bin/javah |
178 |
|
|
/opt/jdk1.6.0/bin/javap |
179 |
|
|
/opt/jdk1.6.0/jre/bin/java |
180 |
|
|
/usr/bin/java</command></literallayout></para> |
181 |
|
|
|
182 |
|
|
<para>Now, we know that we have a JDK with a proper version installed |
183 |
|
|
and its location is <code>/opt/jdk1.6.0</code>. In that case, to run JS |
184 |
|
|
Classic issue the following command:</para> |
185 |
|
|
|
186 |
|
|
<para><command>/opt/jdk1.6.0/bin/java -jar |
187 |
iliev |
1583 |
/home/me/soft/JS_Classic-0.8a.jar</command></para> |
188 |
iliev |
1144 |
|
189 |
|
|
<para><note> |
190 |
|
|
<para>On some systems double clicking on the jar file will be |
191 |
|
|
enough.</para> |
192 |
|
|
</note></para> |
193 |
|
|
</section> |
194 |
|
|
|
195 |
iliev |
1583 |
<section id="USING_SCRIPT"> |
196 |
iliev |
1144 |
<title>Using a script to run a JSampler distribution</title> |
197 |
|
|
|
198 |
|
|
<para>There are scripts In the <code>scripts</code> directory of the |
199 |
|
|
<ulink |
200 |
iliev |
1583 |
url="http://downloads.sourceforge.net/jsampler/JSampler-0.8a.tar.bz2">JSampler |
201 |
iliev |
1144 |
package</ulink> that, with a little adjustments (if needed), can be used |
202 |
|
|
to run a JSampler distribution. Copy them to a desired location and edit |
203 |
|
|
with your preferred editor.</para> |
204 |
|
|
</section> |
205 |
|
|
|
206 |
iliev |
1583 |
<section id="GNOME_JAR_ASSOCIATIONS"> |
207 |
iliev |
1144 |
<title>Telling Gnome how to handle jar files</title> |
208 |
|
|
|
209 |
|
|
<para>This configuration is optional, but necessary if you want to run |
210 |
|
|
jar files by (double) clicking on them. In Gnome, by default jar files |
211 |
|
|
are opened with the Archive Manager. To change that, run a file browser, |
212 |
|
|
right click on an arbitrary jar file and choose |
213 |
|
|
<guimenu>Properties</guimenu>, than go to the <guilabel>Open |
214 |
|
|
With</guilabel> tab and click the <guibutton>Add</guibutton> |
215 |
|
|
button.</para> |
216 |
|
|
|
217 |
|
|
<para><graphic fileref="images/file-properties.png" /></para> |
218 |
|
|
|
219 |
|
|
<para>In the <guilabel>Add Application</guilabel> dialog click onto |
220 |
|
|
<guilabel>Use a custom command</guilabel> label and a text field will |
221 |
|
|
appear below. If the location of your JRE is <code>/opt/jre1.6.0</code>, |
222 |
|
|
then enter the following command in the text box:</para> |
223 |
|
|
|
224 |
|
|
<para><command>/opt/jre1.6.0/bin/java -jar</command></para> |
225 |
|
|
|
226 |
|
|
<para>And then click the <guibutton>Add</guibutton> button.</para> |
227 |
|
|
|
228 |
|
|
<para><graphic fileref="images/add-application.png" /></para> |
229 |
|
|
</section> |
230 |
|
|
|
231 |
iliev |
1583 |
<section id="GNOME_LAUNCHER"> |
232 |
iliev |
1144 |
<title>Adding an application launcher to a Gnome panel</title> |
233 |
|
|
|
234 |
|
|
<para>To add an application launcher to a Gnome panel, right click on |
235 |
|
|
the panel and choose <guimenu>Add to Panel</guimenu>.</para> |
236 |
|
|
|
237 |
|
|
<para><graphic fileref="images/add-to-panel.png" /></para> |
238 |
|
|
|
239 |
|
|
<para>Then select <guilabel>Custom Application Launcher</guilabel> and |
240 |
|
|
click the <guibutton>Add</guibutton> button. In the |
241 |
|
|
<guilabel>Command</guilabel> field, of the <guilabel>Create |
242 |
|
|
Launcher</guilabel> dialog, fill in the exact command that you use to |
243 |
|
|
run the JSampler. For more information on how to run a JSampler |
244 |
iliev |
1583 |
distribution from the command line <link |
245 |
|
|
linkend="RUNNING_JSAMPLER">click here</link>.</para> |
246 |
iliev |
1144 |
|
247 |
|
|
<para><graphic |
248 |
|
|
fileref="images/add-to-panel-create-launcher.png" /></para> |
249 |
|
|
</section> |
250 |
|
|
|
251 |
iliev |
1583 |
<section id="RUNING_ON_WINDOWS"> |
252 |
iliev |
1144 |
<title>Running JSampler on Windows</title> |
253 |
|
|
|
254 |
|
|
<para>To run JSampler distribution on Windows, put a shortcut on the |
255 |
|
|
Desktop or Quick Launch, right click on the shortcut and choose |
256 |
|
|
<guimenu>Properties</guimenu>. In the <guilabel>Target</guilabel> field |
257 |
|
|
insert the command <code>javaw -jar</code> in the beginning.</para> |
258 |
|
|
|
259 |
|
|
<para><graphic fileref="images/win-shortcut.png" /></para> |
260 |
|
|
</section> |
261 |
|
|
</chapter> |
262 |
|
|
|
263 |
iliev |
1583 |
<chapter id="BUILDING_FROM_SOURCE"> |
264 |
iliev |
1144 |
<title>Building from source</title> |
265 |
|
|
|
266 |
|
|
<para>If you want to build a JSampler distribution from source, first make |
267 |
iliev |
1583 |
sure that all <link linkend="REQUIREMENTS">requirements</link> are |
268 |
iliev |
1144 |
met.</para> |
269 |
|
|
|
270 |
iliev |
1583 |
<section id="BUILDING_FROM_CVS"> |
271 |
iliev |
1144 |
<title>Building from CVS</title> |
272 |
|
|
|
273 |
|
|
<para>When building from CVS, there are some additional steps that |
274 |
|
|
should be done. JSampler uses two additional libraries, that should be |
275 |
|
|
downloaded and placed in the <code>lib/required</code> directory:</para> |
276 |
|
|
|
277 |
|
|
<para><itemizedlist> |
278 |
|
|
<listitem> |
279 |
|
|
<para><ulink |
280 |
|
|
url="http://sourceforge.net/projects/jlscp/">jlscp</ulink> - A |
281 |
|
|
java LinuxSampler control protocol API</para> |
282 |
|
|
</listitem> |
283 |
|
|
|
284 |
|
|
<listitem> |
285 |
|
|
<para><ulink |
286 |
|
|
url="http://sourceforge.net/projects/juife/">juife</ulink> - Java |
287 |
|
|
User Interface Framework Extensions</para> |
288 |
|
|
</listitem> |
289 |
|
|
</itemizedlist>Download these libraries, create a |
290 |
|
|
<code>lib/required</code> directory in the JSampler root and copy the |
291 |
|
|
<code>jlscp.jar</code> and <code>juife.jar</code> files in that |
292 |
|
|
directory:</para> |
293 |
|
|
|
294 |
|
|
<para><literallayout><command>cd /home/me/soft |
295 |
iliev |
1583 |
wget -c http://downloads.sourceforge.net/jlscp/jlscp-0.7a.tar.bz2 |
296 |
|
|
tar -xjf jlscp-0.7a.tar.bz2 |
297 |
iliev |
1144 |
wget -c http://downloads.sourceforge.net/juife/juife-0.4a.tar.bz2 |
298 |
|
|
tar -xjf juife-0.4a.tar.bz2 |
299 |
|
|
cvs -z3 -d:pserver:anonymous@cvs.linuxsampler.org:/var/cvs/linuxsampler co jsampler |
300 |
|
|
cd jsampler |
301 |
|
|
mkdirhier lib/required |
302 |
iliev |
1204 |
cp ../jlscp-0.5a/lib/jlscp.jar lib/required/jlscp.jar |
303 |
iliev |
1144 |
cp ../juife-0.4a/lib/juife.jar lib/required/juife.jar</command></literallayout></para> |
304 |
|
|
|
305 |
iliev |
1756 |
<tip> |
306 |
|
|
<para>In most cases it is sufficient just to copy the |
307 |
|
|
<command>lib</command> directory from the last release, but first |
308 |
|
|
check if there are some significant recent changes to those |
309 |
|
|
libraries.</para> |
310 |
|
|
</tip> |
311 |
|
|
|
312 |
iliev |
1144 |
<para>Then follow the steps in the next section.</para> |
313 |
|
|
</section> |
314 |
|
|
|
315 |
iliev |
1583 |
<section id="COMPILATION"> |
316 |
iliev |
1144 |
<title>Compilation</title> |
317 |
|
|
|
318 |
|
|
<para>To build a JSampler distribution, first set the |
319 |
|
|
<code>JAVA_HOME</code> environment variable to point to your JDK |
320 |
|
|
directory. If the JDK is installed in /opt/jdk1.6.0 directory, this can |
321 |
|
|
be done by issuing the following command:</para> |
322 |
|
|
|
323 |
|
|
<para><command>export JAVA_HOME=/opt/jdk1.6.0</command></para> |
324 |
|
|
|
325 |
|
|
<para>Windows users should do something like:</para> |
326 |
|
|
|
327 |
|
|
<para><command>set JAVA_HOME=c:\jdk1.6.0</command></para> |
328 |
|
|
|
329 |
|
|
<para>Go to the JSampler root directory and issue the following |
330 |
|
|
command:</para> |
331 |
|
|
|
332 |
|
|
<para><command>ant [target]</command></para> |
333 |
|
|
|
334 |
|
|
<para>Where <code>target</code> can be one of the following:</para> |
335 |
|
|
|
336 |
|
|
<para><itemizedlist> |
337 |
|
|
<listitem> |
338 |
|
|
<para><command>build-jsclassic</command> - Builds a JS Classic |
339 |
|
|
distribution.</para> |
340 |
|
|
</listitem> |
341 |
|
|
|
342 |
|
|
<listitem> |
343 |
|
|
<para><command>clean-jsclassic</command> - Removes the JS Classic |
344 |
|
|
distribution.</para> |
345 |
|
|
</listitem> |
346 |
|
|
|
347 |
|
|
<listitem> |
348 |
|
|
<para><command>build-fantasia</command> - Builds a Fantasia |
349 |
|
|
distribution.</para> |
350 |
|
|
</listitem> |
351 |
|
|
|
352 |
|
|
<listitem> |
353 |
|
|
<para><command>clean-fantasia</command> - Removes the Fantasia |
354 |
|
|
distribution.</para> |
355 |
|
|
</listitem> |
356 |
|
|
|
357 |
|
|
<listitem> |
358 |
|
|
<para><command>build-coredoc</command> - Generates the API |
359 |
|
|
documentation for the JSampler core.</para> |
360 |
|
|
</listitem> |
361 |
|
|
|
362 |
|
|
<listitem> |
363 |
|
|
<para><command>clean-coredoc</command> - Removes the API |
364 |
|
|
documentation for the JSampler core.</para> |
365 |
|
|
</listitem> |
366 |
|
|
</itemizedlist></para> |
367 |
|
|
|
368 |
|
|
<para>So, if you want to build a JS Classic distribution, just issue the |
369 |
|
|
following command:</para> |
370 |
|
|
|
371 |
|
|
<para><command>ant build-jsclassic</command></para> |
372 |
|
|
|
373 |
|
|
<para>Then copy the jar file from the <code>dist</code> directory to the |
374 |
|
|
desired location.</para> |
375 |
|
|
</section> |
376 |
|
|
</chapter> |
377 |
iliev |
1583 |
|
378 |
|
|
<chapter id="USING_ORCHESTRAS"> |
379 |
|
|
<title>Using Orchestras</title> |
380 |
|
|
|
381 |
|
|
<para>Orchestras feature is like bookmarks/favorites for instruments. |
382 |
|
|
Instead of having a thousands of unsorted instruments you can categorize |
383 |
|
|
your most used instruments for quick access by adding them to orchestras. |
384 |
|
|
You can create an arbitrary number of orchestras and in any orchestra you |
385 |
|
|
can add an arbitrary number of instruments.<note> |
386 |
|
|
<para>Orchestras are not handled by the back-end (LinuxSampler) and |
387 |
|
|
does not depend on the <guilabel>Instruments Database</guilabel>. The |
388 |
|
|
orchestras are handled by JSampler and are stored on the local machine |
389 |
|
|
in <code><jsampler-home>/orchestras.xml</code>. To port the |
390 |
|
|
orchestras to another machine just copy that file.</para> |
391 |
|
|
</note></para> |
392 |
|
|
|
393 |
|
|
<section id="MANAGING_ORCHESTRAS"> |
394 |
|
|
<title>Managing Orchestras</title> |
395 |
|
|
|
396 |
iliev |
1756 |
<para><guilabel>Manage Orchestras</guilabel> tool buttons:</para> |
397 |
iliev |
1583 |
|
398 |
|
|
<para><inlinegraphic fileref="images/new16.png" /> <guilabel>Create new |
399 |
|
|
orchestra</guilabel></para> |
400 |
|
|
|
401 |
|
|
<para><inlinegraphic fileref="images/edit16.png" /> <guilabel>Edit |
402 |
|
|
selected orchestra</guilabel></para> |
403 |
|
|
|
404 |
|
|
<para><inlinegraphic fileref="images/delete16.png" /> <guilabel>Remove |
405 |
|
|
selected orchestra</guilabel></para> |
406 |
|
|
|
407 |
|
|
<para>To create a new orchestra, click on the |
408 |
|
|
<guilabel>Orchestras</guilabel> tab then click the <guibutton>Create new |
409 |
|
|
orchestra</guibutton> button in the <guilabel>Manage |
410 |
|
|
Orchestras</guilabel> tool:</para> |
411 |
|
|
|
412 |
|
|
<para><graphic align="center" fileref="images/new-orchestra.png" />Then |
413 |
|
|
choose orchestra name and description and click |
414 |
iliev |
1756 |
<guibutton>OK</guibutton> button.</para> |
415 |
iliev |
1583 |
|
416 |
|
|
<para>To remove an orchestra, select the orchestra and click the |
417 |
|
|
<guibutton>Remove selected orchestra</guibutton> button. To edit an |
418 |
|
|
orchestra, select the orchestra and click the <guibutton>Edit selected |
419 |
|
|
orchestra</guibutton> button, or just double-click the orchestra to |
420 |
|
|
edit.<tip> |
421 |
|
|
<para>To change the position of an orchestra in the orchestra list, |
422 |
|
|
select the orchestra and use <guilabel>Alt+Up Arrow</guilabel> and |
423 |
|
|
<guilabel>Alt+Down Arrow</guilabel> to move the selected orchestra |
424 |
|
|
up/down. You can also use <guilabel>Alt+Shift+Up Arow</guilabel> to |
425 |
|
|
move the selected orchestra on top and <guilabel>Alt+Shift+Down |
426 |
|
|
Arrow</guilabel> to move the selected orchestra to bottom.</para> |
427 |
|
|
</tip></para> |
428 |
|
|
|
429 |
|
|
<para></para> |
430 |
|
|
</section> |
431 |
|
|
|
432 |
|
|
<section id="MANAGING_INSTRUMENTS"> |
433 |
|
|
<title>Managing Instruments</title> |
434 |
|
|
|
435 |
iliev |
1756 |
<para><guilabel>Managing Instruments</guilabel> tool buttons:</para> |
436 |
iliev |
1583 |
|
437 |
|
|
<para><inlinegraphic fileref="images/new16.png" /> <guilabel>Add new |
438 |
|
|
instrument</guilabel></para> |
439 |
|
|
|
440 |
|
|
<para><inlinegraphic fileref="images/edit16.png" /> <guilabel>Edit |
441 |
|
|
selected instrument</guilabel></para> |
442 |
|
|
|
443 |
|
|
<para><inlinegraphic fileref="images/delete16.png" /> <guilabel>Remove |
444 |
|
|
selected instrument</guilabel></para> |
445 |
|
|
|
446 |
|
|
<para>To add a new instrument to orchestra, first select the desired |
447 |
|
|
orchestra from the combobox then click the <guilabel>Add new |
448 |
|
|
instrument</guilabel> button:</para> |
449 |
|
|
|
450 |
|
|
<para><graphic align="center" |
451 |
|
|
fileref="images/add-instrument-to-orchestra.png" /><tip> |
452 |
|
|
<para>The easiest way to add an instrument to orchestra is to |
453 |
|
|
right-click an instrument in the <guilabel>Instruments |
454 |
|
|
Database</guilabel>, then select <guimenu>Add To Orchestra</guimenu> |
455 |
|
|
and choose the orchestra to which to add the selected instrument. |
456 |
|
|
Note that you can select and add more than one instrument to |
457 |
|
|
orchestra at once.</para> |
458 |
|
|
</tip>To remove an instrument, select the instrument and click the |
459 |
|
|
<guibutton>Remove selected instrument</guibutton> button. To edit an |
460 |
|
|
instrument, select the instrument and click the <guibutton>Edit selected |
461 |
|
|
instrument</guibutton> button, or just double-click the instrument to |
462 |
|
|
edit.<tip> |
463 |
|
|
<para>To change the position of an instrument in the instrument |
464 |
|
|
list, select the instrument and use <guilabel>Alt+Up |
465 |
|
|
Arrow</guilabel> and <guilabel>Alt+Down Arrow</guilabel> to move the |
466 |
|
|
selected instrument up/down. You can also use <guilabel>Alt+Shift+Up |
467 |
|
|
Arow</guilabel> to move the selected instrument on top and |
468 |
|
|
<guilabel>Alt+Shift+Down Arrow</guilabel> to move the selected |
469 |
|
|
instrument to bottom.</para> |
470 |
|
|
</tip></para> |
471 |
|
|
</section> |
472 |
|
|
|
473 |
|
|
<section id="LOADING_ORCHESTRA_INSTRUMENTS"> |
474 |
|
|
<title>Loading Instruments</title> |
475 |
|
|
|
476 |
|
|
<para>To load an instrument from orchestra to a sampler channel, |
477 |
|
|
right-click on the instrument, select <guimenu>Load |
478 |
|
|
Instrument</guimenu>, then choose on which channel to load the selected |
479 |
|
|
instrument. You can also load an instrument from orchestra to a sampler |
480 |
|
|
channel using the instrument chooser of the sampler channel - click |
481 |
|
|
<guilabel>Select instrument from orchestra</guilabel> radio button, |
482 |
|
|
choose orchestra and isntrument from the comboboxes and click |
483 |
iliev |
1756 |
<guibutton>OK</guibutton> button</para> |
484 |
iliev |
1583 |
</section> |
485 |
|
|
</chapter> |
486 |
iliev |
1756 |
|
487 |
|
|
<chapter> |
488 |
|
|
<title id="MIDI_INSTRUMENTS">MIDI Instruments</title> |
489 |
|
|
|
490 |
|
|
<para>The sole purpose of the MIDI instrument mapping is to provide a way |
491 |
|
|
to change the loaded instrument on a specific sampler channel through the |
492 |
|
|
MIDI keyboard by switching to different MIDI bank/program. To do that you |
493 |
|
|
need at least one MIDI instrument map with MIDI instruments mapped for the |
494 |
|
|
desired MIDI banks/programs and to assign that map to the sampler channels |
495 |
|
|
which instruments should be switched using MIDI bank/program |
496 |
|
|
changes.</para> |
497 |
|
|
|
498 |
|
|
<para>Note that when stopping LinuxSampler all MIDI instrument mappings |
499 |
|
|
are gone forever, so it is crucial to export the MIDI instrument maps |
500 |
|
|
before quiting your session to be able to load them again next time you |
501 |
|
|
start LinuxSampler. This can be done by choosing |
502 |
|
|
<guimenu>Actions</guimenu> <guisubmenu>Export</guisubmenu> |
503 |
|
|
<guimenuitem>MIDI Instrument Maps</guimenuitem>.</para> |
504 |
|
|
|
505 |
|
|
<section> |
506 |
|
|
<title>Managing MIDI Instrument Maps</title> |
507 |
|
|
|
508 |
|
|
<para><guilabel>MIDI Instrument Maps</guilabel> tool buttons:</para> |
509 |
|
|
|
510 |
|
|
<para><inlinegraphic fileref="images/new16.png" /> <guilabel>Add MIDI |
511 |
|
|
instrument map</guilabel></para> |
512 |
|
|
|
513 |
|
|
<para><inlinegraphic fileref="images/edit16.png" /> <guilabel>Edit |
514 |
|
|
selected MIDI instrument map</guilabel></para> |
515 |
|
|
|
516 |
|
|
<para><inlinegraphic fileref="images/delete16.png" /> <guilabel>Remove |
517 |
|
|
selected MIDI instrument map</guilabel></para> |
518 |
|
|
|
519 |
|
|
<para>To create a new MIDI instrument map, click the <guilabel>MIDI |
520 |
|
|
Instruments</guilabel> tab in the Left-Side pane then click the |
521 |
|
|
<guibutton>Add MIDI instrument map</guibutton> button.</para> |
522 |
|
|
|
523 |
|
|
<para><graphic fileref="images/add-midi-map.png" /></para> |
524 |
|
|
|
525 |
|
|
<para>Then choose map name and click <guibutton>OK</guibutton> |
526 |
|
|
button.</para> |
527 |
|
|
|
528 |
|
|
<para>To remove a map, select the map and click the <guibutton>Remove |
529 |
|
|
selected MIDI instrument map</guibutton> button. To edit a map, select |
530 |
|
|
the map and click the <guibutton>Edit selected MIDI instrument |
531 |
|
|
map</guibutton> button, or just double-click the map to edit.</para> |
532 |
|
|
</section> |
533 |
|
|
|
534 |
|
|
<section> |
535 |
|
|
<title>Managing MIDI Instruments</title> |
536 |
|
|
|
537 |
|
|
<para><guilabel>Managing MIDI Instruments</guilabel> tool |
538 |
|
|
buttons:</para> |
539 |
|
|
|
540 |
|
|
<para><inlinegraphic fileref="images/new16.png" /> <guilabel>Add new |
541 |
|
|
MIDI instrument</guilabel></para> |
542 |
|
|
|
543 |
|
|
<para><inlinegraphic fileref="images/edit16.png" /> <guilabel>Edit |
544 |
|
|
selected MIDI instrument</guilabel></para> |
545 |
|
|
|
546 |
|
|
<para><inlinegraphic fileref="images/delete16.png" /> <guilabel>Remove |
547 |
|
|
selected MIDI instrument or bank</guilabel></para> |
548 |
|
|
|
549 |
|
|
<para>To map a MIDI instrument, first select the desired MIDI instrument |
550 |
|
|
map from the combobox then click the <guilabel>Add new MIDI |
551 |
|
|
instrument</guilabel> button:</para> |
552 |
|
|
|
553 |
|
|
<para><graphic align="center" |
554 |
|
|
fileref="images/map-midi-instrument.png" /><tip> |
555 |
|
|
<para>The <link linkend="INSTRUMENTS_DB_ADD_TO_MAP">easiest way to |
556 |
|
|
map a MIDI instrument</link> is from the <link |
557 |
|
|
linkend="INSTRUMENTS_DATABASE">Instruments Database</link>.</para> |
558 |
|
|
</tip>To remove a MIDI bank/instrument, select the MIDI |
559 |
|
|
bank/instrument and click the <guibutton>Remove selected MIDI instrument |
560 |
|
|
or bank</guibutton> button. To edit a MIDI instrument, select the MIDI |
561 |
|
|
instrument and click the <guibutton>Edit selected MIDI |
562 |
|
|
instrument</guibutton> button, or just double-click the MIDI instrument |
563 |
|
|
to edit.</para> |
564 |
|
|
</section> |
565 |
|
|
|
566 |
|
|
<section> |
567 |
|
|
<title>Assigning MIDI Instrument Map To Sampler Channel</title> |
568 |
|
|
|
569 |
|
|
<para>To assign MIDI instrument map to specific sampler channel, click |
570 |
|
|
the <guibutton>Options</guibutton> button to expand the channel options |
571 |
|
|
pane then select the desired map from the <guilabel>MIDI Instrument |
572 |
|
|
Map</guilabel> combobox:</para> |
573 |
|
|
|
574 |
|
|
<para><graphic fileref="images/assign-midi-map.png" /></para> |
575 |
|
|
</section> |
576 |
|
|
</chapter> |
577 |
|
|
|
578 |
|
|
<chapter id="INSTRUMENTS_DATABASE"> |
579 |
|
|
<title>Instruments Database</title> |
580 |
|
|
|
581 |
|
|
<para>The communication between LinuxSampler and its front-ends is TCP/IP |
582 |
|
|
based, which provides an option the sampler to be controlled from another |
583 |
|
|
computer or device, and while instrument loading is a regular task in the |
584 |
|
|
sampler, there should also be a convenient way to browse and load |
585 |
|
|
instruments (located on the sampler box) from a front-end launched on a |
586 |
|
|
remote host. This need is well covered by the <guilabel>Instruments |
587 |
|
|
Database</guilabel>. However, this is not the only purpose of the |
588 |
|
|
Instruments Database. It is a great tool that helps you to not get lost in |
589 |
|
|
your instrument collection, providing you a flexible way to create your |
590 |
|
|
own tree structure and to organize your instruments in more than one way, |
591 |
|
|
without moving or altering the instrument files located all over your hard |
592 |
|
|
drives. Another great feature is the search engine with enhanced search |
593 |
|
|
capabilities providing you fast and easy way of finding instruments by |
594 |
|
|
various criteria.</para> |
595 |
|
|
|
596 |
|
|
<para>It is crucial to understand that, unlike <link |
597 |
|
|
linkend="USING_ORCHESTRAS">Orchestras</link>, the Instruments Database is |
598 |
|
|
handled by LinuxSampler, not by JSampler, and by default the database file |
599 |
|
|
is located in <command>/var/lib/linuxsampler/instruments.db</command> on |
600 |
|
|
the host where the back-end is started.</para> |
601 |
|
|
|
602 |
|
|
<para>Note that you can have more than one instruments database and you |
603 |
|
|
can specify which one to be used on LinuxSampler startup. To create a new |
604 |
|
|
database file issue the following command:</para> |
605 |
|
|
|
606 |
|
|
<para><command>linuxsampler --create-instruments-db |
607 |
|
|
my_instruments.db</command></para> |
608 |
|
|
|
609 |
|
|
<para>which will create a new database file called |
610 |
|
|
<command>my_instruments.db</command> in the current directory.</para> |
611 |
|
|
|
612 |
|
|
<para>To start LinuxSampler using the newly created instruments database |
613 |
|
|
use the <command>--instruments-db-location</command> option:</para> |
614 |
|
|
|
615 |
|
|
<para><command>linuxsampler --instruments-db-location |
616 |
|
|
my_instruments.db</command></para> |
617 |
|
|
|
618 |
|
|
<para>To backup the instruments database just copy the database |
619 |
|
|
file.</para> |
620 |
|
|
|
621 |
|
|
<section> |
622 |
|
|
<title>Adding Instruments To The Instruments Database</title> |
623 |
|
|
|
624 |
|
|
<para>Choose <guimenu>Window</guimenu> <guimenuitem>Instruments |
625 |
|
|
Database</guimenuitem> to bring up the Instruments Database window, or |
626 |
|
|
click the corresponding tool button. Initialy, the instruments database |
627 |
|
|
is empty, so you should manually create the desired directories and add |
628 |
|
|
instruments to them.</para> |
629 |
|
|
|
630 |
|
|
<para>To create a new directory, select the directory, in which the new |
631 |
|
|
directory should be created and choose <guimenu>Actions</guimenu> |
632 |
|
|
<guimenuitem>Create Directory</guimenuitem>, or right-click a blank area |
633 |
|
|
and choose <guimenuitem>Create Directory</guimenuitem>.</para> |
634 |
|
|
|
635 |
|
|
<para>To add instruments to specific instruments database directory, go |
636 |
|
|
to that directory and select <guimenu>Actions</guimenu> <guisubmenu>Add |
637 |
|
|
Instruments</guisubmenu> submenu, where you have two options - to scan a |
638 |
|
|
specific instrument file and add the instruments in that file to the |
639 |
|
|
instruments database or scan a file system directory for instrument |
640 |
|
|
files and add the instruments to the instruments database.</para> |
641 |
|
|
</section> |
642 |
|
|
|
643 |
|
|
<section> |
644 |
|
|
<title>Manging Instruments And Directories</title> |
645 |
|
|
|
646 |
|
|
<para>Basic commands:</para> |
647 |
|
|
|
648 |
|
|
<para><command>Cut</command> - <guimenu>Edit</guimenu> |
649 |
|
|
<guimenuitem>Cut</guimenuitem>, or right-click on a selected file or |
650 |
|
|
directory and choose <guibutton>Cut,</guibutton> or Ctrl+X</para> |
651 |
|
|
|
652 |
|
|
<para><command>Copy</command> - <guimenu>Edit</guimenu> |
653 |
|
|
<guimenuitem>Copy</guimenuitem>, or right-click on a selected file or |
654 |
|
|
directory and choose <guibutton>Copy,</guibutton> or Ctrl+C</para> |
655 |
|
|
|
656 |
|
|
<para><command>Paste</command> - <guimenu>Edit</guimenu> |
657 |
|
|
<guimenuitem>Paste</guimenuitem>, or right-click a blank area and choose |
658 |
|
|
<guibutton>Paste,</guibutton> or Ctrl+V</para> |
659 |
|
|
|
660 |
|
|
<para><command>Rename</command> - <guimenu>Edit</guimenu> |
661 |
|
|
<guimenuitem>Rename</guimenuitem>, or right-click on a selected file or |
662 |
|
|
directory and choose <guibutton>Rename,</guibutton> or press |
663 |
|
|
<command>F2</command></para> |
664 |
|
|
|
665 |
|
|
<para><command>Delete</command> - <guimenu>Actions</guimenu> |
666 |
|
|
<guimenuitem>Delete</guimenuitem>, or right-click on a selected file or |
667 |
|
|
directory and choose <guibutton>Delete,</guibutton> or press the |
668 |
|
|
<command>Delete</command> key from the keyboard</para> |
669 |
|
|
|
670 |
|
|
<para><tip> |
671 |
|
|
<para>This commands also work on a multiple selection.</para> |
672 |
|
|
</tip></para> |
673 |
|
|
</section> |
674 |
|
|
|
675 |
|
|
<section> |
676 |
|
|
<title>Loading Instruments From The Instruments Database</title> |
677 |
|
|
|
678 |
|
|
<para>To load an instrument to a sampler channel from the Instruments |
679 |
|
|
Database, right-click on the instrument and choose <guimenu>Load |
680 |
|
|
Instrument</guimenu>, then choose the sampler channel where the |
681 |
|
|
instrument should be loaded to. Note that you need to have at least one |
682 |
|
|
sampler channel created, otherwise the <guimenu>Load |
683 |
|
|
Instrument</guimenu> submenu is disabled.</para> |
684 |
|
|
</section> |
685 |
|
|
|
686 |
|
|
<section id="INSTRUMENTS_DB_ADD_TO_MAP"> |
687 |
|
|
<title>Adding Instruments To MIDI Instrument Map</title> |
688 |
|
|
|
689 |
|
|
<para>To add an instrument to MIDI instrument map from the Instruments |
690 |
|
|
Database, right-click on the instrument and choose <guimenu>Add To MIDI |
691 |
|
|
Map</guimenu>, then choose the MIDI instrument map to which to add the |
692 |
|
|
selected instrument. Note that you need to have at least one MIDI |
693 |
|
|
instrument map, otherwise the <guimenu>Add To MIDI Map</guimenu> submenu |
694 |
|
|
is disabled. For more info read <link linkend="MIDI_INSTRUMENTS">MIDI |
695 |
|
|
Instruments</link>.<tip> |
696 |
|
|
<para>To add more than one instrument from an instrument directory |
697 |
|
|
at a time, select the instruments and right-click on one of the |
698 |
|
|
selected instruments.</para> |
699 |
|
|
</tip></para> |
700 |
|
|
</section> |
701 |
|
|
|
702 |
|
|
<section> |
703 |
|
|
<title>Adding Instruments To Orchestra From The Instruments |
704 |
|
|
Database</title> |
705 |
|
|
|
706 |
|
|
<para>To add an instrument to orchestra from the Instruments Database, |
707 |
|
|
right-click on the instrument and choose <guimenu>Add To |
708 |
|
|
Orchestra</guimenu>, then choose the orchestra to which to add the |
709 |
|
|
selected instrument. Note that you need to have at least one orchestra, |
710 |
|
|
otherwise the <guimenu>Add To Orchestra</guimenu> submenu is disabled. |
711 |
|
|
For more info read <link linkend="USING_ORCHESTRAS">Using |
712 |
|
|
Orchestras</link>.<tip> |
713 |
|
|
<para>To add more than one instrument from an instrument directory |
714 |
|
|
at a time, select the instruments and right-click on one of the |
715 |
|
|
selected instruments.</para> |
716 |
|
|
</tip></para> |
717 |
|
|
</section> |
718 |
|
|
|
719 |
|
|
<section> |
720 |
|
|
<title>Finding Instruments</title> |
721 |
|
|
|
722 |
|
|
<para>To start a search, choose <guimenu>Edit</guimenu> |
723 |
|
|
<guimenuitem>Find</guimenuitem>, or Ctrl+F.</para> |
724 |
|
|
</section> |
725 |
|
|
</chapter> |
726 |
iliev |
1144 |
</book> |