I love the PLE. I use it for all sort of thing from hiding certain tracks to renaming and finding orchestral sections, and so on.
There is one post of mine where the developers explained to me how to pass the track name to TouchOSC via a custom SysEx message. I am now trying to do the opposite: passing a SysEx message containing a string to Cubase/Nuendo, and have it written in the “Description” field in the event.
I can totally see how having a JavaScript-based PLE might be a a kick-ass feature.
In the meantime… if you have any clever ways to rename my dialogue event descriptions as 010, 020, 030, 040 and so on, without me having to do about 60 or 70 PLE files… I’d love to hear from you.
I totally understand your request, actually I had the same “problem” with creating logical presets for renaming tracks. I want to just insert at the parameter the description I wanted from the “outside”. In the end, I set up all these presets manually
However, in the particular case you have now, what are the 010-020 and so on, supposed to do? I ask out of curiosity, but also, there are times that some things can be done from the midi remote too.
@m.c we have a script with dialogues that are not set in stone, so I named all the events as 010, 020, 030 and so on, like Basic in ye olde times, to allow me “gaps” for additional dialogues or variations.
The Export Selected Tracks is set so that I can export wave files in Wwise with a scheme which is
LevelNumber_DialogueNumber_Character
This is done by reading the Level Number as free text, dialogue number is the event description, and character is the track name.
Dialogue number is chronological and follows the enumeration explained above.
My most populated scene would go up to no. 600 or 700.
If it helps, I know how to modify the hex code in PLE via Visual Studio Code so that I can quickly make all the necessary files once the first template is done. That helped a lot when making “Toggle fold 100”, or “Hide/Unhide 100”, “Rename 100” and so on.
I just was wondering if there’s a quicker method or if somebody did maybe an unofficial PLE that supports batch editing of sorts
I probably understand better now and I know no way of doing this internally.
How about following the procedure: Open Project Logical Editor Setup → Populate the parameters fields by typing using an external app?
It just occurred to me that what I could do is setting PLE functions that look if a part, event or track is selected, and then “append” the character I want. This way, if I keep them to just the numbers, I have only to configure 10 PLE function to “append N” (where N is a number from 0 to 9) and, possibly, a few helper PLE functions as “Backspace”, “Erase All”, and maybe the “10”, “20”, “30” etc - thus reducing the possible keystrokes to just “0” and then “10”, or “0” and then “20”.
This would keep the PLE functions to a humane level… and it would also be expandable to letters, should I need them (26 or 52 more functions, depending if I want also small letters).
Exactly.
Note that sending many many keystrokes won’t really affect anything.
In fact, I’ve done this already for selected vst plugin from the “add instrument” pop-up. The delay is not noticeable.
Well I just did a quick test. After all, it’s just 12 functions with the “backspace” and “erase all”.
It works.
I had to put and events AND parts as condition as otherwise track would change name too.
No way of excluding tracks otherwise. But at the moment that is not an impediment to my workflow.
Now going to create a numpad thingy in my HexFM template in TouchOSC and voilà.
Also: with the numpad done, assigning names to the events can be done via Macros.
NOTE: The PLE function “Clear Name” uses a Name Replace with nothing in it, but it works only if the option “Append Clip Name to Event Name” is disabled in the Prefernces… otherwise clearing a name will revert it to the Clip Name.
I have been, in a few posts, alluding to (but probably not articulated it very well) the idea of being able to use MIDI Remote as a super charged PLE.
In my mind, what I think would be big step forward would be the ability to target specific tracks, channels and parts without first needing to have it selected first. You would be able to do things like (pseudo code)
// Only show channels with "vox" in their name
For (i=0; i<mixer.audioChannels.length; i++) {
If (mixer.audioChannels(i).name.includes("vox") {
mixer.audioChannels(i).visibility = true;
} Else {
mixer.audioChannels(i).visibility = false;
}
}
Anyone who is working with large templates and has been crafting Macros and PLEs to organize or show/hide tracks have probably noted that selecting channels is a required intermediate step that only seem to slow down the whole operation.
This idea is of course not restricted to showing and hiding tracks and channels. Any command that can only be applied to the selected channels/tracks would benefit and this crude example is just one way of targeting channels. Other identifiers could be used such as channel color e.g. If you look through the many commands in Cubase, there are quite a few that targets the selected channel(s), which makes sense for normal mouse/click operations, but not so much in a PLE or script.
Things that today would require several PLEs and macros could be more elegantly realized with a JS script. Further more, combining PLE presets and macros in today’s implementation can lead to unpredictable results. I believe this is due to the Macro/PLE combination not being executed synchronously and is especially vulnerable when using pre and post commands in the PLE.
The Java Script powered MIDI Remote has the potential to open up doors to some very powerful operations. Lets bring the future in!
Sorry, I’ve been on an extended hiatus from the forum.
I agree.
Having everything that falls under “user-defined operations” should all be under the same roof.
I am not a big Reaper power user, but it seems that this is the kind of thing that is moving part of the gaming audio industry towards it (…and possibly the lowest entry fee, and free updates for 2 main software versions, but that’s a topic for another day).