Linking BPM Masters II

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

Moderator: Moderators

User avatar
Andrew Palmer
Posts: 17
Joined: 05 Dec 2020, 17:48

Linking BPM Masters II

Postby Andrew Palmer » 30 Aug 2021, 16:17

Hi all,

I'm trying to vary the speed of all of my P/T effects (in one go) in relation to the speed of my dimmer and colour effects, which are all linked to BPM Master 1. Sometimes I want them to run at the same speed, and other times I want the running at 1:4, 1:16 or even 1:64 ratios. I need to change all of my P/T effects simultaneously.

I'd like to achieve something similar to what c-j-y asked back in March, but the solution kindly offered by niclights isn't what I'm looking for. Like c-j-y, I'm looking to make one BPM master a slave of another, so that the slave has the same BPM but allows me to set a different divisor. For example, BPM Master 1 would be the master, and I would tap on this. BPM Master 2 would slave to BPM Master 1. This would allow me to link all my dimmer & colour effects to, BPM Master 1, and all my P/T effects to BPM Master 2. This in turn allows me to set a different divisor for each type of effect.

I have lots and lots of dimmer, colour, movement and beam playbacks, and changing the values of the speed multiplier for individual playbacks manually while busking isn't an option. It would be so much easier to slow all my movements down by changing just one multiplier/divisor.

Other solutions I've explored are to just use a separate BPM Master, but this makes it difficult to keep everything in sync and takes up another fader (which I don't have enough of anyway). I find it far too satisfying to keep movement it sync with the music!

Another solution I've tried is, for each effect, to replace a normal playback with a cue list with three items. Each item contains my effect (with effect tracking disabled), with divisors /64, /16 and /4 respectively, and a fade in time to give me smooth transitions. I can then select the appropriate divisor by pressing the playback button the appropriate number of times. I can include a forth item, with the same effect and divisor as the third, but which also fires a macro to release the cue list. This has proved to be a fairly elegant solution, but involves a lot of work (and a macro) for each effect, lots of extra key presses, and prevents me from using the same technique to store a selection of effects on a single button.

I would be very grateful to hear of other possibilities which I could explore.

I've not yet been able to find the time to launch into macro programming other than the simple key stroke recorder programming native to the console. I'd be grateful to know if this might hold the answer to my problem. If so, I will endeavour to go down this track.

Many thanks in anticipation.

Andy
revenant
Posts: 51
Joined: 25 Oct 2020, 14:36

Re: Linking BPM Masters II

Postby revenant » 25 Oct 2021, 10:59

Has this been resolved? I think this could be solved with a simple macro, here is one I use...

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<avolites.macros>

  <macro id="Avolites.Macros.TapTempoBPMMmasters-1-2" name="Tap Tempo on BPM Masters 1&amp;2">
    <description>Triggers "Tap Tempo" on BPM Masters 1 and 2</description>
    <sequence>
      <step>Masters.TapTempo(1612, Math.GetCurrentTimeStamp())</step>
      <step>Masters.TapTempo(1613, Math.GetCurrentTimeStamp())</step>
    </sequence>
  </macro>

</avolites.macros>


This code should be copied to a file with an ".xml" extension and placed in the "Macro" directory. after starting the software the macro should be available from the Show Library and labeled "Tap Tempo on BPM Masters 1&2". Stick it on an executor and tap it as you would normally "Tap Tempo" on the master and it should set both BPM masters 1 and 2 to the same BPM value.

This macro uses the internal IDs of the BPM masters for V15 Titan OS, if you are running another version you may have to use different IDs.

For V15 the available BPM masters and their IDs are...

BPM Master 1 = 1612
BPM Master 2 = 1613
BPM Master 3 = 1614
BPM Master 4 = 1615
BPM Master 5 = 1616
BPM Master 6 = 1617
BPM Master 7 = 1618
BPM Master 8 = 1619
User avatar
Andrew Palmer
Posts: 17
Joined: 05 Dec 2020, 17:48

Re: Linking BPM Masters II

Postby Andrew Palmer » 25 Oct 2021, 11:28

Hi,

Thanks for the detailed reply. I hadn't thought of doing it this way. I was blinkered into thinking I had to somehow 'copy' the BPM from one to another.

I've been using two BPM Masters, one for dimmer and colour and the other for pan and tilt. I have to tap both simultaneously. I have macros to double/halve each one which allows me to slow the movement down relative to the dimmer/colour effects. Keeping everything in time with the music is important for us and being able to easily change the multiplier with macros is great as I have (and need) the faders controlling BPM rather than the multiplier.

I'll give your macro a try, although it does mean losing another button!

Thanks again,

Andy
User avatar
sideshowbond
Posts: 182
Joined: 18 Nov 2016, 20:58

Re: Linking BPM Masters II

Postby sideshowbond » 25 Oct 2021, 13:24

following revenant's reply there is a section on the Avo Wiki covering macros and masters. You can find the TitanIDs there as well.
https://www.avolites.de/wiki/macros:examples

I used to use a macro to tap all 4 BPM masters at once (when it was 4 masters) which works pretty solid and then macros to set the multipliers as I want all my FX always to run in sync and follow the same BPM.

Also one important thing: the Titan ID's of your masters are set when the showfile originally is created. So when you carry an old file created in v11 over into v15 you need to use the ID's for v11/12. This is where some of the mindfuckery with macros starts :)
User avatar
Andrew Palmer
Posts: 17
Joined: 05 Dec 2020, 17:48

Re: Linking BPM Masters II

Postby Andrew Palmer » 25 Oct 2021, 13:43

Thanks for that. I assumed the IDs would need checking after each upgrade, even for existing shows. It's completely beyond me how backward much of the macro support is. As an ex computer programmer, I can't believe they don't use constants. Don't even get me started on often having to toggle without the ability to set absolute values, lack of variables, loops, control structures, and complete inability to reference objects in a way that isn't dependant on their location!!!
icke_siegen
Posts: 1086
Joined: 02 Jul 2010, 10:29
Location: Siegen, Germany
Contact:

Re: Linking BPM Masters II

Postby icke_siegen » 25 Oct 2021, 14:28

Andrew Palmer wrote:Thanks for that. I assumed the IDs would need checking after each upgrade, even for existing shows. It's completely beyond me how backward much of the macro support is. As an ex computer programmer, I can't believe they don't use constants. Don't even get me started on often having to toggle without the ability to set absolute values, lack of variables, loops, control structures, and complete inability to reference objects in a way that isn't dependant on their location!!!


If you want I'd be happy to discuss a wishlist of things to be improved in the macro engine. not that this would warrant for it being made happen. But as for all feature requests, some real-life examples to illustrate the use and need would possibly help.

Currently my list reads:

  • Command Line Macro Editing
  • Variables
  • Breakpoints
  • this() as reference to the calling handle/handle group. Example: ChangePage(), referring to the handle group (window) where it is placed, see viewtopic.php?f=20&t=5809
  • proper dialogs
  • verbose error and log messages
  • Tags (to group the macros by use case)
  • Makro visible/hidden flag (for 'helper' macros which are used elsewhere but have no use standalone)
  • proper macro folder sync that also detects edited and deleted macros
  • general purpose properties which can be used in custom macros. See Trigger - Toggle Trigger Mappings v10/v11 for a use case
  • refactor existing functions and architecture so that it can be consistently be used with macro functions. E.g. the previousPage() and nextPage() do not work in the workspaces as there is a wrap-around, but no max pages defined
  • some hooks to trigger macros on particular events, e.g. when a page has been changed: <event type=“OnPropertyChanged” propertyId=“Windows.Playbacks.CurrentPage”…

And contributed by another user:

  • I would really like a macro builder type workspace, where you can almost create a timeline where you can drag and drop commands and key presses
  • The other concept i was thinking about in relation to macros and advanced macro editing. Is to give button presses and events a line number like you would in an old basic computer programming language.
  • Then you could introduce conditional clauses.. like queries to a fixture or the state of a toggle switch.. for example you would say IF fixture n intensity is greater than THEN goto line x, ELSE goto line y
User avatar
Andrew Palmer
Posts: 17
Joined: 05 Dec 2020, 17:48

Re: Linking BPM Masters II

Postby Andrew Palmer » 25 Oct 2021, 14:55

All of the above.

However, to avoid reinventing the wheel, I your generalise to say that it just needs a decent macro language with all the usual features, and comprehensive access to the Titan object model (including events). A native editor would be handy, but development of anything fancy would probably need to be on an external IDE. Reboots should be unnecessary.

There may be a need for a cut-down on-board macro facility and a comprehensive API-based one so that any language can be used on any IDE.

None of this is straightforward, and it may be beyond what Avo can do, but anything would be better that the current heap of ****!
icke_siegen
Posts: 1086
Joined: 02 Jul 2010, 10:29
Location: Siegen, Germany
Contact:

Re: Linking BPM Masters II

Postby icke_siegen » 25 Oct 2021, 15:21

I fully understand what you mean. But really, in order to make things happen, the only real way is to list things you need/want and to give examples. I know that this is really an arduous work though.

Who is online

Users browsing this forum: No registered users and 15 guests