Spread macro's problem

This is a place for people to chare the custom macros they have written.

Moderator: Moderators

Bart K
Posts: 11
Joined: 16 Aug 2018, 17:10

Spread macro's problem

Postby Bart K » 21 Mar 2019, 20:47

Hey Guys,

I use some macro's to adjust the spreads of my movements and dimmer chases.

Sometimes the macro does run and I see the change happening in the effect (on screen). But the fixtures only flikker once and then continue in the same spread.
After I press 3/4 times the same macro they will change. This problem only happens once in a while.

What am I doing wrong? Is the macro to big for the console?


Thanks in advance!


I'm using the following macro:

https://www.avolites.de/wiki/macros:exa ... hapespread
icke_siegen
Posts: 899
Joined: 02 Jul 2010, 10:29
Location: Siegen, Germany
Contact:

Re: Spread macro's problem

Postby icke_siegen » 22 Mar 2019, 16:39

Would you like to send me the macro or the showfile so that I can have a look? Would be interesting what might cause such an issue.

What console and software version are you using?

My email address is s.beutel@avolites.de

Best regards, Sebastian
Bart K
Posts: 11
Joined: 16 Aug 2018, 17:10

Re: Spread macro's problem

Postby Bart K » 22 Mar 2019, 17:24

Hello Sebastian,

Just send you an email.

Thanks in advance.
icke_siegen
Posts: 899
Joined: 02 Jul 2010, 10:29
Location: Siegen, Germany
Contact:

Re: Spread macro's problem

Postby icke_siegen » 23 Mar 2019, 17:21

Hi Bart,

thanks for sending this over. I did a number of tests, tried this in simplified shows etc. It looks like this is something like a race condition: in your macro every instruction is executed as fast as possbile, without waiting for the previous one to be finished, which may lead to unpredictable results.I am still investigating possible solutions - maybe Gregory has not only more insights (which I am sure he has) but also some ways to solve this.

At the moment simply add the pause property for every step - simply add a ' pause="0.1" ' after every <step:

A block which you wrote like this:

Code: Select all

  <macro id="FX.Dim.Spread.3" name="FXl Dim Spread 3">
  <description>set effect spread to 3</description>
    <sequence>
     
      <step>ActionScript.SetProperty.Boolean("Programmer.BlindActive", true)</step>
      <step>Programmer.SetBlindMode(false, 0)</step>
     
      <step>Include.SelectPlaybackHandle("Location=PlaybackWindow,2,1")</step>
      <step>ActionScript.SetProperty.Integer('Editor.Shapes.Spread',3)</step>
      <step>Playbacks.MergePlaybackCue("Location=PlaybackWindow,2,1", true)</step>
      <step>Programmer.Editor.Clear(128, true, false, 0)</step>
      ...
      <step>ActionScript.SetProperty.Boolean("Programmer.BlindActive", false)</step>
      <step>Programmer.SetBlindMode(false, 0)</step>
     
    </sequence>
  </macro>


would then look like this:

Code: Select all

  <macro id="FX.Dim.Spread.3" name="FXl Dim Spread 3">
  <description>set effect spread to 3</description>
    <sequence>
     
      <step pause="0.1">ActionScript.SetProperty.Boolean("Programmer.BlindActive", true)</step>
      <step pause="0.1">Programmer.SetBlindMode(false, 0)</step>
     
      <step pause="0.1">Include.SelectPlaybackHandle("Location=PlaybackWindow,2,1")</step>
      <step pause="0.1">ActionScript.SetProperty.Integer('Editor.Shapes.Spread',3)</step>
      <step pause="0.1">Playbacks.MergePlaybackCue("Location=PlaybackWindow,2,1", true)</step>
      <step pause="0.1">Programmer.Editor.Clear(128, true, false, 0)</step>
      ...
      <step pause="0.1">ActionScript.SetProperty.Boolean("Programmer.BlindActive", false)</step>
      <step pause="0.1">Programmer.SetBlindMode(false, 0)</step>
     
    </sequence>
  </macro>


This adds a little time after each instruction, see https://www.avolites.de/wiki/macros:step_pause for a brief explanation.
  • from what I tested 0.1 makes the macros run successfully, much shorter doesn't work
  • now of course the problem is that the whole macro takes almost 9 seconds to run
  • currently I am trying if it's possible to add the pause only to selected instructions - maybe Gregory has an idea which instructions take particularly long or are specifically sensitive
  • the problem is easily visible: after running the macro without pause often there is something in the programmer (Clear is lit), and sometimes the consle is stuck in blind mode

I was in touch with Florian who posted this macro in the first play and he confirmed that he already encounteres similar problems. I'll mark this as work in progress in the wiki. Maybe you cen also try with adding pause to only a few instructions, and let us know your findings.
icke_siegen
Posts: 899
Joined: 02 Jul 2010, 10:29
Location: Siegen, Germany
Contact:

Re: Spread macro's problem

Postby icke_siegen » 23 Mar 2019, 20:39

Also, you need to fix the first cue. It not only contains the Dimmer Spred, but 3 empty shapes as well. Include this ce, delete the empty shapes, and record/replace it.
icke_siegen
Posts: 899
Joined: 02 Jul 2010, 10:29
Location: Siegen, Germany
Contact:

Re: Spread macro's problem

Postby icke_siegen » 23 Mar 2019, 21:09

It looks like you need pause for almost every command. Only

Code: Select all

ActionScript.SetProperty.Integer('Editor.Shapes.Spread',x)


seems to work reliably without pause.
Bart K
Posts: 11
Joined: 16 Aug 2018, 17:10

Re: Spread macro's problem

Postby Bart K » 24 Mar 2019, 21:08

Hi guys

Thank you very much for your reply's.

I'm gonna test the new macro's and try some different lines with or without the pause line.
If I have some news I will post it.

Just thanks for your time again. Much appreciated.

Who is online

Users browsing this forum: No registered users and 3 guests