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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1580 - (show annotations) (download) (as text)
Fri Dec 7 17:44:33 2007 UTC (13 years, 9 months ago) by schoenebeck
File MIME type: text/x-sgml
File size: 10962 byte(s)
* minor quickstart doc update

1 <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 <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
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 <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 <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 recompile <application>LinuxSampler</application> in case you want it to use
118 another directory as plugins directory. Assuming you want it to use the directory "/usr/lib/linuxsampler/plugins" instead you could compile the sampler i.e. this way:
119 <screen>
120 <prompt>bob@mybox ~/cvs/linuxsampler $</prompt> <command>./configure --enable-plugin-dir=/usr/lib/linuxsampler/plugins &amp;&amp; make</command>
121 </screen>
122 probably in conjunction with some other configure script parameters and some
123 nice CXXFLAGS to optimize the sampler for your machine, but this is out of
124 the scope of this document. After the compilation completed, you would
125 install the sampler as user root as usual:
126 <screen>
127 <prompt>bob@mybox ~/cvs/linuxsampler $</prompt> <command>su</command>
128 Password:
129 <prompt>mybox linuxsampler #</prompt> <command>make install</command>
130 </screen>
131 Again make sure that your chosen plugin directory exists, if not create it
132 and when running <application>LinuxSampler</application> now again, the
133 error message on the console ("Could not open instrument editor plugins
134 directory") should be gone.
135 </para>
136 <para>
137 Now you must recompile <application>gigedit</application>, because it has
138 to compile the appropriate plugin and has to place that plugin DLL into the
139 samplers plugins directory. It should look like this:
140 <screen>
141 <prompt>bob@mybox ~/cvs/gigedit $</prompt> <command>./configure</command>
142 checking build system type... i686-pc-linux-gnu
143 checking host system type... i686-pc-linux-gnu
144 checking for gcc... gcc
145 checking for C compiler default output file name... a.out
146 checking whether the C compiler works... yes
147 checking whether we are cross compiling... no
148 ...
149 checking for gmsgfmt... /usr/bin/gmsgfmt
150 checking for xgettext... /usr/bin/xgettext
151 checking for pkg-config... /usr/bin/pkg-config
152 checking pkg-config is at least version 0.9.0... yes
153 checking for GTKMM... yes
154 checking for GIG... yes
155 checking for SNDFILE... yes
156 checking for SF_INSTRUMENT.loops... yes
157 <errortext>checking for LINUXSAMPLER... yes
158 Found linuxsampler 0.4.0.5cvs
159 Retrieving LinuxSampler's plugin dir... /usr/lib/linuxsampler/plugins
160 Relative plugin dir: ${libdir}/linuxsampler/plugins</errortext>
161 configure: creating ./config.status
162 config.status: creating Makefile
163 config.status: creating src/Makefile
164 config.status: creating src/gigedit/Makefile
165 config.status: creating src/plugin/Makefile
166 config.status: creating po/Makefile.in
167 config.status: creating debian/Makefile
168 config.status: creating doc/Makefile
169 config.status: creating doc/quickstart/Makefile
170 config.status: creating config.h
171 config.status: config.h is unchanged
172 config.status: executing depfiles commands
173 config.status: executing intltool commands
174 config.status: executing default-1 commands
175 config.status: executing po/stamp-it commands
176 <prompt>bob@mybox ~/cvs/gigedit $</prompt> <command>make</command>
177 </screen>
178 Make sure the higlighted section of the configure script output looks
179 similar like above. After compilation completed, you once again install
180 with the common procedure:
181 <screen>
182 <prompt>bob@mybox ~/cvs/gigedit $</prompt> <command>su</command>
183 Password:
184 <prompt>mybox gigedit #</prompt> <command>make install</command>
185 </screen>
186 This will install the <application>gigedit</application> binary, as well
187 as its plugin .so file into the directory "/usr/lib/linuxsampler/plugins"
188 (or whatever you chose). And when you start the sampler now from the
189 console, it should look like this:
190 <screen>
191 <prompt>bob@mybox ~ $</prompt> <command>linuxsampler</command>
192 LinuxSampler 0.4.0.7cvs
193 Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck
194 Copyright (C) 2005-2007 Christian Schoenebeck
195 Detected features: MMX SSE
196 Creating Sampler...OK
197 Registered sampler engines: 'GIG'
198 Registered MIDI input drivers: ALSA
199 Registered audio output drivers: ALSA,ARTS,JACK
200 Loading instrument editor plugins...OK
201 <errortext>Registered instrument editors: 'gigedit'</errortext>
202 Starting LSCP network server (0.0.0.0:8888)...OK
203 LinuxSampler initialization completed. :-)
204 </screen>
205 Now you're done with setup and the steps described in
206 <xref linkend="about" /> should work for you. If not, you probably found a
207 bug. Feel free to contact us via our mailing list or open a bug report on
208 our website.
209 <note>If you just used precompiled binary packages of
210 <application>LinuxSampler</application> and
211 <application>gigedit</application>, i.e. from the Linux distribution of
212 your choice, you shouldn't have to recompile them by yourself. Either the
213 versions of <application>LinuxSampler</application> and / or
214 <application>gigedit</application> are too old or they were simply not
215 compiled / packaged correctly. In both cases, please report it to the
216 respective package maintainer of your distribution!</note>
217 </para>
218 </section>
219 </chapter>

  ViewVC Help
Powered by ViewVC