< Back to IRCAM Forum

abort "antescofo::jumptolabel"

Hi,

I would like to control the repetition of the same event and its inherent actions with the antescofo::jumptolabel (I don’t want to use a loop with a period)

How can I then abort the jumptolabel command and carry on ? May be with whenever and during [n #] but I can’t figure how…
Actually, I’m using this time antescofo as a sequencer with a pedal for a percussion impro…

N.

@nadir-b: Don’t use antescofo::jumptolabel but select the one with the desired behavior from the list of revision commands in this post:

http://forumnet.ircam.fr/user-groups/antescofo/forum/topic/score-access-method-revision/

or let us know if you don’t find what you want… .

Using gotolabel is ok but I still don’t know how to stop this method after let’s say 3 iterations…

Hello Nadir.
If I understand well, you want iterate a sequence of events and action, a given number of times. First, there is a strict separation between events and actions. So, there is no event (to listen and to recognize in the audio stream) that can appear in a whenever or in a loop. Events are always “at top-level” and actions directly or indirectly attached to them.

A first solution, if you know the number of repetition, is simply to unfold the sequence in your score.

This approach is not feasible if you don’t know the number of repetitions (for example, if it depends of some external variable or of the past performance). Then, the solution you sketch goes in the right direction: antescofo::gotolabel can be used to navigate in the score and to reposition the listening machine. This command is an action, so it can be used conditionally and a counter can be used to control when to jump:

$cpt := 0  
; ....  
NOTE C4 1 StartSequence  
   $cpt := $cpt + 1   
; ...  
NOTE D3 1 EndSequence  
   if ($cpt <= 3) { antescofo::gotolabel "StartSequence" }

You get the idea. With this approach, the iteration is controlled by an arbitrary internal condition. However, it cannot depends of the wish of the musician. For that, you can use the @jump feature to tell at the last event of the sequence, that they can be a repetition.

NOTE C4 1 StartSequence  
; ...  
NOTE D3 1 EndSequence @jump StartSequence NextSequence  
NOTE E2 1 NextSequence

The @jump attribute specifies the continuation of the score. Usually the continuation follows the sequence of events. The @jump enable the specification of open score with alternative branches. The musician can take any of the alternative branches.
In the example, one branch goes back, implementing a repetition. The number of repetitions is left to the musician. Notice that the events that starts alternative branches, must not be the same! Otherwise, there will be ambiguities in the listening.

Hi Jean-louis,

yes I was looking for something like (for (i=0, i<3, i++)) {…}, your solution is exactly what I need !

thank you

Bye

N.