Cvs
From MusE Wiki
CVS (used for released version of MusE, 0.9)
For the newest codebase that is currently unreleased see the Svn page.
Here you find a short description on how you can get the CVS version running. If you never heared about CVS then don't even try it, you have to do many things you probably won't like to. Just download a RPM or DEB file from your distribution.
You can also search here: http://sourceforge.net/cvs/?group_id=93414
Contents |
What you need (my installed debian packetlist):
joachim@debian:~/tmp/muse-stuff/muse$ dpkg -l | grep qt3
- ii libqt3-headers 3.2.3-2 Qt3 header files
- ii libqt3-i18n 3.2.3-2 i18n files for Qt3 library
- ii libqt3-mt-dev 3.2.3-2 Qt development files (Threaded)
- ii libqt3c102-mt 3.2.3-2 Qt GUI Library (Threaded runtime version)
- ii qt3-assistant 3.2.3-2 The Qt3 assistant application
- ii qt3-designer 3.2.3-2 Qt3 Designer
- ii qt3-dev-tools 3.2.3-2 Qt3 development tools
- ii qt3-doc 3.2.3-2 Qt3 API documentation
- ii qt3-qtconfig 3.2.3-2 The Qt3 Configuration Application
root@debian:/home/joachim/bilderchen/flubb# dpkg -l | grep jack
- ii libjack0.80.0-0 0.98.1-4 JACK Audio Connection Kit (libraries)
- ii libjack0.80.0-dev 0.98.1-4 JACK Audio Connection Kit (development files)
Download
First get the files from cvs
cvs -z3 -d:pserver:anonymous@lmuse.cvs.sourceforge.net:/cvsroot/lmuse co -r REL07 muse
For developers: cvs -z3 -d:ext:developername@lmuse.cvs.sourceforge.net:/cvsroot/lmuse co -r REL07 -P muse
Compilation
cd muse
run the autogen script with ./autogen.sh
Do not forget to export your QTDIR variables or to pass it with the ./configure - script.
If you choose the configure script way you can see possible parameters with:
joachim@debian:~/tmp/muse-stuff/muse$ ./configure --help --with-docbook-stylesheets=DIR use DIR/html/docbook.dsl --with-x use the X Window System --with-qt-prefix=PFX where the root of Qt is installed --with-qt-includes=DIR where the Qt includes are installed --with-qt-libraries=DIR where the Qt libraries are installed. --with-qt-binaries=DIR where the Qt binaries are installed. --with-qt-moc=PROG where the Qt meta object compiler is installed. --with-qt-uic=PROG where the Qt user interface compiler is installed. --with-alsa-prefix=PFX prefix where alsa library is installed (optional) --with-alsa-inc-prefix=PFX prefix where include libraries are (optional)
export QTDIR=/usr/share/qt3 with bash (i got debian here, so there are the qt3 libs stored)
./configure --enable-rtcap --enable-maintainer-mode --disable-doxy-treeview --enable-optimize
After all you should see something like this:
... .(here was much much more).. ... config.status: creating lib/synthi/Makefile config.status: creating lib/plugins/Makefile config.status: creating plugins/Makefile config.status: creating plugins/freeverb/Makefile config.status: creating Doxyfile config.status: creating config.h config.status: executing depfiles commands configure:
MusE configured using rtcap: no LADCCA support: yes setuid root install: no setuid root build: no fluidsynth softsynth: yes jade: openjade doxygen: no graphviz: no perl: /usr/bin/perl treeviews in doxygen html output: no C++ compiler: g++ optimizing: yes debug: no optimise for arch: none installation prefix: /usr/local
Hint:
If you run the "./configure ..." command from a real console and not within X the testprogram can not be run so the test fails. Do not run configure from a real console.
Hint II:
I tried to run the configure within X from a console where I used "su" to get root. In Debian you have to run "xhost +" in a x-console as normal user first to be able to run X programs as root on the same X server. This is because this increases security in some way!
./autogen problems
If you get a warning when you run "autogen.sh".
DO NOT IGNORE IT
That may be the source for many errors. If a version failed this test, update it and test again.
Running "autogen.sh"
automake version: 1.4-p6 (not ok)
####################################################################
######################### WARNING ################################
####################################################################
You need automake >= 1.7!
autoconf version: 2.59 (ok)
libtool version: 1.4.3 (ok)
pkg-config: /usr/bin/pkg-config
-- In the case above you would have to update your "automake". Do this with "apt-get install automake1.7" or in case you don't have debian you might have to download the newes version of automake.
make command
so now the interesting part is comming:
type make
you'll see something like this:
joachim@debian:~/tmp/muse-stuff/muse$ make make all-recursive make[1]: Entering directory `/home/joachim/tmp/muse-stuff/muse' Making all in m4 make[2]: Entering directory `/home/joachim/tmp/muse-stuff/muse/m4' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/joachim/tmp/muse-stuff/muse/m4' Making all in synti make[2]: Entering directory `/home/joachim/tmp/muse-stuff/muse/synti' make all-recursive make[3]: Entering directory `/home/joachim/tmp/muse-stuff/muse/synti' Making all in libsynti make[4]: Entering directory `/home/joachim/tmp/muse-stuff/muse/synti/libsynti' make all-am .... (and so on)
first this error came up:
make error - uic: File generated with too recent version of Qt Designer
make[4]: Entering directory '`/home/joachim/tmp/muse-stuff/muse/synti/organ' /usr/share/qt3/bin/moc organgui.h -o moc_organgui.cpp /usr/share/qt3/bin/uic -L ../../muse/widgets -o organguibase.h organguibase.ui uic: File generated with too recent version of Qt Designer (3.3 vs. 3.2.3) make[4]: *** [organguibase.h] Error 1 make[4]: Leaving directory `/home/joachim/tmp/muse-stuff/muse/synti/organ' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/joachim/tmp/muse-stuff/muse/synti' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/joachim/tmp/muse-stuff/muse/synti' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/joachim/tmp/muse-stuff/muse' make: *** [all] Error 2
but we can do an easy hack take your vi and edit the file organguibase.ui because we need to change the qt designer version from 3.3 to 3.2.3 ! I know this is bad if there are widgets used which are not supported with 3.3 < but this is the only change. On the other hand there is no way to tell QT Designer too keep compatibility with older versions of programs - hopefully they fix this some day!
Back to what we want, take out vim and edit: /home/joachim/tmp/muse-stuff/muse/synti/organ/organguibase.ui
Then after you changed the 3.3 to a 3.2 type make again and it should compile again.
make error - whatever?
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE
-D_REENTRANT -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -I../..
-I../../muse/widgets -I/usr/share/qt3/include -O6 -fomit-frame-pointer
-ffast-math -fstrength-reduce -funroll-loops -fmove-all-movables -I..
-I../../synti -fPIC -O3 -ffast-math -fno-exceptions -g -MT fluidsynti.lo
-MD -MP -MF .deps/fluidsynti.Tpo -c
fluidsynti.cpp -fPIC -DPIC -DPIC -o fluidsynti.o
In file included from fluidsynti.h:16,
from fluidsynti.cpp:10:
fluidsynthgui.h:172: error: syntax error before `;' token
In file included from /usr/include/c++/3.3/bits/stl_algobase.h:75,
from /usr/include/c++/3.3/list:67,
from ../../muse/midictrl.h:13,
from fluidsynti.h:20,
from fluidsynti.cpp:10:
/usr/include/c++/3.3/bits/stl_iterator.h:656: error: parse error before `&' token
/usr/include/c++/3.3/bits/stl_iterator.h:658: error: `bool
__gnu_cxx::operator==(...)' must have an argument of class or enumerated
type
/usr/include/c++/3.3/bits/stl_iterator.h:658: error: `bool
__gnu_cxx::operator==(...)' must take exactly two arguments
/usr/include/c++/3.3/bits/stl_iterator.h:662: error: parse error before `&'
token
(and so on.............)
But how to solve this one
There was just some include code missing - I had to add
#include <string> to fluidsynti.h, but see yourself.
In another case I had to add:
#include <algorithm>
This is not normal but fluidsynthi isn't native in MusE so many things have to be adapted to have it running smooth and fast!
---
Once you have made a fix
You can use CVS to generate a patch like so:
foo@bar:~/Repository/muse/ cvs diff -u synti/vam/vamguibase.ui
Index: synti/vam/vamguibase.ui
===================================================================
RCS file: /cvsroot/lmuse/muse/synti/vam/vamguibase.ui,v
retrieving revision 1.4
diff -u -r1.4 vamguibase.ui
--- synti/vam/vamguibase.ui 13 Feb 2004 21:35:22 -0000 1.4
+++ synti/vam/vamguibase.ui 31 Mar 2004 22:31:56 -0000
@@ -1,4 +1,4 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
<class>VAMGuiBase</class>
<widget class="QWidget">
<property name="name">
Please submit patches to lmuse-devel@sourceforge.net for evaluation and inclusion.
You can paste the text into your email, or redirect stdout to an appropriately named file for attachment.
---
Completed
When compilation is finished try installing it with 'sudo make install'. After you installed the software type 'muse' in console. Do not forget to start jackd as the same user as you run MusE. I assume you run as root so open a second terminal and type "jackd -d alsa". If your done with testing as root I recommand to run MusE as a normal but with special execution rights (sudo?)
Do not use jackd's dummy device because this could result in timing problems!
If you got an older version of muse installed, remove it. This is done with apt-get remove muse. Or in similar steps with the tool "rpm".
