(to build your own):
- source
- dependency: libsndfile
- ALSA, JACK, or OSS (you should already have one)
- gcc, lex, yacc, make (you better have these)
(and/or)
- miniAudicle (experimental integrated IDE/VM)
Libsndfile is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.
Web: http://www.mega-nerd.com/libsndfile/
Here is the latest version. It is available in the following formats:
- Source code as a .tar.gz : libsndfile-1.0.25.tar.gz and (GPG signature).
./configure --prefix=/home/latty/DEV/LOISIRS/MUSICS/chuck/extern/build
Compiling some other packages against libsndfile may require the addition of '/home/latty/DEV/LOISIRS/MUSICS/chuck/extern/build/lib/pkgconfig' to the PKG_CONFIG_PATH environment variable.
A priori la lib libsndfile-1 est surement présente dans le système (Linux)
http://chuck.cs.princeton.edu/doc/build/
A priori pas trop de difficultés pour compiler cette lib sous Linux/Mint/Ubuntu.
Le makefile n'est pas super évolué, faudrait voir pour effectuer une version CMake (plus propre/structuré).
[$CHUCK_DIRECTORY]/src$
make -j linux-alsa
sudo cp chuck /usr/bin/;sudo chmod 755 /usr/bin/chuck
make clean
chuck --version
chuck version: 1.3.5.2 (chimera)
linux (alsa) : 64-bit
http://chuck.cs.princeton.edu/
http://chuck.stanford.edu/
Il faut patch la lib pour avoir un son sur Linux.
=> Google Doc: Chuck - Linux, Mint
Use a text-editor (preferably one that shows line-numbers) to open the file:
geany src/RtAudio/RtAudio.cpp
- Find line ~5660:
sprintf( name, "hw:%d,%d", card, subdevice );
Revise this to read:
//sprintf( name, "hw:%d,%d", card, subdevice ); // commented out
sprintf( name, "pulse" );
- Find line ~5699:
int openMode = SND_PCM_ASYNC;
Revise this to read:
int openMode = SND_PCM_ASYNC;
printf( "pcm name %s\n", name ); // line inserted
La version alsa semble poser des pbs:
chuck]: RtApiAlsa::probeDeviceOpen: unable to synchronize input and output devices.
Du coup, je suis passé à la version pulse:
[$CHUCK_DIRECTORY]/src$
make -j linux-pulse
sudo cp chuck /usr/bin/;sudo chmod 755 /usr/bin/chuck
make clean
Puis on peut tester via les examples fournis:
chuck-1.3.5.2/examples/book/digital-artists/chapter1$ chuck WowExample.ck
integrated development + performance environment for ChucK
Site web: http://audicle.cs.princeton.edu/mini/
Pour les dernières release de l'éditeur: http://audicle.cs.princeton.edu/mini/release/files/
Dernière source disponible: miniAudicle-1.3.5.1.tgz 22-Apr-2015 06:12 19M
Build Instruction: Linux
On systems with apt-get available, running the following command with the full list of packages will ensure that all necessary packages are installed.
$ sudo apt-get install make gcc g++ bison flex libasound2-dev libsndfile1-dev \
libqt4-dev libqscintilla2-dev [libpulse-dev] [libjack-jackd2-dev]
[$MINIAUDICLE_DIRECTORY]/src$
make -j linux-pulse
sudo cp miniAudicle /usr/bin/;sudo chmod 755 /usr/bin/miniAudicle
make clean
A noter que l'éditeur miniAudicle contient une version de ChucK qui tourne sans problème (ni patch) => [$MINIAUDICLE_DIRECTORY]/src/chuck
Probleme avec la version de qt et les QMAKESPEC associés. J'ai du patcher le makefile qui utilise qmake ou qmake-qt4 pour générer le makefile cible (alsa, pulse, ...).
Le patch: ~ line 13
ifneq ($(shell which qmake-qt4),)
QMAKE?=qmake-qt4
else
QMAKE?=qmake
endif
QMAKE+= -r -spec linux-g++-64 # <-le rajout est ICI
J'ai récupéré les options de build du .pro via le build sous qtcreator (qui compilait tout seul comme un grand).
A noter pour l'installation, on peut faire tout simplement un:
[$MINIAUDICLE_DIRECTORY]/src$ sudo make install