MIDI PC and CC for external devices

For current or would-be users of Apple Mac computers, with answers to many FAQs.

Moderator: Moderators

Post Reply

MIDI PC and CC for external devices

Post by BigRedX »

I used to be able to do this easily in Logic 4, but everything seems to have changed with Pro X and I can no longer remember the correct terminology to look up what I want in the manual.

Since Logic already provides the drums and second synth for my band's live set I thought I would also use it to automate the program changes for my Helix so that I'm not glued to the device when we perform.

I use a "preset" for each song and "snapshots" for changing effects within a song (the recommended way of doing things). A "preset" is called up by a Bank Select command (CC32) and a Program Change number. Each "snapshot" is selected by sending the a CC value 127 for the relevant foot switch (in my case 55, 56, 57 or 58 for the 4 Snapshots within a Preset)

So my first song starts with Bank 2 Program 0 Snapshot 1 (CC55 = 127), and I create a MIDI region with these events in it. When I reach the chorus the Helix should change to Snapshot 2 (CC56 = 127), and for the solo snapshot 3 (CC57 = 127). I have created the regions with the relevant MIDI commands.

When I play the song from start to finish all my preset and snapshot changes happen in the correct place. However if I pause the song when I restart the Helix reverts back to the settings for the start of the song, irrespective of where the position cursor is in the song.

So I have two questions:

1. How do I ensure that if I start somewhere in the middle of the song the Helix will pickup the last CC message in the time line for the correct snapshot rather than defaulting to Snapshot 1. I'm sure that this used to be called something like "catch up" but that appears to mean nothing to Logic now

2. Is there any way of getting the Bank, Program change, and correct CC for my chosen first snapshot (usually CC55 = 127) to send automatically on opening the song rather than having to start the song playing?

Thanks!
User avatar
BigRedX
Frequent Poster
Posts: 2271 Joined: Fri Sep 03, 2004 12:00 am
RockinRollin' VampireMan

Re: MIDI PC and CC for external devices

Post by muzines »

BigRedX wrote: Mon Nov 28, 2022 10:26 pm I used to be able to do this easily in Logic 4, but everything seems to have changed with Pro X

Hmm... quite often, less has changed than people think, usually the old stuff still works that way, but newer/better ways for many things have been added along the way.

BigRedX wrote: Mon Nov 28, 2022 10:26 pmWhen I play the song from start to finish all my preset and snapshot changes happen in the correct place. However if I pause the song when I restart the Helix reverts back to the settings for the start of the song, irrespective of where the position cursor is in the song.

Ok, so you need to "chase" program changes.

BigRedX wrote: Mon Nov 28, 2022 10:26 pmSo I have two questions:

1. How do I ensure that if I start somewhere in the middle of the song the Helix will pickup the last CC message in the time line for the correct snapshot rather than defaulting to Snapshot 1. I'm sure that this used to be called something like "catch up" but that appears to mean nothing to Logic now

No, it was called chasing events in Logic 4 (actually from Logic 1.x!), and it still is, and still works the same way. I'm not in front of Logic right now, but look in your projects settings / MIDI section and make sure chasing is checked for program changes (and CC's, if you're sending bank selects):-

Project Settings -> MIDI -> Chase

BigRedX wrote: Mon Nov 28, 2022 10:26 pm2. Is there any way of getting the Bank, Program change, and correct CC for my chosen first snapshot (usually CC55 = 127) to send automatically on opening the song rather than having to start the song playing?

In your track inspector, select the starting program/bank change. You can insert one of these at position 1 1 1 1 too if that helps the behaviour. There's a project setting to send program changes when the project loads:-

Project Settings -> MIDI -> General -> Send After Loading Project: Used instrument MIDI settings
User avatar
muzines
Jedi Poster
Posts: 12203 Joined: Tue Jan 10, 2006 12:00 am
..............................mu:zines | music magazine archive | difficultAudio  | Legacy Logic Project Conversion

Re: MIDI PC and CC for external devices

Post by BigRedX »

Thanks!

My problems with Logic stem from the fact that I essentially went from Logic 4, which I knew almost inside-out, to Logic Pro X with a very little bit of Logic 8 and 9 use in between. Therefore I've missed out on all the incremental changes, and in many ways the current interface is rather alien to me.

Your advice has sorted out the program change on project load, but has not fixed my lack of chase problem. It turns out I already had all the relevant chase events turned on:

Image

However the Helix reverts back to Preset 1 Snapshot 1 as soon as I hit the space bar to pause playback. I've discovered the problem is that the "patch change" for the Helix is made up of 3 parts - Bank select, Program Change and CC55-58 to select the Snapshot within the Preset.

So with Chase on and Program changes being chased, every time I pause or start playback in Logic in goes to the last Program change (which is the one at the beginning of the song) and applies that. Because there is a default Snapshot within each Preset (program) which in most cases is Snapshot 1, because my OCD is like that, it also switches to that.

Then because of the way the Snapshots are selected:
Snapshot 1 = CC55 to 127
Snapshot 2 = CC56 to 127
Snapshot 3 = CC57 to 127
Snapshot 4 = CC58 to 127
Chase won't override one snapshot message with another so it sends all the ones that have been used at the point where I restart the song and the Helix appears to interpret this conflicting information as "select Snapshot 1".

So for the moment I have Chase Program Changes and CCs switched off, so at least when I pause a song it stays on the last Preset and Snapshot selected. For the moment this will do me.

Is there some way in the environment of creating a filter that will remove the unwanted Snapshot CCs so that only the last used of CC55-58 is sent?
User avatar
BigRedX
Frequent Poster
Posts: 2271 Joined: Fri Sep 03, 2004 12:00 am
RockinRollin' VampireMan

Re: MIDI PC and CC for external devices

Post by muzines »

Yer, some MIDI devices have annoying behaviours sometimes...

BigRedX wrote: Tue Nov 29, 2022 2:44 pm Is there some way in the environment of creating a filter that will remove the unwanted Snapshot CCs so that only the last used of CC55-58 is sent?

To let some through, but not the most recent one? The MIDI stream doesn't really work like that, you get events, and can process or filter them, but you can't easily determine "this is the most recent one" and not let it through, but keep it, because if another one comes through, you want to retransmit the previous one we didn't let through, and not this new one, which is not the most recent...

It's quite possible I'm not really understanding exactly what you need to do, and while you can rig up things in the environment with a kind of pseudo-memory to do more sophisticated things, that's not trivial.

If you have coding chops, you'd do better rigging up some Javascript in the scripter plugin to have more intelligent behaviour, but then you have to route your MIDI track (which has the program change behaviours) to a separate software track with a Scripter plugin... basically, the more clever you need to be, the more complicated the setup becomes, and you have to trade off "Good enough" with the effort and complexity of making it work exactly as you need.

I don't really know the exact snapshot behaviour, but maybe it's easier for the programs you are using in the song, to edit your patches used for sequencing so you're always using Snapshot #1, and can thusly just recall them with a simple program change, and avoid all the pfaffing around with figuring out which snapshot to send..?
User avatar
muzines
Jedi Poster
Posts: 12203 Joined: Tue Jan 10, 2006 12:00 am
..............................mu:zines | music magazine archive | difficultAudio  | Legacy Logic Project Conversion

Re: MIDI PC and CC for external devices

Post by BigRedX »

What I wanted was the exact opposite of what you said, but as you pointed out it's getting far to complicated and I'll probably be better off trying to get Line 6 to include an option to change how the Helix responds to MIDI messages for Preset and Snapshot selection. If the 4 snapshot footswitches were set to the same CC but each one used a different range to respond to, that would work better for my needs.

On the Helix you use snapshots to change effects settings within a song because it does so in a glitch-free manner. Essentially you set up a patch with all the effects that you want to use in a Preset, and each Snapshot switches the various effects on and off and can also change a number of effects parameters.This also allows reverb and delay tails to be maintained as you changes sounds in a song. Using a Preset for each sound results in an audible glitch no matter how carefully you place the program changes.
User avatar
BigRedX
Frequent Poster
Posts: 2271 Joined: Fri Sep 03, 2004 12:00 am
RockinRollin' VampireMan

Re: MIDI PC and CC for external devices

Post by muzines »

BigRedX wrote: Tue Nov 29, 2022 3:08 pm What I wanted was the exact opposite of what you said

Ok then.

BigRedX wrote: Tue Nov 29, 2022 3:08 pm On the Helix you use snapshots to change effects settings within a song because it does so in a glitch-free manner. Essentially you set up a patch with all the effects that you want to use in a Preset, and each Snapshot switches the various effects on and off and can also change a number of effects parameters.This also allows reverb and delay tails to be maintained as you changes sounds in a song. Using a Preset for each sound results in an audible glitch no matter how carefully you place the program changes.

I'm not saying the feature isn't useful, I'm just trying to suggest other workarounds to it's default behaviours which are not working for you that may or may not be useful. I don't know how you are using the device and what you exact needs are, so when I make suggestions, you'll need to bear in mind I'm not inside your head so I can't qualify those to your exact needs before I make them.
User avatar
muzines
Jedi Poster
Posts: 12203 Joined: Tue Jan 10, 2006 12:00 am
..............................mu:zines | music magazine archive | difficultAudio  | Legacy Logic Project Conversion

Re: MIDI PC and CC for external devices

Post by BigRedX »

I've just delved a little deeper into the MIDI spec for the Helix and it appears that CC69 is used to switch between snapshots using values of 0-7 for the 8 available snapshots (which will also give me access to the 4 snapshots that aren't normally available on the footswitches in the mode I use). Hopefully that will do what I need and I just need to have chase for CC69 switched on and chase for program change turned off.

Thanks for your help.
User avatar
BigRedX
Frequent Poster
Posts: 2271 Joined: Fri Sep 03, 2004 12:00 am
RockinRollin' VampireMan

Re: MIDI PC and CC for external devices

Post by BigRedX »

And it works!

Sometimes just posting a problem and bouncing ideas off other members here is enough to make you look properly at the problem and at least work out why it's going wrong, and hopefully come up with a fix!
User avatar
BigRedX
Frequent Poster
Posts: 2271 Joined: Fri Sep 03, 2004 12:00 am
RockinRollin' VampireMan

Re: MIDI PC and CC for external devices

Post by muzines »

Indeed. In the previous message, I had actually starting typing out "Does the CC alone switch snapshots, or does it always require a PC message" which would have got you going in that direction, but I deleted it as I wasn't sure you wanted to continue with the troubleshooting process... anyway, glad you've got something workable. :thumbup:
User avatar
muzines
Jedi Poster
Posts: 12203 Joined: Tue Jan 10, 2006 12:00 am
..............................mu:zines | music magazine archive | difficultAudio  | Legacy Logic Project Conversion
Post Reply