Helix Native and MIDI control

The linked gig file above uses a script to change the snapshot parameter. But you can likely get away without using a script.

As a first test, add a knob widget and map it to parameter 35 (Snapshot Index). You should see that turning the knob will change snapshots.

I assume you can configure the MC6 switches to send any midi message. If they can only send a value when pushed (and nothing when released) then you could configure each of them to send the same CC number (and learn it to the widget), but a different CC value (which corresponds to the snapshot).

Snapshot Widget Value CC Value
1 0.0 0
2 14.3 18
3 28.6 36
4 42.9 54
5 57.1 73
6 71.4 91
7 85.7 109
8 100.0 127
1 Like

@rank13 Thanks for taking the time to respond. That looks promising. I’ll be experimenting with it today.

@rank13 Update—as I was busy with the aftermath of my recent album’s launch…

OK. Assigning a knob to the Snapshot Index works. So far, so good, that can be useful. But as I wrote in my previous post—2 posts up—what I’m looking for is to be able to change Native’s presets. Reading the Pilot’s Guide of Native again didn’t help, although it says it’s possible. I wish there was a ā€œPreset Indexā€ also included in the mapping menu.

@Vaultnaemsae I was reading the post on this that you posted 5 days ago. Two things… What does ā€œLSBā€ stands for when you write ā€œsend CC#32 (LSB) value 0 for set 1ā€ ? Also, in Gig Peformer, when I try to assign CC#32 it doesn’t allow me. I get this message—see picture…

https://imgur.com/a/T3pqDBT

CC0 and CC32 are MSB and LSB reserved for bank switching so cannot be learned by widgets, as the message says

@dhj Right. So how can it work then? Or I’m missing something. If changing presets can’t be done with a widget, it can be done using what ?

You must be referring to my post on the Jam Origin forum. The information wasn’t specifically related to GP5 or any DAW/host, just to using MIDI to change presets and snapshots in Helix Native. FWIW, you do not need to use the MSB and LSB values (I’d suggest Googling those terms if you’re unfamiliar with them) since once you load a preset in Helix Native, further program changes (without bank selection messages) will select presets in the same bank only.

You haven’t mentioned whether you use Windows or Mac, and what plugin format you are currently using (e.g. VST3). There’s a screenshot earlier in this thread from the Helix Native manual, which specifies which platforms/plugin formats can change presets with a midi message. Otherwise, you will need to use a gig performer rackspace per preset. However you can still get a lot of mileage out out using widgets with fx bypass in Native, particularly with parallel paths in Native that you could toggle between.

@Vaultnaemsae Yes, I was referring to your JamO forum post. And I did read and learned something about MSB and LSB values. Useful.

Now, you write ā€œā€¦once you load a preset in Helix Native, further program changes (without bank selection messages) will select presets in the same bank only.ā€ Right, but I need more info. How is it doen? How/where do I assign further PC messages? I select Helix Native, open the panel then edit, then what kind of widget do I select? Then say I choose a ā€œknobā€, then select Native in the mapping, then ā€œKnob 1ā€, then what?

Right, I’m confused. And still limited in my knowledge.

@rank13 I’m on a Mac, an M1 Pro, and switched Native to AU since it seems that VSTs don’t work in this case.

I’m aware that I could approach this issue differently. I already thought about that—about either using many more rackspaces in GP (but that would mean a lot more for what I’d like to do), or building one massive preset and use widgets to bypass effects or change parameters, which I already tested and it works. But it would be so much more convenient, given what I’d like to achieve, to be able to simply change presets in Native, because that would give me the ability and freedom to pair any of the virtual instruments that I have in separate GP rackspaces with any of the presets I use in Native for my guitar sounds.

I use Native in the Global rackspace, on a path of its own, that I can either blend with virtual instruments or bypass as to only have the instruments play (those instruments are triggered via MIDI Guitar 3, used in standalone, which is linked to GP through a MIDI in (Omni) block in the Global rackspace.

VST and VST3 work fine on Apple Silicon as long as you have Apple Silicon versions of them.

First up. If you ask most people around here they’ll say ā€œuse a Helix preset per rackspace.ā€ There are many good reasons to do this and if you follow this advice your musical life will be vastly happier/easier. MIDI PCs then simply control the top level of rackspace changes in GP5 and you don’t have to worry about a multitude of other issues.

But you might want to do it another way – by sending MIDI PC messages directly to the AU version of the plugin. Don’t over think it. Just send the PC messages into Helix and you’re done and dusted. It just works.

However, the way you send them probably matters. I have mainly acheived this by sending PC data directly from my foot controller to the Helix Native plugin in the global rackspace – just connect the MIDI module for that device to Helix Native. It seems you maybe want to send the PCs via widgets? I know this is possible (because I do it with MIDI Guitar 3) but it might be overkill for your purposes. I set multiple ON/OFF switches (grouped) to send MIDI via an IAC Driver channel. Then, choose target parameter 155 ā€œPC.ā€ All the switches are identical except for the value they send (under the value tab in GP). Use the PC number you want for each + ā€œmā€ to get it to scale properly from 0-127 – it’s represented as 0-100. It just works.

This might be too much for now. I’d recommend start simple and then extend; and keep in mind --there are multiple ways to skin this cat.

Re: knobs and switches – Helix Native reveals only knobs and switches (16 of each category) and five other things as automatable parameters to the DAW/host it’s loaded in – total 37 controllers. You can connect external control events to these at the DAW/host level. Then in Helix Native’s MIDI configuration settings you connect the effects on/off and values. Helix presets are NOT selectable via this system.

@bernarada’s refering to receiving MIDI PC. Only the AU version (or AAX) will accept MIDI PC messages – Helix Native VST2/3 do not have that capability.

hey man. welcome to the forum. It has not become very long and i tried to summarized it with my poor english skills on my head. the colleagues already mentioned some limitations of the VST2/VST3 versions running either on windows or MAC. Maybe if you use AU or the other format you could use the MIDI CC as explained before. I would not recommend this as i prefers VST (more tested in multi platform environment) but is up to you in the end. BUT what i can tell you about the VST3 version of Helix native is that, once that i build my patches and variations, when i was changing between variations with a MIDI controller, sometimes it crashes, even in clear installations and everything being up to date. I was frustrated but then, i tried the VST2 version of the same helix native release (i had to rebuild my rackspaces unfourtrinally) and never had another crash. I guess this was all on Line 6 hands but i never reported it.

In summary. please use vst 2 in case of facing crashing with rackspaces changes via midi controllers

@Josehdx Thanks for input, but the AU version comes up in this case because of how Native works with the particular issue of being able to change presets via PC messages—you can see further up in this thread what @progster posted, which he quoted from the Helix Native’s Pilot Guide.

@Vaultnaemsae I’m well aware by now of the ā€œuse a Helix preset per rackspaceā€ rationale. Or any plugin for that matter. Still, I tried to explain why it would be so much more convenient, in my use case, to be able to simply switch presets in the single instance of Native I have in the Global rackspace. Let me try again…

If it can be done, that scenario would allow me to pair or blend any Native guitar presets I use (say 5) with any virtual instrument that I have in separate rackspaces (say 8). Simply. On the other hand, if I want to achieve the same thing using an instance of Native in each separate rackspace, it would mean that I would need to have 5 instances of Native, each with a different preset—which hardly makes sense. Then I would need to program and use a different bank of my Morningstar MC6 Pro for each of those rackspaces. So with 8 instruments that would mean 8 banks. I could do that, but that would mean a lot foot-work to move between banks and then hit the switch corresponding to the Native preset I want to use. And this says nothing about labelling or having a way to identify all those banks and presets. Now, compared to the first scenario of simply being able to switch Native presets in the Global rackspace, well, this is a.. nightmare. Or something.

Back to being able to change presets, I spent some time in the Line 6 forum to see if there was a solution there. What I found is that over the years, and up to now, nobody has been able to do it, in spite of Line 6 claiming it can be done. People have been actually complaining about the limitations of Line 6 MIDI implementation for Native. Yes, one can bypass it, switch snapshots, bypass plugins or change their parameters, but that’s it. Changing presets? Doesn’t look like it’s possible. Which brings me to what you wrote…

ā€œJust send the PC messages into Helix and you’re done and dusted. It just works.ā€ OK. Great news. But I can’t follow what you wrote. There are too many gaps.

Which ā€œMIDI moduleā€? Where ?

I’m open to that—I’m open to any way that would allow me to change presets in Native.

OK. Multiple switches. I get that. ā€œGroupedā€? What’s that? And ā€œto send MIDI via an IAC Driver channelā€. OK, I can create an IAC Driver in the Audio MIDI setup, but how do I connect those 2—the grouped switches and the Driver? How does that work? How do I actually set the switches to send MIDI via the IAC Driver channel?

OK. If I get that far, I could do that—send a PC message #155—if that’s what you mean. And then assign values. But I don’t understand what " Use the PC number you want for each + ā€œmā€ to get it to scale properly from 0-127". For each + ā€œmā€ ?

And finally…

No joke. And probably this might be too much for you. I guess what I’d need is a walk-through video. But that’s another story.

Conclusion? I don’t know. At this point, unless some miracle happens—and I’m open to that (ā€œBe realistic, plan for a miracleā€, as someone wisely had it)—it looks like my best bet is to build the most massive preset I can build in Native, and then either use snapshots, or switching effects on and off, or a combination of both, to achieve something close enough to using separate presets. Or I have to rethink about how I could use Native in every rackspace in a way that, possibly, would work for me.

The basics behind using PC to change a preset in a plugin are this:

  • you connect a MIDI In block to your plugin
  • you add a widget (let’s say a dial widget for this example)
  • you map that widget to the PC parameter of the MIDI In block
  • if you want to control that widget from an external controller, map the controller to the widget.
  • Now when you turn the dial, the PC number is sent to the plugin and voila.

You can accomplish this in many different and nuanced ways, as @Vaultnaemsae pointed out, but this is the most basic way to get PC messages to your plugin. As you learn more about GP operations, the other solutions will become more apparent to you and you can apply that knowledge to customizing the process even more.

4 Likes

@edm11 Simple and to the point. I like that. Thanks. One question… Well, a few.

While I’ll experiment, the first is I’m wondering to what it will correspond on the side of Helix Native. In Native, in a given preset, in the ā€œautomation/controller assignā€ window you can only assign CC messages to control the effect blocks. Then how is PC #155 linked to it? You write ā€œNow when you turn the dial, the PC number is sent to the plugin and voila.ā€ OK, but voilĆ  what? What does it do?

And how do we move from one Native’s preset to the next? Are we saying that there’s a way to move this dial widget linked to Native in such a way that it changes presets in Native, because it’s somehow programmed to do that? If so, how?

Sorry, but I’m not going to be much help regarding the particulars of Helix Native because A) I don’t use the plugin, and B) I’m on Windows, so even if I did, the VST and VST3 versions don’t respond to CC/PC for preset changes. Only AU on the Mac version does. Helix Native is kind of an oddball plugin.

There is no such thing as PC 155. PC has a scale of either 0-127 or 1-128. There may be a ā€˜preset#155’ in Helix, but that’s not the same as a PC MIDI message.

That’s a question for the Helix forums. Once you get more information about how that’s supposed to work, then you can apply that to GP. Describe your setup there and what you’re wanting to do, and/or look through their forum for others with similar questions

He is talking about the host parameter number 155 of a MIDI In block which generates PC values

1 Like

@edm11 As I wrote in a previous comment, I spent time in the Line 6 forum, and it didn’t help. Many brought up this issue, and no one knows how it can be done.

@dhj Right. And that there’s such a thing as #155 in GP parameters is the only hint, so far, that it can be done. @Vaultnaemsae also mentions it. That might be where the solution lies, with somehow programming various ā€œvaluesā€. And maybe the issue I bring up about what needs to be done on the side of Native is irrelevant. Maybe nothing needs to be done there, and anyway it only responds to CC messages.

I’ll keep fiddling around with the data people provided so far, and who knows, maybe by some stroke of luck it’ll suddenly work. Or some more clarification will come from someone.

No, that doesn’t mean it will work. If you connect a knob to that parameter, it will certainly send a PC message out but there is no guarantee that the plugin will respond. Some work (e.g. Kontakt) and some don’t.

1 Like