tigoto — Transfer control at i-time when a new note is being tied onto a previously held note
Similar to igoto but effective only during an i-time pass at which a new note is being “tied” onto a previously held note. (See i Statement) It does not work when a tie has not taken place. Allows an instrument to skip initialization of units according to whether a proposed tie was in fact successful. (See also tival).
Here is an example of the tigoto opcode. It uses the file tigoto.csd.
Example 928. Example of the tigoto opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o tigoto.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 idur = abs(p3) ;make p3 positive even if p3 is negative in score itiv tival i1 = -1 ;assume this is tied note, so keep fase of oscili tigoto slur ;no reinitialisation on tied notes i1 = 0 ;first note, so reset phase aatt line p4, idur, 0 ;primary envelope slur: if itiv==0 kgoto note ;no expression on first and second note aslur linseg 0, idur*.3, p4, idur*.7, 0 ;envelope for slurred note aatt = aatt + aslur note: asig oscili aatt, p5, 1, i1 outs asig, asig endin </CsInstruments> <CsScore> f1 0 4096 10 1 ;sine wave i1 0 -5 .8 451 ;p3 = 5 seconds i1 1.5 -1.5 .1 512 i1 3 2 .7 440 ;3 notes together--> duration = 5 seconds e </CsScore> </CsoundSynthesizer>