Jump to content

Issue with MIDI Chase and multiple CC messages in the event list


DDJJBB

Recommended Posts

Hey all!

 

I'm having an issue with with MIDI Chase when using different CC messages in the even list. I am sending many MIDI CC#43 messages to an external device. The second I introduce a different CC# in the event list then it takes priority over CC#43 no matter the order of the CC# messages when I move the play head (using MIDI Chase). e.g. If I add a CC#35 to the even list, then anytime I move the play head or start or stop the project CC#35 is sent out. Even if I have CC#43 placed after CC#35, then CC#35 is always takes priority. I've tried moving regions to other MIDI tracks to separate the different CC# message, and no go. :cry:

 

Can I use different CC# messages and have MIDI Chase work correctly and only trigger the last CC sent, the CC placed directly before the playhead?

Link to comment
Share on other sites

I'm not entirely sure I'm following. Chase should send all CC events at their current value. So if you have, for example, CC#35 value=60 at bar 5 and CC#43 value=80 at bar 10 and you start playback at bar 15, then both the CC#35 (60) and CC#43 (80) events are sent. I just checked and it works as expected here.

 

Note that CC#43 is normally reserved for Expression (fine) in the pair CC#11 (Expression MSB) & CC#43 (Expression Fine LSB) so if you're not using CC#43 for Expression then perhaps try using another CC number?

Link to comment
Share on other sites

I'm not entirely sure I'm following. Chase should send all CC events at their current value. So if you have, for example, CC#35 value=60 at bar 5 and CC#43 value=80 at bar 10 and you start playback at bar 15, then both the CC#35 (60) and CC#43 (80) events are sent. I just checked and it works as expected here.

 

Note that CC#43 is normally reserved for Expression (fine) in the pair CC#11 (Expression MSB) & CC#43 (Expression Fine LSB) so if you're not using CC#43 for Expression then perhaps try using another CC number?

 

Hi David,

 

Is there a way to have MIDI Chase only send the CC# messages that are in the current region that I set the playhead over?

 

Say I have 4 regions, and in region #2 I use different CC# numbers (43 and 40). I then move the playhead to the 4th region and a CC#40 is sent even though the 4th region does not have a CC#40 in the event list.

Link to comment
Share on other sites

Is there a way to have MIDI Chase only send the CC# messages that are in the current region that I set the playhead over?

No, that's not possible.

 

Okay, thanks for your help. That's a shame. This seems like very odd behavior. Would be nice if apple allowed the user to chase MIDI CC messages per region.

Link to comment
Share on other sites

Could you explain what is it detrimental to your workflow or project? IOW could describe what happen that is causing a nuisance in your situation. Perhaps there is a workaround or a solution to alleviate same...

 

 

Hi Atlas007,

 

Well, I would like MIDI Chase to only send the MIDI CC message(s) that are in the current region where I place the playhead (and send them in the correct order). The current functionality sends all MIDI CC message from all regions no matter where the playhead is placed. If it sent the MIDI CC messages in order then I guess it would be okay, but the messages are not sent in order. So a CC message from a region at the beginning of the song may take priority over a MIDI CC message that is in a region at the end of the song.

 

What's strange is that MIDI Chase works just fine with MIDI PC messages.

 

TIA for any help

Link to comment
Share on other sites

I understand your explanation on how the Chase is currently behaving.

 

But what I would like to know is what the current Chase behavior is causing as a nuisance (to your project or workflow) to be something you would like it to behave the way you wish?

 

In short: what's wrong (concretely in your situation) with the way the Chase is presently working?

Link to comment
Share on other sites

I understand your explanation on how the Chase is currently behaving.

But what I would like to know is what the current Chase behavior is causing as a nuisance (to your project or workflow) to be something you would like it to behave the way you wish?

 

I would like MIDI Chase to only send the CC message that is to the left of the playhead, and only send that one CC message. Not send all CC messages like it currently does.

Link to comment
Share on other sites

I understand your explanation on how the Chase is currently behaving.

But what I would like to know is what the current Chase behavior is causing as a nuisance (to your project or workflow) to be something you would like it to behave the way you wish?

 

I would like MIDI Chase to only send the CC message that is to the left of the playhead, and only send that one CC message. Not send all CC messages like it currently does.

Why?
Link to comment
Share on other sites

 

I would like MIDI Chase to only send the CC message that is to the left of the playhead, and only send that one CC message. Not send all CC messages like it currently does.

Why?

 

Because it is sending all CC messages in every region and sending them out of order. :?

Link to comment
Share on other sites

You haven't explained for what application you would prefer what you describe as your desired behavior? Why does it matter to you that the CC events are sent in order, and only for the current region? Once we understand your application, we may be able to suggest an alternate workflow to experiment with.

 

As for Logic's implementation of MIDI Chase, it follows the standard, expected behavior: all current CC values are sent in no specific order, independently of what regions the CC events are contained in or what positions they have.

 

An example of an application is: I have a soft cello part from bar 5 to bar 11. At bar 5 I have the Expression go down to 35. Within the soft part, I cut up a region from bar 7 to bar 9 to perform some MIDI note editing. During normal playback, that new region from bar 7 to 9 continues playing back with an Expression value of 35 and still plays a soft cello part, as expected.

 

Now I playback another section of the project where the cello plays a loud part with the Expression set to 100.

 

When I now go back and start playback at bar 7 or 8, I am expecting Chase to send the Expression=35 value so that the cello plays soft again, even though it was contained in a region that does not contain any Expression events. With your suggested desired behavior, Chase would be misbehaving, no Expression value would be sent, and the cello would play loud.

Link to comment
Share on other sites

You haven't explained for what application you would prefer what you describe as your desired behavior? Why does it matter to you that the CC events are sent in order, and only for the current region? Once we understand your application, we may be able to suggest an alternate workflow to experiment with.

 

As for Logic's implementation of MIDI Chase, it follows the standard, expected behavior: all current CC values are sent in no specific order, independently of what regions the CC events are contained in or what positions they have.

 

An example of an application is: I have a soft cello part from bar 5 to bar 11. At bar 5 I have the Expression go down to 35. Within the soft part, I cut up a region from bar 7 to bar 9 to perform some MIDI note editing. During normal playback, that new region from bar 7 to 9 continues playing back with an Expression value of 35 and still plays a soft cello part, as expected.

 

Now I playback another section of the project where the cello plays a loud part with the Expression set to 100.

 

When I now go back and start playback at bar 7 or 8, I am expecting Chase to send the Expression=35 value so that the cello plays soft again, even though it was contained in a region that does not contain any Expression events. With your suggested desired behavior, Chase would be misbehaving, no Expression value would be sent, and the cello would play loud.

 

I'm sending CC# 43 (value 0-7) to a guitar processor to load snapshots of saved parameter values. I am also using CC# 40 to emulate the pressing of a footswitch on this guitar processor. So it would be great to be able to place the playhead anywhere and the guitar processor would be in the correct state for that exact position of a song.

 

Thanks for the explanation David. Very helpful!

Link to comment
Share on other sites

I'm sending CC# 43 (value 0-7) to a guitar processor to load snapshots of saved parameter values. I am also using CC# 40 to emulate the pressing of a footswitch on this guitar processor. So it would be great to be able to place the playhead anywhere and the guitar processor would be in the correct state for that exact position of a song.

Oh ok so do they have to be sent in a specific order to the guitar processor in order?

 

Thanks for the explanation David. Very helpful!

You're welcome!

Link to comment
Share on other sites

...

I'm sending CC# 43 (value 0-7) to a guitar processor to load snapshots of saved parameter values.

What you describe here looks like a MIDI program change...

Could you tell us more about your guitar processor is this a software plugin or an hardware device (specifying brand and model would be useful).

 

 

I am also using CC# 40 to emulate the pressing of a footswitch on this guitar processor. So it would be great to be able to place the playhead anywhere and the guitar processor would be in the correct state for that exact position of a song.
Normally that's the purpose of the Chase function, insuring that the most recent value of a given CC (before the playhead position) is actually in force, regardless of regions...
Link to comment
Share on other sites

What you describe here looks like a MIDI program change...

Could you tell us more about your guitar processor is this a software plugin or an hardware device (specifying brand and model would be useful).

 

I am also sending separate Program Change messages. The PC messages are working fine with MIDI Chase, these CC messages are not working correctly. The device is a Quad Cortex https://neuraldsp.com/quad-cortex.

 

Normally that's the purpose of the Chase function, insuring that the most recent value of a given CC (before the playhead position) is actually in force, regardless of regions...

 

That's what I thought too! Especially since this is region automation and not track automation.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...