/[svn]/gigedit/trunk/doc/quickstart/live_editing.sgm
ViewVC logotype

Annotation of /gigedit/trunk/doc/quickstart/live_editing.sgm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2054 - (hide annotations) (download) (as text)
Wed Jan 27 20:40:13 2010 UTC (14 years, 2 months ago) by schoenebeck
File MIME type: text/x-sgml
File size: 11416 byte(s)
* minor update in quickstart documentation

1 schoenebeck 1392 <chapter id="live_editing"><title>Live Editing</title>
2     <section id="about"><title>Only trust what you hear...</title>
3     <para>
4     So far we've been using <application>gigedit</application> as stand-alone
5     application. The main drawback of this approach is that you cannot
6     immediately hear the effect of your modifications unless you explicitly
7     (re)load the respective instrument into a sampler, which is unconvenient
8     and wastes a lot of time (especially with big instruments). Fortunately
9     gigedit and <application>LinuxSampler</application> are friends and
10     politely share the same instrument(s) at the same time if you tell them to
11     do so.
12     </para>
13     <para>
14     To do this, you first have to load the respective instrument(s) into
15     <application>LinuxSampler</application>, i.e. by using a frontend
16     application like <application>JSampler</application> or
17 schoenebeck 1580 <application>QSampler</application>. Here's how you do it with
18     <application>QSampler</application>: Select the channel strip of the
19     instrument you want to edit and click on the "Edit" button on the same
20     channel strip, like shown in <xref linkend="shot_qsampler_edit" />.
21 schoenebeck 1392
22     Alternatively you can also select this function from the menu (
23     <menuchoice>
24     <guimenu>"Edit"</guimenu>
25     <guimenuitem>"Edit Channel..."</guimenuitem>
26     </menuchoice> ). In any case
27     <application>gigedit</application> should popup on the screen in less
28     than 5 seconds. This time you can see <application>gigedit</application>
29     like being "attached" to <application>LinuxSampler</application>.
30    
31 schoenebeck 1580 <figure id="shot_qsampler_edit"><title>Selecting an instrument to edit from QSampler</title>
32     <screenshot><mediaobject><imageobject>
33     <imagedata fileref="shot_qsampler_edit.png" format="PNG"/>
34     </imageobject></mediaobject></screenshot>
35     </figure>
36    
37     In <application>JSampler</application> you won't see an "Edit" button
38     by default. Instead you have to move the mouse pointer over the channel
39     strip which contains the instrument you want to edit. The channel strip
40     display will change immediately and a round, small "Edit" button
41     appears like shown in <xref linkend="shot_jsampler_edit" />. Click on
42     that button and gigedit will appear like with
43     <application>QSampler</application>, so it's pretty much the same thing.
44    
45     <figure id="shot_jsampler_edit"><title>Selecting an instrument to edit from JSampler "Fantasia" 0.8a</title>
46     <screenshot><mediaobject><imageobject>
47     <imagedata fileref="shot_jsampler_edit.png" format="PNG"/>
48     </imageobject></mediaobject></screenshot>
49     </figure>
50    
51 schoenebeck 1392 <figure id="shot_gigedit_hosted"><title>Gigedit running "attached" to LinuxSampler</title>
52     <screenshot><mediaobject><imageobject>
53     <imagedata fileref="shot_gigedit_hosted.png" format="PNG"/>
54     </imageobject></mediaobject></screenshot>
55     </figure>
56    
57     If nothing appears on the screen or in case you get an error when clicking
58     on the "Edit" button, refer to <xref linkend="live_trouble" />.
59     </para>
60     <para>
61     All modifications you do on the selected instrument with
62     <application>gigedit</application> will immediately be audible when you
63     play notes.
64     When you close <application>gigedit</application> you'll notice that it
65     won't ask you to save the instrument, which it would usually do when you
66     run <application>gigedit</application> as stand-alone application. This is
67     because the modifications are not lost when you close it, at least not
68     unless you kill the sampler as well. So when you click again on "Edit"
69     you'll see that all the modifications you made are still there. Also note
70     when selecting "New" or "Open" from the menu to create a completely new
71     instrument or open another one from a file,
72     <application>gigedit</application> will be "detached" from the sampler,
73     that is the other instrument will not be audible with the sampler. This is
74     currently (2007-10-07) a minor limitation of the sampler and
75     <application>gigedit</application>. So if you want to create a completely
76     new instrument from scratch you first have to create that instrument with
77     <application>gigedit</application>, save it to a file and then load it into
78     the sampler. After that you can continue like described in this chapter and
79     edit the new instrument "live" by clicking on the respective "Edit" button
80     in <application>QSampler</application>.
81     </para>
82     </section>
83    
84     <section id="live_trouble"><title>Trouble with live-editing</title>
85     <para>
86     <application>LinuxSampler</application> and
87     <application>gigedit</application> need to be compiled properly to be able
88     to use the described "live editing" feature between those two applications.
89     So here is a short technical explanation how the interaction between those
90     two applications work: <application>LinuxSampler</application> per se
91     doesn't actually know anything that an application like
92     <application>gigedit</application> exists in this world. However the
93     sampler provides a plugin system to extend it for this functionality. When
94     you compile the sampler you define a directory where the sampler shall look
95     for plugin DLLs to load on startup. So first check if that directory
96     actually exists or if the sampler was not compiled with the correct /
97     desired plugin directory. When you start the sampler from the console
98     simply by typing the command <command>linuxsampler</command> and you see
99     something like this:
100     <screen>
101     <prompt>bob@mybox ~ $</prompt> <command>linuxsampler</command>
102     LinuxSampler 0.4.0.7cvs
103     Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck
104     Copyright (C) 2005-2007 Christian Schoenebeck
105     Detected features: MMX SSE
106     Creating Sampler...OK
107     Registered sampler engines: 'GIG'
108     Registered MIDI input drivers: ALSA
109     Registered audio output drivers: ALSA,ARTS,JACK
110     Loading instrument editor plugins...<errortext>Could not open instrument editor plugins directory (/usr/local/lib/linuxsampler/plugins): No such file or directory</errortext>
111     Registered instrument editors:
112     Starting LSCP network server (0.0.0.0:8888)...OK
113     LinuxSampler initialization completed. :-)
114     </screen>
115     Then there's definitely something wrong. :) So either create the mentioned
116     directory (in this case "/usr/local/lib/linuxsampler/plugins") manually or
117 schoenebeck 2054 in case you want to use another directory as plugins directory (and you
118     have linuxsampler version 1.0.0.cvs3 or younger), you can simply override
119     the location where LinuxSampler shall look for plugins by setting the
120     environment variable LINUXSAMPLER_PLUGIN_DIR:
121 schoenebeck 1392 <screen>
122 schoenebeck 2054 <prompt>bob@mybox ~ $</prompt> <command>export LINUXSAMPLER_PLUGIN_DIR="/usr/lib/linuxsampler/plugins"</command>
123     <prompt>bob@mybox ~ $</prompt> <command>linuxsampler</command>
124     </screen>
125     or recompile <application>LinuxSampler</application> with another directory
126     as default plugins directory. Assuming you want it to use the directory
127     "/usr/lib/linuxsampler/plugins" instead you could compile the sampler i.e.
128     this way:
129     <screen>
130 schoenebeck 1392 <prompt>bob@mybox ~/cvs/linuxsampler $</prompt> <command>./configure --enable-plugin-dir=/usr/lib/linuxsampler/plugins &amp;&amp; make</command>
131     </screen>
132     probably in conjunction with some other configure script parameters and some
133     nice CXXFLAGS to optimize the sampler for your machine, but this is out of
134     the scope of this document. After the compilation completed, you would
135     install the sampler as user root as usual:
136     <screen>
137     <prompt>bob@mybox ~/cvs/linuxsampler $</prompt> <command>su</command>
138     Password:
139     <prompt>mybox linuxsampler #</prompt> <command>make install</command>
140     </screen>
141     Again make sure that your chosen plugin directory exists, if not create it
142     and when running <application>LinuxSampler</application> now again, the
143     error message on the console ("Could not open instrument editor plugins
144     directory") should be gone.
145     </para>
146     <para>
147     Now you must recompile <application>gigedit</application>, because it has
148     to compile the appropriate plugin and has to place that plugin DLL into the
149     samplers plugins directory. It should look like this:
150     <screen>
151     <prompt>bob@mybox ~/cvs/gigedit $</prompt> <command>./configure</command>
152     checking build system type... i686-pc-linux-gnu
153     checking host system type... i686-pc-linux-gnu
154     checking for gcc... gcc
155     checking for C compiler default output file name... a.out
156     checking whether the C compiler works... yes
157     checking whether we are cross compiling... no
158     ...
159     checking for gmsgfmt... /usr/bin/gmsgfmt
160     checking for xgettext... /usr/bin/xgettext
161     checking for pkg-config... /usr/bin/pkg-config
162     checking pkg-config is at least version 0.9.0... yes
163     checking for GTKMM... yes
164     checking for GIG... yes
165     checking for SNDFILE... yes
166     checking for SF_INSTRUMENT.loops... yes
167     <errortext>checking for LINUXSAMPLER... yes
168     Found linuxsampler 0.4.0.5cvs
169     Retrieving LinuxSampler's plugin dir... /usr/lib/linuxsampler/plugins
170     Relative plugin dir: ${libdir}/linuxsampler/plugins</errortext>
171     configure: creating ./config.status
172     config.status: creating Makefile
173     config.status: creating src/Makefile
174     config.status: creating src/gigedit/Makefile
175     config.status: creating src/plugin/Makefile
176     config.status: creating po/Makefile.in
177     config.status: creating debian/Makefile
178     config.status: creating doc/Makefile
179     config.status: creating doc/quickstart/Makefile
180     config.status: creating config.h
181     config.status: config.h is unchanged
182     config.status: executing depfiles commands
183     config.status: executing intltool commands
184     config.status: executing default-1 commands
185     config.status: executing po/stamp-it commands
186     <prompt>bob@mybox ~/cvs/gigedit $</prompt> <command>make</command>
187     </screen>
188     Make sure the higlighted section of the configure script output looks
189     similar like above. After compilation completed, you once again install
190     with the common procedure:
191     <screen>
192     <prompt>bob@mybox ~/cvs/gigedit $</prompt> <command>su</command>
193     Password:
194     <prompt>mybox gigedit #</prompt> <command>make install</command>
195     </screen>
196     This will install the <application>gigedit</application> binary, as well
197     as its plugin .so file into the directory "/usr/lib/linuxsampler/plugins"
198     (or whatever you chose). And when you start the sampler now from the
199     console, it should look like this:
200     <screen>
201     <prompt>bob@mybox ~ $</prompt> <command>linuxsampler</command>
202     LinuxSampler 0.4.0.7cvs
203     Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck
204     Copyright (C) 2005-2007 Christian Schoenebeck
205     Detected features: MMX SSE
206     Creating Sampler...OK
207     Registered sampler engines: 'GIG'
208     Registered MIDI input drivers: ALSA
209     Registered audio output drivers: ALSA,ARTS,JACK
210     Loading instrument editor plugins...OK
211     <errortext>Registered instrument editors: 'gigedit'</errortext>
212     Starting LSCP network server (0.0.0.0:8888)...OK
213     LinuxSampler initialization completed. :-)
214     </screen>
215     Now you're done with setup and the steps described in
216     <xref linkend="about" /> should work for you. If not, you probably found a
217     bug. Feel free to contact us via our mailing list or open a bug report on
218     our website.
219     <note>If you just used precompiled binary packages of
220     <application>LinuxSampler</application> and
221     <application>gigedit</application>, i.e. from the Linux distribution of
222     your choice, you shouldn't have to recompile them by yourself. Either the
223     versions of <application>LinuxSampler</application> and / or
224     <application>gigedit</application> are too old or they were simply not
225     compiled / packaged correctly. In both cases, please report it to the
226     respective package maintainer of your distribution!</note>
227     </para>
228     </section>
229     </chapter>

  ViewVC Help
Powered by ViewVC