Simple enhancement that would make variables in macros

Some other desks have rich/complex macro capability.

In lots of ways the ETC macros are nice as they are simple to setup and get correct.

The main thing they lack is variables.

 

However you can already half do variables as you can have a value in a macro and refer to it in another macro

So it macro 1 has 10 in it,  I can write a macro that says   focus_pallet Macro_Button 1 copy_to focus_pallet 100  and it would copy FP 10 to FP100.  This is a useful technique for a lot of things.

But the restriction is there is not any way of storing a value into a macro from another macro.

 

I have two suggestions as to how that could be done

Add a capability in a macro to ask for input that would be stored.   ie like you can do wait_for_enter in a macro and what you type goes on the command line, have a read_into_macro n which would simply store what you typed up to (and excluding) the enter into the given macro.

so the macro   read_into_macro 1  would take what you keyed in upto the enter and store it in macro 1  so an example use might be

read_into_macro 1

Effect 1 BPM macro_button 1

Effect 2 BPM macro_button 1

Effect 3 BPM macro_button 1

Effect 4 BPM macro_button 1

 

The other suggestion which maybe harder to implement is to make a macro able to the be the destination of a copy command.

So just as I can type

Chan 1 Red Copy to Chan 2

Make it so I can type

Chan 1 Red Copy to Macro_button 1

which would copy the red value of the channel to the macro (ie variable) which I could then use in some clever way as needed.

 

I realise that some of the trivial examples above can be achieved in other ways at present, but there are a lot of more complex use cases that cant. (I don't think the effect one above has any current alternative solution on the desk - although you could use an external OSC processor as a work around)

  • Mike A said:

    I don't think the effect one above has any current alternative solution on the desk

     

    Macro 2:

    Macro Wait_For_Enter Copy_To 1 <Enter>
    <Enter>
    Effect 1 BPM Macro_Button 1 <Enter>
    <Enter>
    Effect 2 BPM Macro_Button 1 <Enter>
    <Enter>
    Effect 3 BPM Macro_Button 1 <Enter>
    <Enter>
    Effect 4 BPM Macro_Button 1 <Enter>
    <Enter>

    Macro 60:

    60

    Macro 120:

    120

  • Mike A said:

    So it macro 1 has 10 in it,  I can write a macro that says   focus_pallet Macro_Button 1 copy_to focus_pallet 100  and it would copy FP 10 to FP100.  This is a useful technique for a lot of things.

    You're right in principle but I need to correct your syntax for the record. It should be:

    Focus_Palette Macro 1 [Enter]

    Copy_To Focus_Palette 100 [Enter][Enter]

    There's a difference between Macro_Button and Macro. When copying macros you need to use the {Macro} from the Macro Editor.

    The first [Enter] in the last line is to terminate the command and the second [Enter] is to confirm overwriting an existing Focus Palette 100.

  • I do currently do something like that and have a set of macros that I preload with the values I need for the BPMs of the songs that are being performed (if they are using a click track and they know in advance) and then I do that kind of trick.

    But its not really practical to load 1 through 300 with the values 1, 2, 3, 4 ..... etc so I can have any value available.
  • John,  I think you have got that the wrong way around,  Macro_Button is the correct one to use in the macro to reference another macro.   I've doubled checked and that's what I am using in loads on macros in my current show file.  

    I agree with the double enter,  and that's what I  have in my macros,  just wasn't trying to make the post to complicated, as really wanted someone in etc dev to read it and hopefully see it was a simple change.

    Example of actual macro I am using

  • Mike A said:

    John,  I think you have got that the wrong way around,  Macro_Button is the correct one to use in the macro to reference another macro.   I've doubled checked and that's what I am using in loads on macros in my current show file.  

     

     

    Ok, what I should have said was:

    Focus_Palette Macro_Button 1 [Enter]

    Copy_To Focus_Palette 100 [Enter][Enter]

    Ironically, I used Macro_Button correctly in my first example.

    I used this example

    Focus_Palette Macro 1 [Enter]

    Copy_To Focus_Palette 100 [Enter][Enter]

    and then when I tested it it worked the same way, so it turns out that {Macro} can be used in place of {Macro_Button}.

    I was correct when I said

    There's a difference between Macro_Button and Macro. When copying macros you need to use the {Macro} from the Macro Editor.

    but I applied it incorrectly to your example - I must have confused myself last night by thinking you were copying a macro instead of copying a focus palette.

Related