[solved] Macro behaving inconsistently

When this macro behaves as intended, it dumps the RetroRecord buffer at the end of the current track, separated by a bar from the previous take. The trouble is, it doesn’t always work as intended:

Macro “RetroRec Sequential” (KC: Pause/Break)
Select All on Tracks
Transport - Locate Selection End
Transport - Step Bar
Transport - Retrospective Record (independently on KC: Shift-Num*)
Edit - Select Events under Cursor (so I can delete the take)

You will need: an empty MIDI Track, armed and receiving MIDI (in my case from a piano).

Repro 1:

  • Play in some MIDI, press Break, nothing happens (no event created nor error message received).
  • But… execute RR outside the macro (Shift-Num* for me) creates an event as expected.

Repro 2:

  • Start with an empty part on the track.
  • Now it behaves straight away - more or less.

Once you’ve got the thing going using either of the above, where the next part appear is inconsistent:

  • Try it with some short notes (less than a bar) and some longer ones.
  • Some parts are a bar apart, some appear flush with the previous part. I haven’t detected a pattern yet. I have had situation where the new part was created over the top of a pre-existing part. The pre-existing part got selected as a result and I inadvertently deleted it. Luckily I was able to retrieve it - this time.

So, 2 questions:

  1. The macro seems to fail on the Select All, which doesn’t make sense. I know there’s nothing there to select but why would it abort the macros as there must be plenty of situations where you want it to continue regardless.

  2. Why do the events space themselves so unpredicatably? Including overlapping.

Is it my programming skills or something else? Perhaps there’s a better set of commands to use I haven’t spotted yet. It’s important for me to get this working as it allows me to noodle away and save good ideas without having to rush over the computer and break the flow…

Sometimes with macros you need to add nothing commands that act as pauses between used commands. Nothing commands can be Stop, Toggle Punch-in/ out, etc.

Nice idea, Nate, thanks for that. It’s certainly made a difference, although not completely sorted it out - the gapping is still wayward, although it now will dump the buffer onto an empty track, which is a big step forward because in the process of looking for “nothing” commands I came across “Go to End” and now have this as the basic Macro:

Go to End (seems to guarantee that the buffer will dump on an empty track)
Step Bar
Retrospective Record

Now, I did try dup/triplicating the “Go to End” command and it did seem to stop the overlapping but not the occasional skipping of the gap. I’ve also tried that command after RR (4x) but the results are not convincing me that I’ve nailed the problem. “Stop”, as another “nothing” didn’t help. It’s still very unpredictable.

Something else odd. One time I edited the Macro, Reverted the project rather than just delete the parts I’d created but the Macro came back in it’s unedited form. Does that mean there’s been a delay in writing it?

Another oddity: occasionally (a word that used to make my heart sink when I was a dev) RR creates an event up to where the cursor had been before I reset it to the origin (using the . key).

And now, without resetting the cursor first, it’s just created an event up to bar 643! The cursor’s never been anywhere near there, it’s off the screen.

This is bizarre, I need a break.

Sometimes you need to put a few together to get a long enough pause.

Yep. I’ll give it another go in a bit. Thanks for the pointers, Nate.

Right, got the bar steward! I put in an even no of Punch In commands and it seems to be working fine. Thanks again for the pointer, Nate. The final version is:

Go to End (seems to guarantee that the buffer will dump on an empty track)
Step Bar
Auto Punch In (x10, just to be sure!)
Retrospective Record

The commands to select the added event proved unnecessary.

…and still working this morning! :open_mouth: :slight_smile: :smiley: :sunglasses: