Forum Replies Created
-
AuthorPosts
-
Philippe
KeymasterSalut Stéphane,
J’avoue avoir eu besoin d’un peu de temps pour me remémorer comment tout cela fonctionne, car je n’utilise presque plus le Looper Principal et encore moins le système de banque A B C.Note également que l’Arrangeur de Preset est en train de se faire supplanter par le Matrix Arranger qui se trouve dans les Data plug-ins.
Dans le Matrix arranger, tu utilises un script pour construire ta conduite et tu disposes donc de beaucoup plus de possibilités et de finesse.
Ça ne concerne plus seulement des chargements de presets, mais également des petits réglages çà et là en fonction de l’avancée dans le concert.Les réglages sont effectivement associés à la boucle courante.
Si tu fais un réglage sur une boucle, ce réglage est associé à cette boucle.
Et effectivement le chargement de preset se fait sur la boucle sur laquelle tu te trouves.
Cependant, note qu’il y a un menu en dessous de la liste de presets qui, par défaut, affiche “Chargement Direct” . Dans ce menu, tu trouveras l’option “Chargement au changement de boucle”. Lorsque cette option est activée, si tu choisis un preset dans la liste, celui-ci n’est pas chargé immédiatement, mais au moment du NextLoop. Je pense que c’est cette option que tu cherches.Tu peux choisir l’option du mode de chargement des preset par macro avec la commande PresetRecallBehaviour.
Note aussi que l’arranger de preset est soumis à l’option choisie. Donc, si tu es sur “Chargement au changement de boucle” et que tu choisis un preset dans l’arranger, celui-ci ne sera appliqué qu’au changement de boucle.
Et enfin, note que tu peux aussi utiliser l’arranger de preset pour lancer des macro…
Avec tout ça, tu devrais t’en sortir.
Bonne journée,
PhilippePhilippe
KeymasterSalut Maxime,
Les SFX se trouvent dans la page Plug-ins (cmd/ctrl + g) et non pas dans le menu d’inserts de la tranche SFX…
C’est probablement contrintuitif, j’en conviens.
Bonne journée,
PhilippePhilippe
KeymasterSalut Olivier,
Tout ça n’est plus très bien documenté car le SFX vidéo n’a pas suivit lorsque j’ai changé tous les systemes de commande midi et macro.
Mais si tu vas dans la documentation, tu trouvera un tableau qui indique comment piloter la vidéo avec des instructions midi.Tu y trouveras également les instructions pour les macros.
Dès que je peux, je mets tout cela à jour, ça passera probablement par l’abandon de ce lecteur et par un remplacement par un lecteur plus moderne…
Note que tu peux utiliser la macro ci-dessous (j’ai l’impression que c’est hors sujet, mais c’est l’occasion de casé l’info) pour synchroniser Logelloop à la lecture de ta video. C’est idéal en cine-concert.
Bonne journée,
Philippe// Starts playback of the film
Declare boolean $user_action_catched_STDS$ = false
Declare Local Once boolean $firstTime$ = trueIf { $firstTime$ }
$firstTime$ = false
// We consider that the Video SFX is loaded in slot 4
SFXSendMessage 4 Set_video_position 0
SFXSendMessage 4 Command Start
//SFXSendMessage 4 Window_pos_x 1500
//SFXSendMessage 4 Command Fullscreen
EndIfDoRepeat
If {($4_video_position$ > 2) && ($4_video_position$ < 6)}
SetCurrentCaseValue “Cue 1”
$user_action_catched_STDS$ = true
EndIf
If {($4_video_position$ > 12) && ($4_video_position$ < 15)}
SetCurrentCaseValue “Cue 2”
$user_action_catched_STDS$ = true
EndIf
If {($4_video_position$ > 18) && ($4_video_position$ < 20) }
SetCurrentCaseValue “Cue 3”
$user_action_catched_STDS$ = true
EndIf
Sleep 200
While {!$user_action_catched_STDS$}CaseBranch “Cue 1 »
Message “Cue 1”
MacroRestart
EndCaseBranchesCaseBranch “Cue 2 »
Message “Cue 2”
MacroRestart
EndCaseBranchesCaseBranch “Cue 3”
Message “Cue 3”
MacroRestart
EndCaseBranches22 June 2024 at 10 h 11 min in reply to: Modifier la forme du grain de Granular avec une macro #6495Philippe
KeymasterIl y avait aussi un bug qui faisait que la courbe actuelle n’était pas copiée lorsque tu copiais GrainShapeByList dans l’aide pour la coller dans ta macro.
Maintenant, lorsque tu copy GrainShapeByList dans l’aide, la ligne est toute prête pour reproduire ta courbe actuelle.
ça aidera.
Merci d’avoir relevé.
Philippe22 June 2024 at 10 h 05 min in reply to: Modifier la forme du grain de Granular avec une macro #6494Philippe
KeymasterSalut Olivier,
Je ne pouvais pas faire plus obscure en ce qui concerne cette fonction, ou peut être en n’indiquant meme pas XYC…Pour utiliser GrainShapeByList, tu dois indiquer les attributs des points que tu verux créer.
X défini la position horizontale du point, allant de 0 à 512
Y défini sa position horizontale de 0 à 1
C défini la courbure de la ligne qui précède le point. 0 indique une ligne droite, 1 une ligne très courbée au point de faire presque un angle droit.
Si la valeur de C est positive, la ligne est incurvée et si la valeur de C est négative, la ligne est bombée.Dans la prochaine version, je vais tenter d’ajouter une copie de shapes par liste dans le presse papier pour faciliter l’élaboration des macros.
Tu peux essayer ces différentes listes pour te rendre compte de ce que ça donne :
SFXSendMessage 1 GrainShapeByList 0 0 0 512 1 0.75
SFXSendMessage 1 GrainShapeByList 0 0 0 512 1 0.
SFXSendMessage 1 GrainShapeByList 0 0 0 256 1 0 512 0 0
SFXSendMessage 1 GrainShapeByList 0 0. 0 44 0.642659 0. 291. 0.060942 -0.5 455.762188 0.808864 0. 512. 0. -0.65J’espere que c’est plus clair… -)
PhilippePhilippe
KeymasterSalut Maxime,
Tu dois changer trois choses :
1 – Tu inverses les valeurs de début et de fin
Declare Local float $startValue$ = 1
Declare Local float $endValue$ = 02 – Ici tu prends la valeur max et non pas la valeur min
$targetValue$ = {max($endValue$,$targetValue$ + $increment$)}3 – Enfin, tu vérifies que la valeur cible est supérieure à la valeur de fin pour autoriser un nouveau tour de boucle
While {$targetValue$ > $endValue$}Voici la macro finale qui décrémente au lieu d’incrémenter :
//***********************************************************************************
// Set the total duration of the value change
Declare Local int $duration_ms$ = 1000// Set the start and end value
Declare Local float $startValue$ = 1
Declare Local float $endValue$ = 0Declare Local int $steps$ = 100
Declare Local float $incrementDuration$ = 0
Declare Local float $targetValue$ = $startValue$
Declare Local float $increment$ = {($endValue$ – $targetValue$) / $steps$}// calculate the number of needed steps for the current increment
$steps$ = {($endValue$ – $startValue$) / $increment$}
//Post $steps$Declare Local int $startClock$ = {monotonic_ms()}
DoRepeat
$increment$ = {($endValue$ – $targetValue$) / $steps$}
$incrementDuration$ = { ($startClock$ + $duration_ms$ – monotonic_ms())/ $steps$ }// Current step value calculation
$targetValue$ = {max($endValue$,$targetValue$ + $increment$)}//******************** Put the destination here ********************
InsertSendMessage fx1 1 SpeedFloat $targetValue$WaitDuration {$incrementDuration$}
$steps$ = {$steps$ – 1 }
While {$targetValue$ > $endValue$} //Post {monotonic_ms() – $startClock$}
//***********************************************************************************Philippe
KeymasterSalut Maxime,
Si je comprends bien le souci, tu voudrais refermer la stéréo.Sur mac, tu peux le faire en cliquant + glissant + cmd sur l’interface de spatialisation de la piste.
Tu peux aussi réduire la largeur du spread en cliquant + glissant + ctrl sur l’interface de spatialisation de la piste.Je ne me souviens plus des raccourcis sur Windows, mais tu peux aussi le faire.
Sinon, tu mets ça dans une macro :
// pour fermer la stéréo
TrackSpatialStereoWidth fx1 = 0
// pour réduire la largeur de la source
TrackSpatialSpread fx1 = 0Si j’ai mal répondu, n’hésite pas à préciser la question.
Bonne journée,
PhilippePhilippe
KeymasterSi tu entres en stéréo, et que tu choici de mettre l’entrée en stereo dans Logelloop, ça devrait aller.
Il faut éviter d’entrer en stéréo dans deux entrées de Logelloop car dans ce cas, si tu a un léger déphasage et que tu enregistres en mono dans looper, le signal s’annule. (a mon avis, il y a un truc comme ça dans ton installation).Donc, vérifie que tes cables sont identiques pour entrer de l’effet vers la carte son.
Ensuite vérifie que tu n’as qu’une entrée et qu’elle est bien en stereo.
Et là, ça devrait aller.Philippe
KeymasterSalut Maxime,
1 – Concernant la sortie monitoring, as-tu bien fait le routing vers les sorties de ta carte son dans le panneau de routing audio?2 – Concernant le niveau des boucles. Utilises-tu les loopers modulaires en inserts? si oui, mets-tu bien le niveau d’envoi des aux à 100?
Note que l’on peut rentrer très fort dans Logelloop donc, n’hésite pas à régler le gain d’entrée aussi fort que possible dans la carte.
Dans le looper modulaire, il y a aussi un facteur de zoom sur l’affichage de la forme d’onde. Tu peux le régler à sa valeur maximum, c’est souvent pratique.Sinon, je veux bien voir une copie d’écran pour me rendre compte de l’ensemble des réglages.
Bonne journée,
PhilippePhilippe
KeymasterSalut Bertrand, Regis,
Je suis désolé, on est au fond de la mine en ce moment… Mais on ne lâche pas l’affaire.Nous avons prévu de produire une nouvelle bêta pour Windows cette semaine en espérant qu’elle corrige les problèmes d’instabilités introduits dans la précédente. Si c’est le cas, Logelloop 6.1 sortira prochainement avec beaucoup de nouvelles fonctionnalités et de corrections de bugs… Si ça n’est pas le cas, on travaillera encore sur la stabilité de la version Windows avant la publication.
On va faire tout notre possible également pour rendre le plus fonctionnels les VST3 sur Windows.
Désolé pour le dérangement !
À bientôt,
PhilippePhilippe
KeymasterSalut Morgan,
Effectivement l’absence de fonction During pour les messages vers les inserts est dommage.
Peut-être qu’un jour nous disposerons d’une solution simple, mais pour l’instant, il n’y a pas d’autre solution que de faire sa propre routine.
Routine que tu peux déporter dans un slot macro spécifique qui gérera tous tes cas de during spécifiques.Voici une autre proposition de macro pour faire un during, note qu’elle est encore plus longue que la tienne !
//***********************************************************************************
// Set the total duration of the value change
Declare Local int $duration_ms$ = 1000// Set the start and end value
Declare Local float $startValue$ = 0
Declare Local float $endValue$ = 1Declare Local int $steps$ = 100
Declare Local float $incrementDuration$ = 0
Declare Local float $targetValue$ = $startValue$
Declare Local float $increment$ = {($endValue$ – $targetValue$) / $steps$}// calculate the number of needed steps for the current increment
$steps$ = {($endValue$ – $startValue$) / $increment$}
//Post $steps$Declare Local int $startClock$ = {monotonic_ms()}
DoRepeat
$increment$ = {($endValue$ – $targetValue$) / $steps$}
$incrementDuration$ = { ($startClock$ + $duration_ms$ – monotonic_ms())/ $steps$ }// Current step value calculation
$targetValue$ = {min($endValue$,$targetValue$ + $increment$)}//******************** Put the destination here ********************
InsertSendMessage fx1 1 SpeedFloat $targetValue$WaitDuration {$incrementDuration$}
$steps$ = {$steps$ – 1 }
While {$targetValue$ < $endValue$} //Post {monotonic_ms() - $startClock$} //***********************************************************************************Philippe
KeymasterSalut Morgan,
Les variables permettent :
– de connaître l’état d’une interface de Logelloop
– de mémoriser/modifier une valeur dans une ou plusieurs macros.Mais les variables ne permettent pas de modifier l’état de Logelloop !
J’espère ne pas omettre une situation particulière en écrivant cela, mais si tu souhaites changer l’état de quelque chose dans Logelloop, tu dois envoyer un message à partir de la macro.Lorsqu’il s’agit d’un VST, la variable $VST_fx1_rank1_SetParam_state$ te permet de connaître l’index et la valeur du dernier paramètre que tu as édité sur le plug-in. À ce jour, les variables string sont le moyen le plus simple de stocker plusieurs valeurs lisibles en un coup d’œil, c’est la raison pour laquelle cette variable est une string.
Pour modifier l’état du plug-in, tu n’auras pas d’autre choix donc que d’utiliser
InsertSendMessage fx1 1 SetParam
Je peux si cela est vraiment nécessaire ajouter une variable qui donnerait le nombre total de paramètres d’un plug-in, mais c’est un peu de travail et je ne suis pas certain que cela soit vraiment nécessaire, car ça donnera tellement de valeur dans certains cas que tu auras bien de la peine à les utiliser.
Je préconise dans l’état actuel des choses d’utiliser $VST_fx1_rank1_SetParam_state$ pour connaître les index des paramètres que tu souhaites contrôler avec ta macro et de procéder comme tu le précises ci-dessus.
Pour ma part, j’ai cette simple macro pour modifier la valeur d’un paramètre en boucle :
Declare Local int $VST_param_id$ = 1
Declare Local float $VST_param_value$ = 0DoRepeat
If {$VST_param_value$ >= 1}
$VST_param_value$ = 0
EndIf
InsertSendMessage fx1 1 SetParam $VST_param_id$ $VST_param_value$$VST_param_value$ = {$VST_param_value$ + 0.01}
Sleep 100
While trueEffectivement, je déclare moi-même deux variables, l’une sera générale pour ce plug-in, elle te permettra de choisir l’index du paramètre que tu souhaites éditer et l’autre sera la valeur que tu souhaites attribuer à ce paramètre…
Bonne journée,
Philippe9 April 2024 at 7 h 26 min in reply to: Contrôler en midi le pitch ou la vitesse d’un looper modulaire #6438Philippe
KeymasterSalut Timothée,
Je vois que tu as trouvé la solution, pour le Pitch, donc c’est bon pour ça.Si tu souhaites modifier la vitesse d’un ou plusieurs loopers en utilisant un Midi contrôleur, tu peux le faire simplement en cliquant sur le ? qui se trouve dans le Looper.
1 – Cela ouvre la fenêtre d’aide.
2 – Dans l’onglet du milieu de la fenêtre d’aide, tu vois toutes les commandes et contrôles pour cet insert.3 – En bas à droite se trouve la partie contrôleur, et c’est là que se trouve la liste des réglages modifiable en utilisant un contrôleur Midi.
4 – Dans cette liste se trouve Speed pour la vitesse.5 – En cliquant l’engrenage qui se trouve au-dessus de ce tableau, tu ouvres la fenêtre qui te permet de configurer le contrôleur Midi qui modifiera la vitesse du/des loopers.
Note aussi que lorsque tu cliques le petit triangle orange, en bas à droite dans le looper, tu ouvres un tiroir.
Dans ce tiroir, tu trouveras “Speed midi ctl scale” qui te permet de choisir quelle sera la vitesse minimum et maximum pour des valeurs Midi de 0 à 127.Bonne journée,
PhilippePhilippe
KeymasterSalut Morgan,
Il faut utiliser la syntaxe suivante pour que la variable d’id soit correctement interprétée par la macroTrackAuxState $auxID$ trk[$trkID$] 0
Bonne soirée,
PhilippePhilippe
KeymasterSalut,
C’est un cas un peu coriace et j’ai l’impression qu’il y a un truc qui n’est pas très évident, mais c’est toujours un peu compliqué de faire avec deux asservissements au métronome : celui de la macro et celui du looper.Concernant ta macro, le souci est que si tu demandes une action sur le premier temps et que le looper est asservi au premier temps du métronome, lorsque le signal de Mute ou Play arrive, c’est déjà trop tard… Il est donc préférable de lancer l’action à partir du seizième temps, ainsi, le démarrage de la lecture aura bien lieu sur le premier temps de la mesure…
Toutefois, cette histoire de 4 temps soulève une question : j’ai l’impression qu’il y a un bug quelque part, mais je n’arrive pas à le cerner, donc difficile d’en dire plus pour le moment.
La macro devient donc :
MetroActivateEvents true // activate events on metronome
WaitMetroBeat 16 //WaitMetroNextBarStart // playing A
InsertSendMessage fx1 1 Play// Now we will play loops to fit song size
// A A B A
DoRepeat
Post { “WaitMetroNextBarStart playing A”}
WaitMetroBeat 1 //WaitMetroNextBarStart // playing A
Post { “WaitMetroNextBarStart still playing A”}
WaitMetroBeat 16 //WaitMetroNextBarStart // playing A
InsertSendMessage fx2 1 Play
InsertSendMessage fx1 1 Mute
WaitMetroBeat 1
//WaitDuration 80 // synchro
Post { “WaitMetroNextBarStart playing B”} // <============== ici, il se passe 4 temps avant que la boucle en fx2 ne se lance //WaitDuration 80 // synchro WaitMetroBeat 16 //WaitMetroNextBarStart // playing B InsertSendMessage fx2 1 Mute // InsertSendMessage fx1 1 Play // WaitMetroBeat 1 //WaitMetroNextBarStart // playing A While { true }Si tu souhaites que ta macro fonctionne, quel que soit le nombre de temps par mesure, tu peux mettre :
WaitMetroBeat $metro_bar_beats$
à la place de :
WaitMetroBeat 16
J’enlève les WaitDuration qui sont toujours un peu bizarres…
J’ai l’impression qu’avec ces modifications, ça fonctionne, dis-moi ce que tu en penses.
Bonne soirée,
Philippe -
AuthorPosts