Home Forums Macros MAJ macros au passage à Logelloop 5.5

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #5941
    Christophe CorrecChristophe Correc
    Participant

    Bonjour,

    Je poursuis le nettoyage de mon vieux projet (datant de Logelloop 3) et je regarde les erreur mentionnées dans la console max.
    Je pense que certaines erreurs sont dues entre autre au changement de machine, je suis passé d’un MacBook Pro 2012 à un MacBook Pro M1 2021 qui est bien plus rapide.
    Mais je veux bien quelques conseils 🙂

    Ah et pour info, Logelloop 5.5.1 est paramétré avec des entrées stéréo et sorties spatialisées.

    Je voudrais nommer un preset de slicer “truc+la date”. J’essaie d’utiliser la fonction now.
    J’ai écrit ça : SlicerPresetStore { “truc-$now$” } mais ça ne fonctionne pas, dans le sens où now ne correspond pas à la date, j’obtiens un preset nommé truc-$now$ Pourtant dans une autre macro j’utilise CopyToFile @ “ply-$now$” et là, j’ai bien la date. Qu’est ce que je ne fais pas bien ?

    Dans une autre macro, j’ai ça :
    During {samples2ms($BabylooperA_2_lfx_current_length$)} Reach -76 TrackVolume trk1
    qui fonctionne très bien mais j’ai ce message d’erreur :
    [Macro, Avertissement] Variable $BabylooperA_2_lfx_current_length$ is unknown, guess its type will be: int with default value of 0
    alors que j’ai bien quelque chose d’enregistré dans le babylooper et que je peux voir sa durée dans la table des variables macros.

    Autre message
    J’utilise ceci
    During 10000 Reach 0 SFXController sfx_2_ctrl_1 (qui fonctionne)
    et j’ai le message suivant
    Warning : listener not enabled/disabled for reaction SFXController_sfx_2_ctrl_1. Use messages setStateEnable/setStateDisable to change the reaction listener state.
    Qu’est ce que ça veut dire ?

    Dans deux presets, j’ai ces messages :
    Adding doc for controller to [MidiInsert type:Track; track=trk5; rank:2; cmd:2] [B_Speed] but a doc already exists: [Speed B]
    Adding doc for controller to [MidiInsert type:Track; track=trk5; rank:2; cmd:1] [A_Speed] but a doc already exists: [Speed A]
    C’est à chaque fois un babylooper en insert.
    Qu’est ce que ça veut dire ?

    Dans une macro, j’ai quelque chose comme ça :
    InsertCommand trk5 2 3
    InsertCommand trk5 2 7
    InsertSendMessage in1 2 Select 0
    InsertSendMessage sfx 1 Select 0
    TrackVolume in1 = 0
    MessageMain “Attend la fin du 58 1”
    Sleep 200
    // Passage à Lulu 2
    PresetNext

    et un message dans la console max :
    ** Error for MacroActionListener InsertSendMessage_in1_2, action listener not found
    ERROR : no listener found for action InsertSendMessage_in1_2

    Est-ce que ça serait parce que le changement de preset se fait avant que la commande InsertSendMessage in1 2 Select 0 ait été effectuée ? et qu’il faudrait donc que je rallonge le Sleep ? Pas très logique, si sur ma vielle bécane Logelloop avait le temps de faire la manip, pourquoi ne l’aurait-il plus maintenant avec une machine plus rapide.

    Je déclare une variable :
    Message “fade de fin Bourdon”
    DeclareOnce float $BourdonVolume$ = 0.0
    Set $BourdonVolume$ = { floor(valueOfReactionNamed(“BourdonVolume”)) }
    Post $BourdonVolume$
    Set $my_personnal_counter$ = $BourdonVolume$
    DoRepeat
    Set $my_personnal_counter$ = { $my_personnal_counter$ – 1 }
    Message $my_personnal_counter$
    TrackVolume fx2 = {$my_personnal_counter$ }
    Sleep 150
    While { $my_personnal_counter$ > -76 }

    et le message d’erreur :
    Didn’t found reaction value named BourdonVolume to get float value. Return 0 instead.
    Existing reaction values are: [TrackAuxState_10_trk9, TrackAuxState_10_trk8, TrackAuxState_10_trk7, TrackAuxState_10_trk6, TrackAuxState_10_trk5, TrackAuxState_10_trk4, TrackAuxState_10_trk3, TrackAuxState_10_trk2, TrackAuxState_10_trk1, MixedModeEraseLevel, TrackPitchState_trk9, TrackPitchState_trk8, TrackPitchState_trk7, TrackPitchState_trk6, TrackPitchState_trk5, TrackPitchState_trk4, TrackPitchState_trk3, TrackPitchState_trk2, TrackPitchState_trk1, TrackAuxPosition_16_trk10, TrackAuxVolume_5_trk10, TrackAuxPosition_16_fx9, TrackAuxPosition_16_fx8, TrackAuxPosition_16_fx7, TrackAuxPosition_16_fx6, TrackAuxPosition_16_fx5, TrackAuxPosition_16_sfx, TrackAuxPosition_16_fx4, TrackAuxPosition_16_fx3, TrackAuxPosition_16_fx2, TrackAuxPosition_16_fx1, TrackPanStereoLeft_trk9, TrackPanStereoLeft_trk8, TrackPanStereoLeft_trk7, TrackPanStereoLeft_trk6, TrackPanStereoLeft_trk5, TrackPanStereoLeft_trk4, TrackPanStereoLeft_trk3, TrackPanStereoLeft_trk2, TrackPanStereoLeft_trk1, MetroVolume, InsertController_trk6_2_3,

    Quelle est l’erreur ?

    Et pour terminer quelques messages dont je ne comprends pas la signification (ils ne sont pas liés les uns aux autres):
    script disconnect: connection not found

    event flushed:BEAT

    Warning : listener not enabled/disabled for reaction TrackTime_trk_all. Use messages setStateEnable/setStateDisable to change the reaction listener state.

    merci d’avance pour les éclaircissements !
    Christophe

    #5942
    Philippe OllivierPhilippe
    Keymaster

    Salut Christophe

    Je voudrais nommer un preset de slicer “truc+la date”. J’essaie d’utiliser la fonction now.
    J’ai écrit ça : SlicerPresetStore { “truc-$now$” } mais ça ne fonctionne pas, dans le sens où now ne correspond pas à la date, j’obtiens un preset nommé truc-$now$ Pourtant dans une autre macro j’utilise CopyToFile @ “ply-$now$” et là, j’ai bien la date. Qu’est ce que je ne fais pas bien ?

    En fait, tu détournes une très ancienne fonction de Logelloop (probablement antérieure à Logelloop 1) qui avait la mauvaise idée d’utiliser une variable dans un contexte précis. En l’occurrence, CopyToFile @ “ply permet d’utilise $now$, mais ça ne fonctionnera pas dans les autres cas.

    Pour faire ce que tu veux faire, il faut aller dans le référence guide des macros, dans la catégorie Expression and functions, et là, tu trouveras toutes sortes d’expressions qui te renvoient le temps : now(), monotonic_ms(), hour() et hourstamp().

    Et dans le cas présent, tu utiliseras now(), dans l’expression suivante :

    SlicerPresetStore {“truc-” + now()}

    Dans une autre macro, j’ai ça :
    During {samples2ms($BabylooperA_2_lfx_current_length$)} Reach -76 TrackVolume trk1
    qui fonctionne très bien mais j’ai ce message d’erreur :
    [Macro, Avertissement] Variable $BabylooperA_2_lfx_current_length$ is unknown, guess its type will be: int with default value of 0
    alors que j’ai bien quelque chose d’enregistré dans le babylooper et que je peux voir sa durée dans la table des variables macros.

    Donc, je rappelle, une fois de plus que bblooper n’est plus officiellement supporté et qu’il pourrait disparaître sans crier gare.
    Note que Looper apporte tellement de fonctions utiles et que ton mac est si puissant que deux loopers remplaceront allègrement un bblooper…
    Note également que les LFX (hors inserts) ne sont plus supportés, seuls les SFX et les inserts sont supportés dans les nouveaux projets.
    je ne peux pas dans mes projets actuels charger un LFX pour faire le test, mais je pense que la solution est la suivante, tu ajoutes la ligne :

    Declare int $BabylooperA_2_lfx_current_length$ = 0

    En haut de ta macro.
    Ce qui est nouveau, c’est que depuis un certain temps (je ne sais plus quand), nous avons rendu obligatoire la déclaration de variables avant leur utilisation. Les variables internes sont auto déclarées donc, fonctionnent sans message d’erreur, cela n’est pas le cas des babyloopers et des LFX car ils n’ont pas fait l’objet d’une mise à jour.

    Autre message
    J’utilise ceci
    During 10000 Reach 0 SFXController sfx_2_ctrl_1 (qui fonctionne)
    et j’ai le message suivant
    Warning : listener not enabled/disabled for reaction SFXController_sfx_2_ctrl_1. Use messages setStateEnable/setStateDisable to change the reaction listener state.
    Qu’est ce que ça veut dire ?

    C’est un oubli de ma part, un message d’erreur qui est surtout là pour nous signifier que l’on a oublié de faire quelque chose…
    C’est corrigé pour la prochaine livraison, merci de l’avoir repéré, celui-là ! -)

    Dans deux presets, j’ai ces messages :
    Adding doc for controller to [MidiInsert type:Track; track=trk5; rank:2; cmd:2] [B_Speed] but a doc already exists: [Speed B]
    Adding doc for controller to [MidiInsert type:Track; track=trk5; rank:2; cmd:1] [A_Speed] but a doc already exists: [Speed A]
    C’est à chaque fois un babylooper en insert.
    Qu’est ce que ça veut dire ?

    C’est un petit message sans importance pour te rappeler que ça n’est pas chic de continuer à utiliser les bbloopers… -)
    En vrai, c’est une erreur qui nous concerne et pas l’utilisateur, pour nous rappeler qu’il y a une opération de construction de la doc qui est faite deux fois… Rien de grave, mais je note de le corriger dès que possible. Là, maintenant, je n’arrive pas à trouver la cause de cette erreur…

    Dans une macro, j’ai quelque chose comme ça :
    InsertCommand trk5 2 3
    InsertCommand trk5 2 7
    InsertSendMessage in1 2 Select 0
    InsertSendMessage sfx 1 Select 0
    TrackVolume in1 = 0
    MessageMain “Attend la fin du 58 1”
    Sleep 200
    // Passage à Lulu 2
    PresetNext

    et un message dans la console max :
    ** Error for MacroActionListener InsertSendMessage_in1_2, action listener not found
    ERROR : no listener found for action InsertSendMessage_in1_2

    Est-ce que ça serait parce que le changement de preset se fait avant que la commande InsertSendMessage in1 2 Select 0 ait été effectuée ? et qu’il faudrait donc que je rallonge le Sleep ? Pas très logique, si sur ma vielle bécane Logelloop avait le temps de faire la manip, pourquoi ne l’aurait-il plus maintenant avec une machine plus rapide.

    Non, je pense que tu utilises une ancienne syntaxe pour parler à l’insert et que pour une raison qui m’échappe, ce qui reçoit le message a disparu.
    Franchement, il y a eu de gros changements lors du passage à Logelloop 5 dans cette partie du code et il a fallu faire des compromis. J’ai tout remplacé par des messages qui sont plus explicites, car ils portent le nom de la fonction comme ici :

    InsertSendMessage fx1 1 AutoFadeOut_A 1000
    (note, pour le coup, que c’est une command de bblooper… -) )

    Pour utiliser ce genre de message, tu cliques sur le ‘?’ de l’insert, tu cliques sur l’onglet du milieu de la doc “Messages – Contro…”, et tu choisi la ligne du message que tu souhaites envoyer au plug-in, là, tu copies la ligne que tu colle dans la macro, et hop, le tour est joué…

    Je déclare une variable :
    Message “fade de fin Bourdon”
    DeclareOnce float $BourdonVolume$ = 0.0
    Set $BourdonVolume$ = { floor(valueOfReactionNamed(“BourdonVolume”)) }
    Post $BourdonVolume$
    Set $my_personnal_counter$ = $BourdonVolume$
    DoRepeat
    Set $my_personnal_counter$ = { $my_personnal_counter$ – 1 }
    Message $my_personnal_counter$
    TrackVolume fx2 = {$my_personnal_counter$ }
    Sleep 150
    While { $my_personnal_counter$ > -76 }

    et le message d’erreur :
    Didn’t found reaction value named BourdonVolume to get float value. Return 0 instead.
    Existing reaction values are: [TrackAuxState_10_trk9, TrackAuxState_10_trk8, TrackAuxState_10_trk7, TrackAuxState_10_trk6, TrackAuxState_10_trk5, TrackAuxState_10_trk4, TrackAuxState_10_trk3, TrackAuxState_10_trk2, TrackAuxState_10_trk1, MixedModeEraseLevel, TrackPitchState_trk9, TrackPitchState_trk8, TrackPitchState_trk7, TrackPitchState_trk6, TrackPitchState_trk5, TrackPitchState_trk4, TrackPitchState_trk3, TrackPitchState_trk2, TrackPitchState_trk1, TrackAuxPosition_16_trk10, TrackAuxVolume_5_trk10, TrackAuxPosition_16_fx9, TrackAuxPosition_16_fx8, TrackAuxPosition_16_fx7, TrackAuxPosition_16_fx6, TrackAuxPosition_16_fx5, TrackAuxPosition_16_sfx, TrackAuxPosition_16_fx4, TrackAuxPosition_16_fx3, TrackAuxPosition_16_fx2, TrackAuxPosition_16_fx1, TrackPanStereoLeft_trk9, TrackPanStereoLeft_trk8, TrackPanStereoLeft_trk7, TrackPanStereoLeft_trk6, TrackPanStereoLeft_trk5, TrackPanStereoLeft_trk4, TrackPanStereoLeft_trk3, TrackPanStereoLeft_trk2, TrackPanStereoLeft_trk1, MetroVolume, InsertController_trk6_2_3,

    Quelle est l’erreur ?

    Tu n’as pas le droit d’utiliser valueOfReactionNamed en dehors des cas où tu souhaites obtenir l’état d’une interface comme l’envois d’aux ou le panner d’une tranche.

    Ici, si tu remplaces simplement la ligne :

    Set $BourdonVolume$ = { floor(valueOfReactionNamed(“BourdonVolume”)) }

    par

    Set $BourdonVolume$ = { floor($BourdonVolume$)}

    ça devrait fonctionner sans erreur.

    Et pour terminer quelques messages dont je ne comprends pas la signification (ils ne sont pas liés les uns aux autres):
    script disconnect: connection not found

    Sans importance, un cas de message de déconnexion d’une connexion qui n’existe pas, j’adorerais réussir à éliminer cette erreur, mais c’est un cas tordu, et je ne trouve pas de solution économique… Ça viendra un jour… -)

    event flushed:BEAT

    Je ne vois pas, je veux bien savoir dans quel cas cela arrive…

    Warning : listener not enabled/disabled for reaction TrackTime_trk_all. Use messages setStateEnable/setStateDisable to change the reaction listener state.

    Un autre oubli que je viens de corriger pour la prochaine… Au passage, j’en ai trouvé quelques autres.
    merci pour le signalement, même c’est surtout cosmétique… -)

    Merci pour tous ces retours.
    C’est précieux.
    Bonne soirée,
    Philippe

    #5944
    Christophe CorrecChristophe Correc
    Participant

    Merci beaucoup Philippe pour toutes ces infos !

    Je note donc de changer mes derniers babyloopers pour des loopers et les rares LFX pour des inserts !
    Je te tiendrai au courant.

    Pour le now, j’avais été voir dans les références, trouvé le now() mais je l’avais mal syntaxé dans ma macro. Et du coup j’avais des presets truc-now(). Et comme j’en avais un qui fonctionnait avec la variable…

    Pour le event flushed:BEAT , il est arrivé curieusement, une macro qui a comme lancé plusieurs commandes à la fois. Je n’avais jamais eu ça. Si jamais je réitère, j’essaye de bien circonstancer le truc.

    Encore merci.
    Bonne journée
    Christophe

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.