New PLE Functions?

The Project Logical Editor and Logical Editor (As well as MIDI Transformer) are really one of the most important Cubendo entities that set apart from the rest of the DAWs.

The amount that can be accomplished with P/LE and macros is astounding, and I’ve seen users create their own functions in such a way that I bet Steinberg didn’t even know was possible themselves.

More people in the professional DAW world need to know about this part of Cubase, it will make Cubase the Adobe Photoshop of the DAW world, so a good proper thorough update of the interface and protocol will also serve as a great promo of its capabilities.


Project Logical Editor: Ability to adjust length from start, rather than end.

There should be

‘Length from start’


‘length from end’

target operations.

Project Logical Editor: Action Target: Position: Beyond Cursor/Selected Track | Before Cursor/Selected Track

There is a workaround for this, but just including it would make things easier to develop.

Project Logical Editor: Allow project cursor and locators to be targeted

Project Logical Editor: Generate Name Predendum / Addendum, Generate Chromatic, Generate A-Z

‘Generate Name Addendum’ and ‘Generate Name Predendum’

Would add the numerically ordered numbers to existing name.

‘Generate Chromatic’ and ‘Generate Chromatic Addendum’ and ‘Generate Chromatic Predendum’

Would add letter and number and repeat for extended selections… ie, starting on D#1 for 15 events would end at F#2. Very useful when creating samples.

Generate A-Z

Would use typical A-Z / Aa-Zz sort

Project Logical Editor/Length/Operation - Set to: Locators

this would be great for quickly resizing cycle markers to events in which the locators have been set to.

additional Project Logical Editor property: "Is Under Cursor"

I’m pretty sure this could be useful in some instances for example:

I want to select all markers under the cursor across multiple marker tracks in a big project in order to give them the same name.

Project Logical Editor - Target Fader Level value

There are typically 3 static positions I want to put a fader to. 0db, -6db, or -12.
-would maybe need two different modes of fader targeting: absolute or increment

Project Logical Editor - Need to differentiate between ‘File Name’ and ‘Description’ atm, Name = Description only

There needs to be targets and actions for both ‘File Name’, and ‘Description Name’ fields.

Other General Functions

Save Project Logical Editor state with project

this should save window open/close state, as well as whatever PLE script is loaded.

Project Logical Editor - Need Multiple Functions in Series: Select–>Transform

Sort of like the MIDI Input Transformer has 4 modules.

Possibility to assign a key to “Apply” button of logical editor

Great if using a preset in a reoccurring manner on say certain events

Project Logical Editor: implement boolean test for button states

Presets Menu/GUI

-GUI could use overall modernization to match rest of Cubase
-Ability to drag/re-order the Filters and Actions

Modernized Presets Menu
-An attached or optionally detached pop out menu. (Like Groove Agent Library Menu)
-Ability to trigger PLE presets from the menu, rather than needing to load into the PLEditor. (Like Groove Agent library instrument preview)
-Folder/Subfolder creation from within the preset menu which mirrors to the actual directory.

Virtual Button Board akin to MetaGrid

Allow users to add PLE scripts, key commands and macros to a customizable button board they can leave floating in their project, with the ability of having multiple pages to organize different button/command types.

-Allow re-naming and colouring of the buttons
-Allow user to load in graphics for each button (with a deeper sub-editor that allows an image for off-state, and on-state). Track Pictures can also be mirrored here.
-Buttons can be macros themselves, allowing a user to add a series of commands, and or PLEs, and or existing macros.
-MIDI #'s and Channels can be assigned to the buttons for triggering them - someone can quickly turn their drumpads into a PLE trigger interface.
–And or integration into Generic Remote
-toggle button mode, with separate “on” command slot, and “off command slot”

FIXES Disclaimer, haven’t used 11 yet so maybe some of this fixed (fingers crossed)


I got very creative with macros and PLE, and the macro list in PLE is now off my screen halting development.

graphical refresh
The example shows, I’m using PLE to select certain colours of a selection already made. The program/PLE is executing as intended but the graphics do not refresh and it so shows deslected events, as still being selected even though they are not and are not supposed to be (and aren’t). When you see me hover the mouse over the events, you see the graphical refresh updates accordingly.

Targeting Default Track Colours
And another thing that needs to be fixed with PLE integration, is PLE can’t target default preference set track colours. ie, whatever the default colour is for an audio track when it is added, the PLE cannot target it even if you have added that colour to the pallet of which you are using in the PLE script:



More Fixes Needed

Preset Change Lock Up/Freeze
For some reason, I don’t know if it’s because of the amount of PLE presets I have, or if it’s because the high number of Macro key commands I have (that are mirrored to PLE protocol)

But every time I manually change a preset in the PLE, it takes about 20 seconds to switch and until then, the entire program is locked up.

Perhaps this was resolved in 11? I’m still on ver10.

I suspect it is because it is having to reload the macro list (even if a macro isn’t being used), and my list of macros is quite large. This problem did seem to increase in time, as my macro list got bigger.

Macro List is not Alphabetical
The macro list in PLE is populated in order of macro creation, rather than automatically re-ordered alphabetically A-Z.

Key Command/Function/Preference:
Scroll to Selected Track

Hi, I’m mostly thinking about this being used in PLE/Macro combos where you are using the PLE to target tracks based on colour, or name, or by certain events on that track (if you have ‘Track Selection Follows Event Selection’ enabled)

This could both be a preference (with a key command), and an execution key command - I would like both if possible, depending on the project.

This way, if people have 500 track project, and they want to quickly scroll to the Lead Vocal, they can target the track name or track colour they use for Lead Vocal.

Action Target Operation

Track Operation: Load Track Preset / Track Preset Menu
Ability to use PLE to load track presets to tracks targeted by name/colour

picture zoom ^ /

This would allow user to quickly set up a session that isn’t templated, or even to essentially use this protocol to “change templates”. ie, they could switch everything in their project to an Neve plugin template, rather than an API.

It would be maybe tricky for Steinberg devs to allow this to do multiple tracks in one go, whether it’s 10 vocal tracks, or a 200 track project, without crashing the program. a ‘Track Preset Loading’ progress bar with an ‘abort’ option might be a smart idea.

Action Target Operation

Track Operation: Load FX Chain
Ability to use PLE to load FX Chain to tracks targeted by name/colour
same sort of deal as above, just FX Chains

Action Target Operation

Track Operation: Load Track Picture
Ability to use PLE to load track pictures to tracks targeted by name/colour

picture zoom ^/

Potential Protocol Change (?)
Macros actually import-copy loaded into PLE, rather than linked

There is the occasional problem, of macros breaking their connection to PLE presets (for example if you alter macro name)

As noted above, the Macro list in PLE needs to be modernized/fixed. Maybe this is an opportunity to do things differently.

I’m wondering if this protocol should change overall, so that PLE can access key commands and develop their own macros from within the PLE, and or import-copy already made macros into the PLE preset - and from there maybe altered for that specific PLE preset without changing the original macro.

Does this make more sense? I’d like to hear user/dev thoughts on this

This would require, a sort of new macro maker module in the PLE and unique to it, where it can access/add/remove key commands.

This would also make it easier for people to share PLE presets, as everything is self-contained! :exclamation: :bulb:

Filter Target Property

Property | Property Is Set | Has Direct Offline Processing
Ability to target events with Direct Offline Processing
-Allows users to use this in conjunction with a macro that would result in only tracks with events with Direct Offline Processing being made visible in project.
-Selecting events with direct offline processing to flatten them
-colouring events with Direct Offline Processing

Filter Target Property
Property | Property Is Set | Has VariAudio
Ability to target events with VariAudio Processing
-Allows users to use this in conjunction with a macro that would result in only tracks with events with VariAudio processing being made visible in project.
-Selecting events with direct offline processing to flatten them
-colouring events with Direct Offline Processing

Filter Target Property
Property | Property Is Set | Has ARA2
Ability to target events with ARA2 Active
-Allows users to use this in conjunction with a macro that would result in only tracks with events with ARA2 active being made visible in project.
-Selecting events with direct offline processing to flatten them
-colouring events with Direct Offline Processing

Filter Target Property: Fades
Property | Property Is Set | Has Fade-In
Property | Property Is Set | Has Fade-Out
For example, user could put as ‘Property Is Not Set’ as way to find every event without a manual fade out or fade in, as a sort of safety check before export. Or maybe in 1000 tracks, they hear a pop-click they think is a unfaded event and want to fade in. Yes some people use auto-fade, but some don’t.

Filter Target Property: Has Inserts + New Function - Multi-Track Freeze
An on going request has been the ability to execute Track Freeze across multiple tracks at once. This seems like a relevant operation for Project Logical Editor to handle.

For example,

If you also gave PLE the ability to target only tracks with inserts and freeze them specifically

Media Type Is | Equal | Audio
Container Type Is | Equal | Track
Property | Property Is Set | Has active Inserts

Track Operation | Freeze | Enable (or disable, or toggle)

This brings up some other related Filter Targets:
Filter Target Property: Freeze Active
Allows users to select/find/isolate tracks that are either Freeze activated, or Unfrozen useful in itself

Media Type Is | Equal | Audio
Container Type Is | Equal | Track
Property | > Property Is Set > | Freeze Active


Media Type Is | Equal | Audio
Container Type Is | Equal | Track
Property | > Property Is Not Set > | Freeze Active

and for example, user could combine ‘Track has inserts’ and ‘Property is not set - Freeze Active’ to find all the tracks in their project that are both not frozen and have inserts - so that they can save system resources.

Media Type Is | Equal | Audio
Container Type Is | Equal | Track
Property | Property Is Set | Has active Inserts
Media Type Is | Equal | Audio
Container Type Is | Equal | Track
Property | > Property Is Not Set > | Freeze Active


SO another big contentious problem among the macro/PLE nerds such as myself, is dealing with toggle key commands in our macros and them being either in the correct state for executing a custom macro/function or being in the incorrect state.

A example would be, ‘Track Selection Follows Event Select’. I mostly have been leaving this preference on for the past few years, and it works fine with a good portion of my commands - but not always.

Any of these editing/selecting type preference toggle commands - need - additionally - separate on and off commands. Three commands total. Toggle, On, and Off.

Additional Commands and Functions useful in macros/PLE

-> Deselect All Tracks

-> Extend the beginning or end of any kind of event to the cursor> .

-> Locate START of Next Event / Locate START of Previous Event

-> Visibility: Make All Tracks Visible in Selected Folder
-> Visibility: Make All Tracks Visible in Selected Folder Deep

-> Zoom/Scroll: to Start of Selection / Zoom to End of Selection
90% of the time, that is where I’m zooming to.
This can currently be done using macro and the playback cursor, but, I’d rather not have to rely on the playback cursor to achieve this as that disrupts playback.

-> Cursor History: Undo / Redo Cursor Position
Because the cursor can be used so much in scripts to execute edits, zoom to a certain area, set the locators, set fades, set punch in points, make selections, move events, etc, etc - this would be very useful.

Create multiple cycle markers for selected events
Creates a cycle marker per-selected event (> see’s crossfaded events as single event> )

-Bounce/Flatten Events Separate > Necessary with addition of ARA2 and DOP utilities
Bounce selected events separately so that they don’t become one big event.

This is useful when:
-Different pitch shifting amounts have been utilized across multiple events
-rendering fades, gain
-renaming files
-ARA2 across multiple events you want to bounce, but keep events separate
-Direct Offline Processing across multiple events you want to bounce, but keep events separate

Why Render In Place can’t be used for this is:
a.) Requires Set up, selecting parameters, pop-up window
b.) Renders channel settings
c.) Creates new tracks

-> Track Selection Follows Event Selection - additional sub-preference: 'SELECT LANE ONLY’

When ‘Track Selection Follows Event Selection’ is on, and people are working within the Lane editing system, selecting different events on different lanes always selects the channel when I would sometimes rather it only select the lane.

It would be great to have a preference with key command that can change this.

This is because certain editing commands won’t work as intended by the user if the channel keeps being selected. Example:

‘Select All On Tracks’

Selecting an event on the lane, does not solely select that lane but also the channel/track, thus not being able to use ‘Select All On Tracks’ for only the lane of the track

In this example, I do the same thing, but this time click on the lane before executing the ‘select all on tracks’ command, which selects only the events on that lane (despite also reselecting the track/channel, it doesn’t select events on the other lane)

-> Key Command/Function: CLEAR RANGE TOOL
Range tool has a sort of last-selection-history that is independent of the Object Selection/Sizing Tool, in such a way that if you make a range selection, and then switch to the object selection tool and make a selection with it, and then switch back to the Range Tool, the previous range selection will still be where it last was prior to switching the tools

That is fine, and even useful sometimes, but, it gets in the way of macros sometimes, especially if you are one to work regularly with ‘Track Selection Follows Event Selection’ engaged.

A simple ‘Clear Range Tool’ command/function that could be added to macros would be helpful.

Unfortunately, ‘Select None’ isn’t useful in this case, because you have to switch to the Range Tool before you can use it, in which case then the problem has already occurred.

-> Select From End/Start To Cursor SELECTED TRACKS
The current function does this for all tracks in the project,

It would be useful to have one for selected tracks, as, I think It would use this more.

If I did want to do all tracks (with data), I could with ‘Track Selection Follows Event Selection’ enabled, just do ctrl+a first, and then ‘Select From End/Start To Cursor SELECTED TRACKS’

-> new Selection Preference: Cursor to start of selection
this would automatically move the cursor to the start of whatever is selected whether a single event, or the start of a multiple selection of events.

with a toggle key command, I would be turning this on when working on something such as creating samples, or sound for film.

-> Key Editor: “Select/From Cursor to End” only on a specific controller lane

-> Reset Snap Points To Event Start (Multiple Events)
Please see this thread: >

1 Like

Your suggestions and improvements are interesting if not good ideas in my opinion.

But unfortunately, while PLE/LE sets Cubase apart from the others, PLE/LE is an area that a new or cross grade user will rarely if ever consider. Even with PT, prosumers are in the financial drivers seat. Obviously Steinberg needs to compete with all other prosumer DAWs which force some marketing compromise. The “DAW one box does it all” marketing concept is what sells. Marketing deception suggests a user can “master” in Studio 1 so why use Wavelab? And DAW outsourcing for these factory plugs can be cheap. Sure, I too wish for less resources allocated to things 3rd parties may do better. I too wish for a a new update called “Cubase, we didn’t add anything, we just fixed a lot of bugs, and completed a lot of features.” And I certainly agree the LE/PLE needs updating. Unfortunately, unless Steinberg quadrupled the cost of Cubase, I don’t think that will ever happen because prosumers will complain about the price, always looking for substitutes, just like they complain about the high cost of UAD. Good things often cost money.

So back to your suggestions. How to change what you propose in the above? It’s already in Feature Requests…great! Maybe more PLE/LE presets available for other users that are practical functions? More PLE/LE tutorials? Greg Ondo covers the basics. You get factory presets you can sort of learn from. Luke Johnson goes into detail with over a hundred LE free presets to download for those interested in additional basics, plus many LE rhythm and film composition presets. And he ties in Cubase Key Commands, Cubase macros, LE and PLE with Metagrid which greatly enhances workflow.

But unfortunately, notice the small number of views? Is 51 minutes too long attention span to suggest enhanced workflow ideas and concepts? Not if you really want to learn. But today the money is in presets, shortcuts, and whats most quick and easy to get your objective met. The PLE/LE…that takes learning time.

Everything you suggest, while I agree, IMO simply isn’t feasible due to limited resources and DAW market demands. I wish I was wrong.

I appreciate your skepticism, it is good. I’m a bit sleep deprived will do my best to answer.

You are correct about how unknown PLE is - that is a problem. 9/10 times whether here on the forums or in facebook group I get “Project Logical Editor… what is that?”

That being said, I do think more people are starting to nerd out and get into it because of devices/software like MetaGrid, StreamDeck, DTouch, etc, and other users are seeing these users with these cool devices.

The target market is definitely composers and production houses trying to figure out ways to complete work faster, but there is so - so - much any average joe could utilize if they just knew. But also, there are so so many video game production houses with sound designers dealing with so many sound assets… that market is huge and only growing.

Resolving that promotion and accessibility issue:
-If the create of PLEs were easier, (easier UI, self-contained macros, etc)
-If the above was accomplished, especially self-contained macros - people could share them easier.
-And if that was accomplished, a forum data-base of PLE presets could be assembled.
-The virtual button board and triggering from within modern preset menu makes its utility more accessible minute to minute without needing iPad or key commands
-More tutorials

To me, it’s one of the most invaluable parts of Cubendo. It just needs a bit of a refresh to inspire the cool-nerd factor. People just need to basically know - if you want a key command that can always solo the lead vocal, and if you want another key command that can always mute the solo vocal - you can do that with PLE. I’ve never seen - that - tutorial. A lot of “creative” clever things can be done.

So I agree, and disagree.

1 Like

What a great little FR. Nicely done. I will re-read and comment on my computer as it’s to slow on a. iPhone and I’m barely awake yet.

However, I saw quite a few things that may already exist or you request needs better explaining. I will start with listing them in this post, so this post will be updated over time.


Project Logical Editor: Generate Name Predendum / Addendum, Generate Chromatic, Generate A-Z

Append and prepend already exits?
You would like to be able to not only generate numbers I series but also letters and the letters in the chromatic scale?

Project Logical Editor/Length/Operation - Set to: Locators

It exists already its called cycle IIRC

additional Project Logical Editor property: “Is Under Cursor”

As far as I remember you can do this using the other type, position?

Project Logical Editor - Need Multiple Functions in Series: Select–>Transform

While I don’t disagree. You can do to PLEs in a macro, unfortunately I believe it is still limited to two in a row with the internal macros. Using it with a third party macro program you can have as many as you need.

Project Logical Editor - Target Fader Level value

I haven’t used it in a long time but as far as I know already exists as trim but not as dB but as a multiplier. For better and worse… but no that can’t set specific values only adjust from existing values.

Possibility to assign a key to “Apply” button of logical editor

Workaround Use key commands to run PLE scripts and keep the window closed.
I guess there has to be a reason they made it the way they did.

Virtual Button Board akin to MetaGrid

Personally not a fan, why not use KCs, MIDI or something else to trigger them? Creating advanced PLEs will probably stay limited to a small number of advanced users. Do we really need more clutter on screen? I don’t.


WOW, impressive!
Well I guess with THAT number of macros you DO need a way to visualise them…
Have you tried Liine Lemur on an iPad?
I used that to a while. But pads and me aren’t the best of friends. I prefer muscle memory.

graphical refresh

Agreed. Workaround use it in a macro with zoom in/out as that causes a refresh.

Targeting Default Track Colours

Change the title to colour as there is only one default colour (grey), the other colours may seem default but really aren’t it’s just what the program comes with from scratch and as it can change really can’t be considered default and can’t get special treatment in that way IMO.

Preset Change Lock Up/Freeze
Doesn’t happen here at all, if I would guess the devs didn’t optimisé it for super intense users like yourself (I’m no where near that amount, but have built some very complex workflows with PLEs that would be impossible without it in the past).

Scroll to Selected Track

Agreed. Workaround that might work that I have not tried, use visibility to force scroll the window to the selected track and the undo the change?

Potential Protocol Change (?)
Macros actually import-copy loaded into PLE, rather than linked[/quote
Yes and not only that, the PLE storage needs to be rewritten into regular xml files that are not scrambled/encrypted. It is SO strange that they did that in the PLE.

Thanks looking forward to the exchange, wouldn’t be surprised if there are some things I didn’t know, and or have been added/changed since v10 which I’m still on.

I’m on Nuendo so no v11 yet.

And I also think Greg AND you both are correct above.
I would not assume all these changes to get implemented any time soon. But I don’t disagree that the PLE IS the main unique thing we have in our DAW.
And I’d love to see at least some things worked on.

I think making it “self contained” and linked to KCs is probably the most important of all the above.
At this time the structure makes it impossible to effectively share PLEs so the only thing we can do is to learn from each other. That inhibits the growth of its use by general users.

I guess I should have uploaded the file for Luke Johnsons LE presets. Lots to choose from, pick and choose according to your workflow.

Cubase>Logical Edit

I wish there was a sticky for PLE and LE presets. (341 KB)

Key Command/Function/Preference:
Paste Time Relative to Cursor

Same idea as regular ‘Paste Relative To Cursor’ but for time.

This would be very useful to say, copy an entire section of a song that has pre-bar lead ins, and insert it into already existing sections of the project:

1 Like

Just an observation on this after reviewing my thread,

Obviously this is because the PLE uses the colour name, and not the actual colour RGB#'s, and so PLE isn’t going to default track colours because default tracks, despite me adding their colour to my pallet, don’t have my colour name attached.

This could maybe be resolved in different ways :
1.)PLE could access Default Track Colour Preferences
Default Track Colour

2.)PLE could actually target RGB/HSV#s

3.)Colour Palette could be accessible in Preferences via a new tab.

Personally, I think 3.) would be the best, I think it would be less work for the end user, because for one it would work with their current colour palette and secondly, it would likely help avoid the need to create a bunch of OR conditions where a user has to add both their ‘Palette Default Audio Track Colour’ and their ‘Default Audio Track Colour’, and would also perhaps save users from having to change their already existing colour presets to RGB/HSV#s.


Further thought on this… you could go deeper into the tracks operations into Insert loading.

Action Target Operation

Track Operation: Load Insert into Slot#

Track Operation | Insert | Param1: Choose Plugin | Param2: Choose Insert Slot #

/-- For ‘Param2: Choose Insert Slot #’ you could make it so that entering ‘0’ will look for the first open-unused slot.

And could go deeper:
Track Operation | Insert | Param1: Remove Plugin | Param2: Choose Insert Slot #
Track Operation | Insert | Param1: Bypass | Param2: Choose Insert Slot #
Track Operation | Insert | Param1: Disable | Param2: Choose Insert Slot #

1 Like

Key Command/Function

Refresh Track Selection

The protocol with PLE ignores preference 'Track Selection Follows Event Selection" which is all in all, probably a good thing - but in certain situations, I would want a PLE part of a macro with this new function command “Refresh Track Selection (Based on selected events)”.

For example, if I wanted to select all Audio Tracks with ‘Parts’ on them, this would enable that:

Media Type Is | Equal | Audio | And
Container Type | Equal | Part |

Function: Select | Macro: Refresh Track Selection


The above PLE script in a macro:
-PLE script
-Refresh Track Selection

gif example, selecting audio parts:

This simple key command function addition would open up some new possibilities to make track selection scripts based on the tracks event/part contents. This could be stacked with a visibility command:

-Select Audio Parts PLE Script
-Refresh Track Selection
-Visibility: Show Only Selected Tracks

1 Like