/[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 1392 - (hide annotations) (download) (as text)
Sun Oct 7 20:29:07 2007 UTC (16 years, 6 months ago) by schoenebeck
File MIME type: text/x-sgml
File size: 10270 byte(s)
* quickstart documentation: added chapter "live editing" describing howto
  run gigedit in conjunction with LinuxSampler to be able to immediately
  hear all modifications made with gigedit

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

  ViewVC Help
Powered by ViewVC