Halion 7.6 more Feature requests >

  1. On the slot Rack page, please give us an actual BYPASS button. Which would mean
    all notes off, and all processing bypassed on this slot. Please let this button be
    assigned to Automation and perhaps a Quick Control knob!

  2. On every slot, please give us a nice midi Velocity Curve applet. Hopefully
    you could give us multiple break points for this curve

  3. On the Mixer Page, please let effects knobs (i.e. Reverb mix level), be assigned to
    a Quick Control knob.

  4. H7 needs a nice dedicated Auto-Panning effect!

Thank you guys for listening!!! :slight_smile:

MUTE does this I believe. While your MIDI input indicators flash if MIDI tries to come in, the layers beyond shouldn’t be processing anything or chewing up CPU cycles.

If you wish to automate muting there are several ways.

You can mute an entire slot via VST automation. Such parameters are registered with the host as S# Mute. I.E. S1 Mute links with the Slot 1 MUTE button. S2 Mute for slot 2, and so forth.

At the top most slot level, you should find that the main mixing parameters for each slot are already registered with the host.

If you need access to specific effect parameters that don’t get automatically registered as an automation parameter in your host, simply right click the control and add as a new automation parameter, at which point it should register in your host.

And now it’s registered in the DAW for VST automation.

You can bind such parameters to QC parameters.

If you’re not using a VST host, but rather working in ‘stand alone’ mode, or have some other need for MIDI control over the parameter, you can also learn a MIDI CC and link it to the Mute Parameter.

One way get to some of the options surrounding the MUTE and SOLO buttons in the Slot column.

First select an instrument slot so it highlights, then right click the control up at the top of the GUI to see functions surrounding that button.

Another way is to right click a control in the Mixing Tab.

Be aware that if you register extra VST parameters, or learn any CCs to parameters at the Slot level they’ll be forgotten unless you save a Multi-Preset.

Note, you can also mute any individual layer over in the Program Tree. Things you bind from the ‘program level’ down can be saved with regular program or layer presets.

To automate muting specific layers (which in turn mute all of its child layers):
Open a Sound Tab
Select the layer in the program tree
Right click the speaker icon in the top right of the Sound editor
image

Now you see various methods to automate muting this specific layer. You can register the parameter with the host, bind the ‘mute’ control to a QC, or even learn a MIDI CC.

You get this ability for each and every ‘layer’. Each layer of a program may have its own independent velocity curve. Pick a layer/node in the program tree. Parent level velocity curve settings affect all child layers, and it’s even possible to nest different velocity curves for children within a layer.

Again, look in the SOUND tab, and you get a range of basic velocity curve presets to choose from.


If you need a more customized velocity curve than these basic presets provide, then set the base as linear, and use a MIDI Modifer hosted within the parent layer that you need it for.


With this special MIDI Mod applet, you can click on that graph to add points, and build complicated curves. (Note, in this case I started with a Sonic preset, so I needed to disable HS compatibility mode to drop in this MIDI module.)

VST Parameters can indeed be registered with the host for all Mixer Settings at the ‘slot level’. Again, right click the control…


Once again, remember that any CCs you learn at the top most SLOT level is forgotten unless you save a Multi-Program preset.

At slot level, the basics like Mute, Solo, Pan and Volume are usually already registered with a host. They will respond to CC 10 (Pan), CC7 (Volume), and if you have AUX Sends loaded in a slot, those should register and respond to CCs 91 - 94.

Quite often it might be better to bind things at a layer or program bus level.

Notice that the program I have loaded in Slot 1 consists of several different ‘busses’.

In this case things have been routed so all the child busses mix upward, with the final stop being at SLOT layer.

You cannot register a ‘slot level’ mixer control as a QC, but you CAN do it from any program level bus by right clicking the control.

With that in mind, be aware that if you want any automation bindings to save as part of a program or layer preset, then register things at one of the Program Bus levels rather than at the very top Slot level.

Also on Quick Controls. Every single layer in your program tree can have an independent set of Quick Controls. You can register any of them as a parameter in your DAW, learn a CC for them, and you can even link one QC to another, or even to entire sets of QCs.

There are quite a few panning effects available. I’m not sure exactly what you mean but a few off the top of my head include:
The ability to pan based on MIDI note.

I.E. lower notes on the keyboard pan left, as you play higher and higher, they shift toward center, then towards the right as you play even higher. There is also Random Pan, and Ping Pong or Alternate pan.

It’s also possible to assign an LFO, or User Envelopes to a PAN parameter.

It should also be possible to build a panner based on key velocity without too much fuss.

With unlocked layers, you can also go in and hard pan, or run independent panning amps for each individual sample or synth layer if so desired. It’s also a possibility to clone layers and introduce ‘mega trigs’ to ‘round robin’ layers with different panning scenarios in the works.

Last but not least, you also have the ability to drop in LUA Scripts. People here in the forums will help you learn. These are very powerful! These days you don’t need to be a LUA wizard to start making scripts. Several AIs that are free to access and use can generate working scripts with a bit of practice learning to describe to the AI what you need.

Here’s one example of one I asked Chat GPT to build for me the other day. It took about 10 minutes and 3 tries.

Ok thanks for the detailed explanations! I was thinking there has to be some

work-arounds for some of these things that I’m not seeing!!

Again, thank you Brian R.

Try not to get discouraged. HALion is a very deep instrument. It comes with documentation that is very ‘constructivist’ in nature. It’s not like the old cognitive manuals that started with a chapter priming you on MIDI, synths, samplers, the history and evolution of it all, with step by step tutorials to ‘get started’.

It’s more like…fiddle around, look at some of the unlocked content and see what what was done there. Hmm, what is that button for? Poke searches into the online searchable manual, and hopefully you get a match explaining ‘what that button does’.

So, since we live in a world of software documentation that is dominated by constructivist learning theory, don’t hesitate to learn like constructivists! Come to the forums, explain a bit about your ‘vision’ in plain English, and ask for help :slight_smile:

Here’s a few cognitive nuggets that might help a HALion newbie understand the basic structure and design philosophy behind HALion.

Think in terms of ‘layers and zones’. The hierarchy of HALion goes something like this:

Grand Daddy = Base Slot Parameters, Plugin OPTIONS, State of the top most level of Mixer Busses.

Polygamist Daddy = The top most Layer in the Program Tree. Daddy should contain at least one Audio Bus, and at least one Mother node. If the program is to be converted at some point into a Sonic compatible program, it should also have at least one Trigger mod, and at least one FlexPhraser mod.

Mothers = Parent layers for your master layers. If you’ll be exporting a full program preset compatible with the Sonic Player, you MUST have 4 Mother nodes (even if some are unused and contain nothing but a Flexphraser and an Audio Bus), and each Mother node should contain an audio bus. If the layer, or the entire program is to be exported at some point into a Sonic compatible preset, it should also contain at least one FlexPhraser, and a Trigger mod is recommended. If you don’t intend to make a program that is Sonic Compatible, having a Flexphraser is optional, and there are no limits to the number of Mother layers. You can have just one, or you can have as many Mother layers as your hardware can handle.

Children = Any layers residing within the Mother layers. Typically you’ll have at least one Child layer inside a functioning Mother. This is usually where you’ll begin setting up ‘zones’. In this screen clip, we see a ‘locked’ child layer named “Aged Suitcase”. Since this is a factory locked layer, we can’t explore any deeper to see how this electric piano was designed, and beyond the quick controls the instrument designer gave us, there’s not a whole lot that is ‘obvious’ we can do to it. However, you can move it into a new child node, and then you’ll get a whole new Amp/Filter section, another set of quick controls, plus a bit. You could also import other layers that’ll live and play along side the piano. So, the good news is…even if some of the factory content has ‘locked layers’, you can still get very useful stuff out of them for your own custom sounds. In particular, Drum Kits. I.E. Say you have a locked kit that you’re happy with other than the snare. You could use a mega trig to filter out the snare from one layer, then fashion your own snare, or filter it in from yet another ‘locked’ drumkit.

MAPS = The best example here is when you lay out a set of samples to be triggered by a given note, or range of notes, within a specified velocity range, etc. There are a number of ways to generate maps. At the base level you can set groups for zones for things like round robin effects. You can also take short cuts to quickly map out layers into ‘logical maps’ using ‘Conditional’ modules, or LUA scripts of your own design.

ZONES = This will be the nuts and bolts of your sounds. Each sample of sampled instrument is technically a zone. Any given instance of a synth engine. Technically, zones can live in any layer from the Mother on down.

THE GRAND DADDY

The Grand Daddy, top most layer is the global and slot level. At the top most level, think of each ‘slot’ kind of like an independent instance of HALion.

Global settings are more or less the things that apply to all slots in a plugin instance, I.E. the stuff in the ‘OPTIONS’ tab.

Next in the grandaddy top level is the series of parameters you see in the Slot rack:
MIDI Port and Channel input, Master volume. Master Pan, Mute/Solo, a top level set of 4 Aux Send busses, and any effects or sends hosted at the very top bus on the mixer. All of this very top layer applies across all of your SLOTS in one go.

Anything you do at this top most level, if you want such settings to be preserved for future use, you must save as a Multi-Program preset.

This grand daddy level is also the primary portal for all forms of input and output for the entire plugin. By default the primary parameters for DAW automation at the Grand Daddy layer automatically register with the host when you start an instance of HALion. Before you even load anything into a slot, you can take a peek at all of the parameters that get registered by default by clicking the blue square at the top right corner of a HALion Instance and choose ‘Switch to Generic Editor’


There you have the bulk of the Grand Daddy level parameters that get registered with the DAW by default. Also at this level, anything you want preserved for future recall among these parameters (plus any other plugin wide globals) must be saved as a Multi-Program preset.

I’ll right click that space again and put it back to our glorious HALion interface: ‘Switch to Plugin Editor’.

Before we work our way down the rest of the hierarchy (In the Program Tree), lets take a look at one of the most complex Multi-Plugins in terms of showing off the raw capabilities of Slot and Global level parameters.

I’ll go to a Media Bay tab and filter for Multis, and locate then double click to load this preset:
General MIDI Multi

This Multi sets up 16 empty program slots, set to receive from port A, MIDI Channels 1-16. Channel 10 already has a GM Drum Kit loaded, and a filter set for channel 10 to ignore Program Changes as per GM 1 standards.

Over in the OPTIONS tab, it establishes a number of settings that help turn this instance of HALion into General MIDI compliant player. I.E. Accept Program Changes, Accept RPN 1/2 events. How CC121 (reset controller) should behave, and base total polyphony of 128 voices before ‘note stealing’ occurs, etc.

On the Mixing Console, we can see that grand daddy Aux Sends are already set up for each Port 1 slot (The first 16).

If we look at the AUX busses, we can see that a Reverb is already loaded on AUX1, and a Chorus is on AUX2.

If we look at the Program Table, we can see a list of 128 instrument presets, all arranged in accordance with the General MIDI standards.

Alas, this Multi-Program has turned HALion into General MIDI file player. The main volume of each slot responds to CC7, Pan CC10, Expression CC11, 2, or 4 , Reverb send CC91, Chorus Send CC93. Sustain works.

I’ll import a General MIDI SMF into my DAW as MIDI tracks, connect their end points to my HALion instance, tap play, and whatta ya know? The proper instruments load and the song plays…

Everything we’ve covered so far lives at the top most ‘Grand Daddy’ level of HALion’s hierarchy. The ‘slot level’ settings (Slot Rack and Top most Mixing console setup, the status of the AUX send busses, the main audio busses, the Program Table, tweaks made to the OPTIONS tab.

For what it’s worth, here’s a GM Preset where I modified it to handle up to 128 tracks (16 over each MIDI port, so it’s more like 4 GM players tied together.
My GM H6.vstpreset (1.0 MB)

I’ve written enough for now and it’s time to take a break. I’ll try to come back and go more in depth on working with that Program Tree. We’ll deep dive into some common instrument designs, and explore how HALion keeps up with ‘parameters’, and a few of the countless ways you can explore them all and manipulate them.

I’ll leave you with one last thing to ponder until my next installment.

Think of HALion as a giant wall hosting nothing but ‘knobs’. Anytime you turn one of those knobs it stores a value in a giant spread sheet. Ultimately, it’s practically unlimited in how you can teach all of these knobs to interact with your performance input, and also with each other.

At the end of the day, this is why HALion has this bizzare GUI with endless sliding frames, sizing and pop-out abilities that you can customize in countless ways. You can look at all sorts of things and see how they interact, copy and paste values among the different panes and windows, or even condense things to GUI that’s little more than a list or table full of knobs and values. The more you learn your way around what HALion can do, the simpler your GUI can become. In time you’ll understand ways to manipulate many zones in one go with a single control if so desired.