Csound est devenu un projet complexe et peut impliquer plusieurs dépendances. A moins d'être un développeur de Csound ou d'avoir besoin d'écrire des greffons pour Csound, il vaut mieux utiliser une des distibutions pré-compilées de http://www.sourceforge.net/projects/csound. Cependant, la construction à partir des sources est sans doute la meilleure option sous GNU/Linux.
Cette section met l'accent sur le système principal de construction de Csound 5, qui utilise SCons, un programme Python qui remplace make pour la configuration et la construction multi plates-formes.
Lorsque l'on construit Csound à partir des sources plutôt que d'utiliser un paquetage précompilé, il faut d'abord télécharger les sources d'une publication de Csound à partir de http://www.sourceforge.net/projects/csound. Les paquetages source ont une extension zip ou tar.gz.
Le code source de Csound le plus récent (potentiellement instable) est également disponible par GIT. La page d'acceuil GIT de Csound se trouve ici : http://csound.git.sourceforge.net/git/gitweb-index.cgi. L'utilisation de git pour télécharger et compiler Csound est assez facile. Installer GIT pour votre plate-forme et utiliser la commande suivante pour cloner l'entrepôt git de Csound :
git clone git://git.code.sf.net/p/csound/csound5-git
Cela téléchargera une version à lecture seule de l'entrepôt de Csound5 (cela signifie que l'on ne peut pas mettre à jour l'entrepôt central à partir de celui-ci). Pour une mise à jour de l'entrepôt téléchargé à partir de l'entrepôt central, utiliser :
git pull
On utilise le même procédé pour le manuel de Csound. Pour le cloner, utiliser cette commande :
git clone git://git.code.sf.net/p/csound/manual-git
Ce sont les conditions minimales pour une construction, mais csound a beaucoup de composants optionnels qui améliorent ses fonctionnalités et qui ajoutent des opcodes pouvant avoir besoin de bibliothèques supplémentaires.
Dans la plupart des cas, il vaut mieux installer les versions stables les plus récentes des bibliothèques optionnelles.
--enable-shared --enable-threads
.
csound5/Opcodes/stk
.
On a besoin des éléments suivants pour la construction sous Windows (on peut trouver des instructions plus complètes pour la construction sous Windows dans le document csound-build.tex (csound-build.pdf)) :
Installer un compilateur comme gcc ou Microsoft Visual Studio (le compilateur C++ d'Intel est
également supporté). Si l'on utilise MinGW (gcc), installer l'ensemble de la distribution
actuelle de MinGW au moyen de l'installeur automatisé de MinGW depuis
www.mingw.org, par exemple dans
c:/mingw
. Ceci installera gcc, g++, GNU binutils, les runtime de MinGW et
l'API win32. Installer ensuite la version actuelle de MSys.
Sous Windows on peut utiliser Microsoft Visual C++ (sauf pour CsoundAC). L'Express Edition libre, depuis
http://www.microsoft.com/express/vc/
fonctionne très bien. Il vous faudra une copie du fichier d'en-tête de Windows
dirent.h
, par exemple depuis
http://www.softagalleria.net/dirent.php.
On peut aussi avoir besoin de la bibliothèque bufferoverflowu.lib
de
Microsoft à déposer dans le répertoire lib
de Visual C++. Ouvrir ensuite
un shell pour compiler Csound (habituellement appelé Visual Studio Command Prompt command,
depuis le menu du programme Visual C++).
Les configurations optionnelles pour Windows comprennent :
Les configurations optionnelles pour Linux comprennent :
Les configurations optionnelles pour Mac OS X comprennent :
Lorsque vous avez tous les paquetages requis et leur sources (ou les paquetages -dev) pour besoins particuliers sur votre plate-forme, exécutez "scons -h" pour découvrir les options de configuration.
La construction est considérablement facilitée si les bibliothèques et les en-têtes téléchargés sont installés dans leurs répertoires par défaut. Si l'on veut modifier la construction par défaut, en particulier pour prendre en compte les options non-standard des dépendances de tierces parties pour lesquelles il faut trouver les en-têtes et les bibliothèques :
Evitez de modifier le fichier SConstruct.
Exécutez scons avec les variables pour les options que vous désirez. Par exemple :
scons buildOSC=1 buildCsound5GUI=1 buildPythonOpcodes=1 useOSC=1 buildBeats=1
![]() |
Note |
---|---|
Il est important de positionner la variable d'environnement |
Tableau 4. Options de construction de SCons
Variable d'ajustement | Effet si positionnée à 1 |
---|---|
buildCsoundVST | Construire CsoundVST. Nécessite CsoundAC, FLTK, boost, Python, SWIG. |
buildCsoundAC | Construire CsoundAC. Nécessite FLTK, boost, Python, SWIG. |
buildCsound5GUI | Construire le frontal graphique FLTK. Nécessite FLTK 1.1.7 ou ultérieur. |
buildCSEditor | Construire l'éditeur de texte avec coloration syntaxique de Csound. Nécessite les en-têtes et les bibliothèques de FLTK. |
buildDSSI | Construire les opcodes de l'hôte DSSI/LADSPA. |
buildImageOpcodes | Construire les opcodes d'image. 1 par défaut. Mettre à 0 pour désactiver. |
buildInterfaces | Construire la bibliothèque d'interface pour Python, JAVA, Lua, C++ et d'autres langages. |
buildJavaWrapper | Construire la sur-couche Java pour la bibliothèque d'interface. |
buildNewParser | Activer le nouveau parser. Nécessite Flex/Bison. |
buildOSXGUI | Construire le frontal graphique de base. Seulement sous OSX. |
buildPDClass | Construire la classe PD csoundapi~. Nécessite m_pd.h à l'endroit standard. |
buildPythonOpcodes | Construire les opcodes Python |
buildRelease | Construire en mode release. Positionne noDebug. |
buildSDFT | Construire le code SDFT. 1 par défaut. Mettre à 0 pour désactiver. |
buildStkOpcodes | build Stk Opcodes. Requires STK source code. |
buildTclcsound | Construire le frontal Tclcsound (cstclsh, cswish et le module dynamique tclcsound). Nécessite les en-têtes et les bibliothèques Tcl/Tk. |
buildUtilities | Construire des exécutables autonomes pour les utilitaires que l'on peut aussi appeler avec -U. |
buildVirtual | Construire le clavier virtuel MIDI. Nécessite les en-têtes et les bibliothèques de FLTK 1.1.7 ou ultérieur. |
buildvst4cs | Construire les greffons vst4cs. Nécessite les en-têtes VST de Steinberg. |
buildWinsound | Construire le frontal Winsound. Nécessite les en-têtes et les bibliothèques FLTK. |
buildBeats | Construire le processeur de partition csbeats. |
dynamicCsoundLibrary | Construire une bibliothèque Csound dynamique au lieu de libcsound.a. |
gcc3opt | Autoriser les optimisations de gcc 3.3.x ou ultérieur pour l'architecture CPU spécifiée (par exemple pentium3) ; positionne noDebug. |
gcc4opt | Autoriser les optimisations de gcc 4.0 ou ultérieur pour l'architecture CPU spécifiée (par exemple pentium3) ; positionne noDebug. |
generateTags | Générer des TAGS. |
generatePdf | Générer la documentation PDF. |
install | Autoriser les cibles d'installation. |
Lib64 | Construire pour lib64 plutôt que pour lib. |
noDebug | Construire sans information de débogage. |
noFLTKThreads | Ne pas utiliser de thread séparé pour les contrôles graphiques de FLTK. |
useAltivec | Sous OSX, utiliser les options d'optimisation du gcc AltiVec. |
useALSA | ALSA pour les entrées et les sorties audio en temps réel et MIDI. |
useCoreAudio | Utiliser CoreAudio pour les entrées et les sorties audio en temps réel. |
useDouble | Utiliser des nombres réels en double précision pour les échantillons audio. |
useFLTK | Utiliser FLTK pour les graphiques et les opcodes de contrôle graphique. |
useGettext | Utiliser le schéma de localisation de GNU |
useIpMIDI | Construire pour une utilisation comme synthétiseur en réseau. |
useGprof | Construire avec des informations de profilage (-pg). |
usePortAudio | utiliser PortAudio pour les entrées et les sorties audio en temps réel. |
usePortMIDI | Construire le greffon PortMidi pour les entrées et les sorties MIDI en temps réel. |
useJack | A utiliser si vous avez compilé PortAudio pour utiliser Jack ; construit également le greffon Jack. |
useLrint | Utiliser lrint() and lrintf() pour la conversion des nombres réels en entiers. |
useOSC | Pour le support d'OSC. |
useUDP | Pour le support d'UDP. 1 par défaut. Mettre à 0 pour désactiver. |
withICL | Construire avec le compilateur C++ d'Intel (nécessite également Microsoft Visual C++). Fixer à 0 pour MinGW. Seulement sous Windows. |
withMSVC | Construire avec Microsoft Visual C++, ou fixer à 0 pour construire avec MinGW. Seulement sous Windows. |
Word64 | Construire pour des machines 64 bit. |
pythonVersion | Fixer à la version de Python que l'on veut utiliser. |