Logical Editor's limits

I face a problem using the Logical Editors (both Midi and Project version) :

Currently there are a lot of “IF” availables:

IF this1 and this2 OR this3 and this4 etc.

BUT only limited branching to different “THEN” as in a theoretical :

IF this1 OR this2 OR this3 AND this4 THEN that1 that2 that3 that4

What I mean is there is no:

IF this1 THEN that1 OR IF this2 THEN that2 OR IF this3 then that3

I tried overcoming the issue with separate presets :

preset1: IF this1 THEN that1
preset2: IF this2 THEN that2
preset3: IF this3 THEN that3
preset4: IF this4 THEN that4

and then by running them within a Macro:

Macro1 = preset1, preset2, preset3, preset4

My issue is with the Output which is then difficult to gather easily :

The COPY action will extract to a separate midi track per preset : 50 presets within a Macro = 50 tracks.

If instead I use the TRANSFORM action to avoid making new tracks, then I don’t know of a possible way to help the next Logical Editor Preset triggered within the same Macro to distinguish original Data untreated by the previous Presets from Data outputted by the previous Logical Editor Presets within the same Macro.

I tried a linear approach, loop running a full macro for each event, but there is no stable way to move from one event to the next (my number of events is not always equal depending on the conditions, which I adress by prefiltering the DATA which needs this multiple attention using another Macro with several presets instead), even using Cursor Locations as additional IF conditions and incrementing them once per Macro because then Cubase crashes.

To sum up the problem:

COPY and you have multiple tracks,
TRANSFORM and the next preset won’t know you’ve already adressed the data,
Have a linear conditional criteria within every Preset that is incremented once per Macro that you loop run and Cubase will crash.

In the Logical Editor’s “THEN” section, I wish there was an :

  • COPY to track fixed Track ID option, or a
  • DESELECT Transformed DATA

or even better, the ability to CREATE as much IF groups and THEN groups as wanted within a single
Logical Editor Preset.

Do you have a solution in mind ?

I’d suggest you post some screen shots of your Logical Editor attempts and the results you got, vs. what you want to have happen. Others around the forum are very expert at using the Logical Editors and might be able to help you get things working better. Good luck.

The original poster seems to have assessed the situation correctly… The Logical Editor can only perform actions on a single (group of) target criteria. Without completely rewriting it from scratch, the closest feature request would be to have the possibility of several Logical Editors in parallel (so that each has the same, non-transformed source data). Of course, in that case, you’d have to make sure that each Logical Editor didn’t have exactly the same target criteria, so that there would be no conflict amongst their associated actions.

Vic, I remember a previous post where you and Brian Roland covered this single-process aspect of the editors. I’ve still got a long way to go and find it useful and interesting to see how other people go about things.

Of course, I, too, wish that the Logical Editor could have multiple branches, but the reality is that, from what I have seen elsewhere, Cubase already has the best Logical Editor of any DAW out there (there are surprisingly numerous… expensive :wink:… DAWs that don’t have any such function at all! :slight_smile:.

Some of the clearest composing strategies are not slowed down by hesitation but by incredibly tedious manual application of their principles. You can then easily become obsessed with automating any part of it that can be.
I’m looking forward to the Logical Editor turning into a less frozen interface.
Kids nowadays have Scratch to learn how to code
Close enough building blocks inside Cubase’s Logical Wizard Editor would be an immense blessing.

You may want to try the Transformer which is a MIDI insert that works on the the output of the track into the “instrument”.
You can do about the same on the way in for real time processing by using the Input Transformer which has four modules that may do what you want.
Maybe you tried that already?

Thanks for the suggestion, that’s very nice of you :slight_smile: I could chain midi-thru tracks, like good spirited ghosts, but it wouldn’t help. The lack of true realtime is not really a problem here as I don’t mind pressing a button and waiting a second. I already automate a lot of information outside of Cubase but I want to bring it back in to go faster. I just started coding 200 presets and they barely scratch the surface of my needs. The problem is the messiness of the presentation of the output due to a lack of available variables which forces me to go manual anyway. Despite a dedicated POS Keyboard I find it horribly slow. If we had more to play with, I could cut down the redundancy and go deep into the heart of automation, which would change my life.

But the four modules of the Input Transformer are in series, so no advantage there :wink:.

Your idea made me think of creating a DIY Realtime Logical Editor using Reaktor’s Midi IN & OUT features. Articulations, Dynamics from the Expression Map, 127 CCs, Program Changes will be my variables. Kind of a headache but the rewards are proportional!

I’d certainly be interested to see that :wink:.

Great idea. I tried a bit fooling around with manipulating midi in Reaktor, but quickly found myself way out of my depth (in Reaktor I’m pretty much limited to the kiddie pool :wink: ). Also looked at the Reaktor User Library but it didn’t seem to have much in the way of midi manipulation either.

I faced the same problem.
I wanted an if then else structure, but that is not available in Logical Editor.
What I did was, i created 3 presets.
Preset 1 did the if + action
Preset 2 did the else +action
Preset 3 did the postaction to correct

In preset 1 I mis-used the param3 (=noteoff velocity, which is rarely used) to mark the set in the if-clause (as an extra action), fi. with a value 127
In preset 2 I added an exta condition to exclude set 1 (if param3 is not 127) from the if-clause
In preset 3 I filtered on set 1 (if param3 is 127) and reset the old param3 value (default in cubase=64)

So you have to do presets 1, 2 and 3 one after the other!
Not a beautiful solution, but it works

Nice one. The elegance of inelegance. :wink: