First,
you should have a portage overlay. If you don't have one, create it
like this (as root):
and that's it! The ebuild was tested on
x86 and amd64, it installs alsa and jack drivers.
Continue
to the setup page to set up various players.
Installing from Source
Requirements
To compile
the software you need certain
development
tools. These are
gnu c++ compiler (g++), gnumake, perl, grep
qt4-designer, qt4, including headers
fftw3: apt-get install libfftw3-3 and libfftw3-dev (on a suse box this would be libfftw3-devel)
gawk
To use the software you need mplayer. You
can as an exta also install mpg321, mpg123, flac and vorbistools to get
support or different decoding options. However, mplayer should suffice.
If you plan to compile
the ALSA driver later on you need libasound2, libasound2-dev
(libasaound2-devel on suse)
f you plan to compile
the JACK driver later on you need libjack-dev, libjack0, jackd
and qjackctl
If you plan to compile
the OSS driver you probably need some headers but I forgot which
ones.
Compiling
First download one of the packages in
the download section.
To
compile the source, you need to know certain things of your operating
system. You need to know where
the
meta-object compiler for Qt4 is located (this can be moc or
moc-qt4). Yoiu need to know where the qt libraries are
located
and where the headers are located and these three pieces of information
need to be comptaible. For instance the meta-object compiler (moc)
needs
to match the QT library you will use.
This can be checked with 'moc -v'. If it reports something like
werner@tuuster:~$
moc -v
Qt Meta Object
Compiler version 26 (Qt 3.3.8b)
then it belongs to Qt 3 and it is the wrong version. If you get
something like
werner@tuuster:~$ moc-qt4 -v
Qt Meta Object Compiler version 59 (Qt 4.4.3)
it should work. If your standard moc points to
moc-qt3 then, just change the MOC line in the defines file to be moc-qt4
Likewise, the qt header files
need
also to match the library you will use. In general it is very difficult
to create a script that detects these things fully automatically.
Therefore
I've left these configuration things to the person who compiles the
software.
The
locations of different programs, libraries and headers must be place in
a file called 'defines'. Examples of defines file are provided.
(defines.debian
and defines.gentoo)
Andreas Böhler
reports that on SoL-Linux FFTW 3.0 needs to be compiled from scratch.
When compiling fftw3 from source, only the static library is built.
Since BpmDJ relies on the shared one, --enable-shared has to be passed
to ./configure to build the shared library.
Once
this
information
is correct, the programs can be compiled using the make
command.
From version
2.1 on, there are different sound drivers. You can select
which one to compile by using -D COMPILE_OSS or using -D COMPILE_ALSA.
If you did not install the headers for OSS, the don't try to compile
the OSS driver. Likewise; if you didn't install the jack headers, then
don't try to compile it in. If you want to use the alsa driver, please
include the correct headers
and libraries (-lasound). Currently the supported defines are
- -D COMPILLE_JACK
compiles in a JACK driver. Requires libjack-dev and libjack
- -D COMPILE_ALSA compiles in
an ALSA driver. Requires libasound2 and libasound2-dev
- -D COMPILE_OSS compiles in
an OSS driver. Probably requires some headers but I since long forgot
which ones :-)
Installing
After
compiling the software, you can install it system
wide by copying bpmdj, bpmplay and bpmdj-raw to/usr/bin. If you
choose not to 'install' it make sure to extend
your
PATH environment variable with the directory that contains bpmplay
and bpmdj-raw. If you
only
did a make, then
you might need to add
export PATH=.:$PATH
before you start the program.
Continue
to the setup page to set up various players.
CMake
Although not a true distribution,
somebody spent time on ensuring that BpmDj works with CMake files.
Click here for the necessary
patch and
the
cmake files themselves.
Hello,
If anybody is interested I've updated my cmake project for the latest version of Bpmdj. So far it seems to work fine. Just apply the attached patch and
extract the archive to your source folder. I've commented out the OSS part in CMakeFiles.txt, because I can't test it. Any feedback is welcomed.
Build steps:
mkdir <srcdir>/build
cd "build"
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
make
make install
or
make DESTDIR="$pkgdir/" install
Greetings,
Martin <martin.stople@uni-ulm.de>
Others
If you are a packager and want to have
first access to upcoming releases, please contact
werner@yellowcouch.org, then
we can work together to create timely releases - and we can put your
package on the mainsite as well.