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

## lastcycle

lastcycle — Indique si un évènement est dans son dernier cycle d'exécution.

## Description

Fournit un moyen de savoir si un évènement est dans son dernier cycle d'exécution. Qu'un évènement ait une durée finie (p3 > 0) ou qu'une note soit rallongée via un opcode de prolongement de la durée (comme « linsegr » ou « xtratim »), cet opcode retourne 1 si l'évènement est dans son dernier cycle-k. La seule situation dans laquelle « lastcycle » ne détecte pas qu'un évènement ne continuera pas durant un autre cycle est lorsque la note est arrêtée par un autre évènement (en utilisant « turnoff2 ») sans avoir la possibilité de passer par l'étape de relâchement (en utilisant « turnoff2 instrnum, imode, 0 »).

## Syntaxe

    kflag lastcycle

## Exécution

kflag -- indique si la note est dans son « dernier cycle ». (1 si c'est le dernier cycle, 0 sinon)

Cet opcode est utile pour faire des actions de nettoyage, en signalant aux autres évènements que cet évènement se termine, etc. Il ne fonctionne que durant l'exécution.

## Exemples

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

Exemple 488. Exemple de l'opcode lastcycle.

    <CsoundSynthesizer>

    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in    Silent  MIDI in
    -odac
    -d
    </CsOptions>

    <CsInstruments>

    sr = 44100
    ksmps = 64
    nchnls = 2
    0dbfs = 1

    instr 1
      aenv linsegr 0, 0.1, 1, 0.1, 0
      asig =  oscili(0.1, 1000)
      asig += oscili(0.1, 1012)
      asig *= aenv
      if lastcycle() == 1 then
        schedulek p1, 0, p3
      endif
      outs asig, asig
    endin

    </CsInstruments>

    <CsScore>

    i 1 0 0.5
    f 0 3600

    </CsScore>

    </CsoundSynthesizer>

## Voir aussi

xtratim, release, linsegr

## Crédits

Par : Eduardo Moguillansky 2020

Nouveau dans la version 6.14 de Csound (2020).

Précédent | Niveau supérieur | Suivant
ksmps | Sommaire | lenarray