#include
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## #include

#include — Inclut un fichier externe pour traitement.

## Description

Inclut un fichier externe pour traitement.

## Syntaxe

    #include "nomfichier"

## Exécution

Il est parfois commode d'organiser un orchestre sur plusieurs fichiers, par exemple avec chaque instrument dans un fichier séparé. Ce style est supporté par la fonctionnalité #include qui fait partie du système de macros. Une ligne contenant le texte

    #include "nomfichier"

où le caractère " peut être remplacé par n'importe quel caractère approprié. Pour la plupart des utilisations le symbole de l'apostrophe double sera probablement le plus commode. Le nom de fichier peut inclure un chemin complet.

L'entrée est prise à partir du fichier nommé jusqu'à son terme, puis revient à la source précédente. Note : les versions de Csound antérieures à la 4.19 limitaient à 20 la profondeur des fichiers inclus et des macros.

Il est également suggéré d'utiliser #include pour définir un ensemble de macros qui font partie du style du compositeur.

A la limite, on pourrait définir chaque instrument comme une macro, avec un numéro d'instrument en paramètre. On pourrait alors construire un orchestre entier à partir d'un certain nombre d'instructions #include suivies par des appels de macro.

    #include "clarinet"
    #include "flute"
    #include "bassoon"
    $CLARINET(1)
    $FLUTE(2)
    $BASSOON(3)

Il faut insister sur le fait que ces changements ont lieu au niveau littéral et n'ont donc aucune incidence sémantique.

Si Csound a été construit avec la bibliothèque CURL le nom de fichier dans une instruction #include peut être une URL, reconnue en incluant la sous-chaîne "://" dans le nom. Cela incluera du texte via des protocoles comme http, https et ftp.

## Exemples

Voici un exemple de l'opcode include. Il utilise les fichiers include.csd, et table1.inc.

Exemple 16. Exemple de l'opcode include.

    /* table1.inc */
    ; Table #1, a sine wave.
    f 1 0 16384 10 1
    /* table1.inc */

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in
    -odac           -iadc    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o include.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    kr = 4410
    ksmps = 10
    nchnls = 1

    ; Instrument #1 - a basic oscillator.
    instr 1
      kamp = 10000
      kcps = 440
      ifn = 1

      a1 oscil kamp, kcps, ifn
      out a1
    endin

    </CsInstruments>
    <CsScore>

    ; Include the file for Table #1.
    #include "table1.inc"

    ; Play Instrument #1 for 2 seconds.
    i 1 0 2
    e

    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur : John ffitch
University of Bath/Codemist Ltd.
Bath, UK
Avril 1998

Exemple écrit par Kevin Conder.

Nouveau dans la version 3.48 de Csound

Les URLs sont disponibles depuis Csound 6.02

Précédent | Niveau supérieur | Suivant
#define | Sommaire | #undef