Business Template Forums Macros new user macro help

This topic contains 7 replies, has 2 voices, and was last updated by  Philippe Ollivier 6 months, 1 week ago.

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #3605

    Ploughman
    Member

    I am starting to make some macros, but still have some issues. The reference guide is helpful, but more examples would be even more helpful.

    Here is the task that was vexing me today. I want to to use a bank on my foot controller to mute and un-mute tracks 1-10 using control change values 11 though 20 on my peddle board. So I made 10 macros, one for each track. However the WaitUserAction seems to unmute the prior track rather then mute the next one when I try and mute track 1 then 2, for example. There must be a way to do this with one macro and a variable. If not, how do I stop the prior WaitUserAction, or simply toggle on to off or visa versa without having to know the current state?

    Here is the simple macro I made 10 of,
    ———-
    Macro for track 1:

    //Track 1 Select and Mute_Unmute

    SelectTrack @ trk1

    TrackMute trk_sel ON

    WaitUserAction

    TrackMute trk_sel OFF
    ———
    via Google Translate

    Je commence à faire des macros, mais j’ai encore quelques problèmes. Le guide de référence est utile, mais d’autres exemples le seraient encore plus.

    Voici la tâche qui me vexait aujourd’hui. Je souhaite utiliser une banque sur ma pédale pour assourdir et réactiver les pistes 1 à 10 à l’aide des valeurs de changement de commande 11 à 20 sur mon tableau de colportage. J’ai donc créé 10 macros, une pour chaque piste. Cependant, WaitUserAction semble réactiver la piste précédente plutôt que de couper la suivante lorsque j’essaie de couper la piste 1 puis 2, par exemple. Il doit y avoir un moyen de faire cela avec une macro et une variable. Si ce n’est pas le cas, comment puis-je arrêter l’actuelle WaitUserAction ou simplement l’activer ou l’inverser sans avoir à connaître l’état actuel?

    Voici la macro simple dont j’ai fait 10,
    ———-
    Macro pour la piste 1:

    // Track 1 Select et Mute_Unmute

    SelectTrack @ trk1

    TrackMute trk_sel ON

    WaitUserAction

    TrackMute trk_sel OFF
    ———

    Meilleures salutations,

    #3606

    Hi Ploughman,
    We will add some more macro examples of Logelloop 5.

    The issue in your macro is that the track is selected only when you first launch the macro.
    There is no track selection after the WaitUserAction, that’s the issue.

    Your macro should contain :

    WaitUserAction
    SelectTrack @ trk1
    TrackMute trk_sel OFF

    Your Macro could also be like this :

    //***************** Begin ************
    //***************** Mute or unMute the selected track ************
    DeclareOnce int $trk1_muted$ = 0

    SelectTrack @ trk1

    If {$trk1_muted$ == 0}
    TrackMute trk_sel ON
    Set $trk1_muted$ = 1
    MacroStop
    EndIf

    If {$trk1_muted$ == 1}
    TrackMute trk_sel OFF
    Set $trk1_muted$ = 0
    MacroStop
    EndIf
    //***************** End ************

    Or even, with the possibility to know the current state of the mute button :

    //***************** Begin ************
    //***************** Mute or unMute the selected track ************
    SelectTrack @ trk1

    If {valueOfReactionNamed(“TrackMute_trk1”) == 0}
    TrackMute trk_sel ON
    Else
    TrackMute trk_sel OFF
    EndIf
    //***************** End ************

    There is an example of the use of valueOfReactionNamed in the macro “Track Settings Copy And Paste”.
    Hope this help!
    Thank you,
    Philippe

    #3609

    Hi Ploughman,
    After some more work on this case, I can also say that you can do it with only one macro and the track selection system. And the macro will only need one line :

    TrackMute trk_sel {(valueOfReactionNamed(“TrackMute_trk” + $current_selected_track$) == 0) ? 1 : 0 }

    This track takes the current state of the selected track and reverse to the other value… If the track mute state is 1 (muted), it put it at 0 (unmuted), and so on…

    OK, that’s not direct, you first need to select the track and then push the macro button.
    —> It’s possible to select a track with a Midi command…

    Philippe

    #3617

    Ploughman
    Member

    Philippe,

    This was helpful, but after some reflection, muting is only one thing I want to do when selecting a track, so what I really need is a increment or decrement selected track macro (Like you showed with looper groups). Then I can mute or do a Volume on a track or anything really.

    But this takes me to the next related question. The Midi volume is master, all tracks or a specific track. How can i use a volume peddle on just the selected track? related to this as well, it would be more useful if the last track recorded or overdubbed is the selected track. It seems like it is just track 1 unless you change it.

    Now a new macro question. I made macro to record the next loop with one click. Then I realized I could use multiple and it would record if the next loop is empty, which is the main thing I wanted to do But I also want to go to the next loop and start multiply on a new track right away. But it does not, it waits until the loop plays once then starts the multiple. This is the macro:

    //**** macro begin ****
    NextLoop
    WaitNextLoop
    Multiply
    //**** macro end ****

    It does the same thing with or without the WaitNextLoop, so how can I get it to multiply when the next loop starts?

    #3635

    Hi ,
    “This was helpful, but after some reflection, muting is only one thing I want to do when selecting a track, so what I really need is a increment or decrement selected track macro. Then I can mute or do a Volume on a track or anything really.”

    I am not sure I understand the question, but if yes, make those two macros :

    //**************** SelectNextTrack ***************
    VarLoopTrack trk_x {$current_selected_track$ + 1}
    SelectTrack @ trk_x
    //**************** SelectNextTrack End ***************

    //**************** SelectPreviousTrack ***************
    VarLoopTrack trk_x {$current_selected_track$ – 1}
    SelectTrack @ trk_x
    //**************** SelectPreviousTrack End ***************

    Put each one in a slot.
    Set a midi note of your footboard to launch each macro.
    Philippe

    #3636

    “But this takes me to the next related question. The Midi volume is master, all tracks or a specific track. How can i use a volume peddle on just the selected track?”

    1 – Connect the midi volume pedal to Midi/Variables for macro $midiv_cc1$
    2 – make this macro :

    //**************** Volume to Selected Track ***************
    DoRepeat
    TrackVolume trk_sel = {scale($midiv_cc1$, 0, 127, -76, 0)}
    Sleep 50
    While true
    //**************** End ***************

    3 – Launch the macro, change the value of $midiv_cc1$ with the pedal.
    Philippe

    #3637

    “related to this as well, it would be more useful if the last track recorded or overdubbed is the selected track. It seems like it is just track 1 unless you change it.”

    —> This is not possible and will not in the near future… Sorry.

    #3638

    “Now a new macro question. I made macro to record the next loop with one click. Then I realized I could use multiple and it would record if the next loop is empty, which is the main thing I wanted to do But I also want to go to the next loop and start multiply on a new track right away. But it does not, it waits until the loop plays once then starts the multiple. This is the macro:
    //**** macro begin ****
    NextLoop
    WaitNextLoop
    Multiply
    //**** macro end ****
    It does the same thing with or without the WaitNextLoop, so how can I get it to multiply when the next loop starts?”

    —> Sound in A
    —> Sound in B

    If A is playing.

    //**** macro begin ****
    NextLoop
    Multiply
    //**** macro end ****

    —> Multiplication on B and the end of Loop A.

    If you want an immediate Multiplication on B. Put Two NextLoop as if 2 click on the footboard for immediate NextLoop.

    //**** macro begin ****
    NextLoop
    NextLoop
    Multiply
    //**** macro end ****

    Is it what you need?

    Please next time : one question in one thread and a new thread for a new question on a different topic. Thanks in advance.
    Philippe

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.