Application logic for chasing MIDI control events

Hi team,

when applying the logic for chasing MIDI control events, there is a particular scenario where I get behavior that I didn’t expect and this regardless of the Chase Event On Start preference setting.

Let’s imagine we have a single midi track, with channel set to Any, in which the control events are present:

[0001.1.1][STATUS=Controller][CHANNEL=1][DATA 1=xxx][DATA 2=yyy]
[0001.1.1][STATUS=Controller][CHANNEL=2][DATA 1=hhh][DATA 2=kkk]
[0003.1.1][STATUS=Controller]…

if I move to position 0002.1.1 in the timeline, I would expect both events to be sent (at start or not depending on the Chase Event On Start preference) positioned at 0001.1.1, as these events are positioned on different channels, instead what happens is that it seems only the event positioned in the list as second is sent.

In fact also in the scenario:

[0001.1.1][STATUS=Controller][CHANNEL=1][DATA 1=xxx][DATA 2=yyy]
[0001.1.2][STATUS=Controller][CHANNEL=2][DATA 1=hhh][DATA 2=kkk]
[0003.1.1][STATUS=Controller]…

positioning myself at 0002.1.1 in the timeline, I would expect both events to be sent as these events are the last for the respective channels present before the new position selected in the timeline but instead it seems only the one placed at 0001.1.2 is sent.

Am I doing something wrong in my reasoning or is there actually something wrong in the algorithm that implements the application logic for chasing MIDI control events?

We’ll check!

1 Like

You are correct, sorry. Multiple MIDI channel events are not chased correctly; will be fixed with the next version, thanks for reporting!

2 Likes

Hi @musicullum,

I have re-tested the logic involved and I would say that now the management of MIDI control event chasing works great! :slight_smile:

Thanks as always for the support and all the work done. :blush: