Home › Forums › Macros › Macro AddTrack_Counter › Reply To: Macro AddTrack_Counter
Salut,
D’accord, j’ajoute ta demande pour un ConsolideLastMultiplication en macro.
Pour le duplicate track. Si tu fais :
AddTrack 1
DuplicateTrack trk1 trk2
Tu constates que ça fonctionne comme il faut, DuplicateTrack fait ce qui est attendu.
mais, si tu fais :
MessageMain $current_last_full_track$
AddTrack 1
Message $current_last_full_track$
Tu constates qu’après un addtrack, il y a une piste supplémentaire et $current_last_full_track$ a un point de plus, ce qui me semble logique.
Tu pourras me contredire en disant que puisque la piste ne contient pas de son, elle n’est pas full au sens propre, mais Logelloop considère que la piste est en fonctionnement donc elle est comptée dans $current_last_full_track$.
Le bonne syntaxe serait donc, de mon point de vue :
Declare int $previous_track$ = 0
AddTrack 1
$previous_track$ = {$current_last_full_track$ – 1}
DuplicateTrack trk[$previous_track$] trk[$current_last_full_track$]
Note bien que j’utilise désormais trk[$id$] pour définir une piste, ce qui me semble plus propre et j’évite donc trk_x qui devient un peu obsolète.
Ta macro devient donc :
// Stop this macro if there nothing to copy
MacroStopIf {$current_loop_duration_samples$ == 0}
// Stop this macro if there nothing to copy
MacroStopIf {$current_last_full_track$ == 9}
Declare int $previous_track$ = 0
WaitBeginLoop
If {$counter$ < 1 } AddTrack 1 $previous_track$ = {$current_last_full_track$ - 1} DuplicateTrack trk[$previous_track$] trk[$current_last_full_track$] Message “Duplicate the last track” PlayImmediatlyAllNewTracks Else Declare int $my_personnal_counter$ = 0 DoRepeat Set $my_personnal_counter$ = {$my_personnal_counter$ + 1} AddTrack 1 $previous_track$ = {$current_last_full_track$ - 1} DuplicateTrack trk[$previous_track$] trk[$current_last_full_track$] Message “Duplicate the last track” PlayImmediatlyAllNewTracks While { $my_personnal_counter$ < $counter$ } EndIf
Ça fonctionne et c’est logique (quoiqu’un peu tordu).
P.