Home Forums Macros Trim Main Looper/Insert Looper start and end point (not by selection) Reply To: Trim Main Looper/Insert Looper start and end point (not by selection)

#6371
Philippe OllivierPhilippe
Keymaster

Salut Stéphane,

Ce message d’erreur dans la console indique que le looper ne peut pas lire la zone car le point de début se trouve après le point d’arrivée : 50240 > 50239
Il doit donc y avoir une erreur dans la macro, peux-tu me la mettre ici dans un post stp?

J’ai fait un autre exemple de macro qui copie et colle dans la même looper.
Cette fois-ci je prends le point de début et fin au hasard en utilisant la variable de durée de la boucle actuelle.

//******************************** Copy and Paste a random selection to the same looper *********************************
Declare Local Once int $selectionBeginPosition$ = 0
Declare Local Once int $selectionEndPosition$ = 0

// get random value from the current loop length
$selectionBeginPosition$ = {randomScaleInt(0,$Looper_fx1_rank1_current_length$)}
$selectionEndPosition$ = {randomScaleInt($selectionBeginPosition$,$Looper_fx1_rank1_current_length$)}

// Select a part of the loop using the random values
InsertSendMessage fx1 1 SelectionIn $selectionBeginPosition$
InsertSendMessage fx1 1 SelectionOut $selectionEndPosition$

WaitDuration 10

// Copy your selection
InsertSendMessage fx1 1 AudioMessages Copy

WaitDuration 200
// Paste your selection and this will replace
// the content of the looper by you selection
InsertSendMessage fx1 1 AudioMessages Paste
//******************************************************** End *********************************************************

Si tu souhaites copier dans le looper qui est en fx1 et coller dans un autre en fx2, la macro devient :

//******************************** Copy and Paste a random selection to the same looper *********************************
Declare Local Once int $selectionBeginPosition$ = 0
Declare Local Once int $selectionEndPosition$ = 0

// get random value from the current loop length
$selectionBeginPosition$ = {randomScaleInt(0,$Looper_fx1_rank1_current_length$)}
$selectionEndPosition$ = {randomScaleInt($selectionBeginPosition$,$Looper_fx1_rank1_current_length$)}

// Select a part of the loop using the random values
InsertSendMessage fx1 1 SelectionIn $selectionBeginPosition$
InsertSendMessage fx1 1 SelectionOut $selectionEndPosition$

WaitDuration 10

// Copy your selection
InsertSendMessage fx1 1 AudioMessages Copy

WaitDuration 200
// Paste your selection and this will replace
// the content of the looper by you selection
InsertSendMessage fx2 1 AudioMessages Paste
InsertSendMessage fx1 1 SelectionReset
//******************************************************** End *********************************************************

On pourrait encore améliorer un peu, mais ici ça fonctionne dans tous les cas.
Philippe