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

## system

system — Appelle un programme externe via le système.

## Description

system et system_i appellent toute commande externe comprise par le système d'exploitation, comme le fait la fonction system() du langage C. system_i ne s'exécute que pendant l'initialisation, tandis que system s'exécute pendant l'initialisation aussi bien que durant l'exécution.

## Syntaxe

    ires system_i itrig, Scmd, [inowait]

    kres system ktrig, Scmd, [knowait]

## Initialisation

Scmd -- chaîne de commande.

itrig -- s'il est supérieur à zéro, l'opcode exécute la commande demandée ; sinon c'est une opération nulle.

## Exécution

ktrig -- s'il est supérieur à zéro et différent de la valeur qu'il avait lors du précédent cycle de contrôle, l'opcode exécute la commande demandée. La valeur précédente initiale est prise à zéro.

inowait, knowait -- s'il est différent de zéro, la commande est exécutée en arrière-plan et l'on attend pas son résultat (0 par défaut).

ires, kres -- le code retourné par la commande en mode attente et si la commande est exécutée. Retourne zéro dans les autres cas.

Un seul opcode system peut exécuter plus d'une commande si l'on entoure la chaîne avec des accolades doubles {{ }}.

| Note
Cet opcode dépendant fortement du système, il faut l'utiliser avec beaucoup de précautions (ou ne pas l'utiliser) si l'on désire rester neutre par rapport à la plateforme.

## Exemples

Voici un exemple de l'opcode system_i. Il utilise le fichier system.csd.

Exemple 925. Exemple de l'opcode system_i.

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 system.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    ; Initialize the global variables.
    sr = 44100
    kr = 4410
    ksmps = 10
    nchnls = 1

    instr 1
    ; Waits for command to execute before continuing
    ires system_i 1,{{     ps
                date
                cd ~/Desktop
                pwd
                ls -l
                whois csounds.com
            }}
    print ires
    turnoff
    endin

    instr 2
    ; Runs command in a separate thread
    ires system_i 1,{{     ps
                date
                cd ~/Desktop
                pwd
                ls -l
                whois csounds.com
            }}, 1

    print ires
    turnoff
    endin

    </CsInstruments>
    <CsScore>

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

    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur: John ffitch
2007

Nouveau dans la version 5.06

Précédent | Niveau supérieur | Suivant
syncphasor | Sommaire | tb