Select a Track by its Track Number

Greetings. I would like to create a Cubase 11 Pro Project Logical Editor that allows me to select a Cubase track on the basis of its track number and not its track name.

Let’s take a very simple scenario. Suppose I have 32 audio tracks in my Cubase project. You will see each track, top-to-bottom in the project window and left-to-right in any opened mix console window, sequentially numbered from 1 to 32. The track names are simply labels for their respective tracks and have no impact on the sequential track numbering. If you reposition a track by, say, moving it upward five track slots in the project view, then Cubase automatically renumbers the tracks. For example, what was once in the track 10 position and labeled ‘kick drum’ is now in the track 5 position and still labeled ‘kick drum’. If we add or delete tracks, Cubase shifts and automatically renumbers the tracks. If we rename tracks and do not move them, their track numbers do not change. In other works, Cubase handles track numbering automatically despite track label assignments.

Now, suppose I want to select the first track in Cubase, whatever its label is at present. I cannot seem to do this in Cubase 11 Pro’s Project Logical Editor. I would like to be able to set up the filter for this Project Logical Editor preset as follows:

Filter Target: “Media Type is”; Condition: “Equal”; Parameter 1: “Audio” AND
Filter Target: “Track Number”; Condition: “Equal”; Parameter 1: “1”

Instead, the best I can do is this, which will not work for me.

Filter Target: “Media Type is”; Condition: “Equal”; Parameter “1”: Audio AND
Filter Target: “Name”; Condition: “Equal”; Parameter “1”: Audio 01

This is not what I need because a specific track name is required, which is impractical. I only want to select a track based on its track number, not its name.

It could be that this capability is available in Cubase 11 Pro and that I do not know how to access it in the Project Logical Editor. Any thoughts?

Thank you.

I don’t think this is possible.

What are you trying to accomplish by doing this? Perhaps there is another approach that will get you there.

I think folks mostly search for a fixed characteristics of a Track, like its name, rather than something that changes its value in the background.

Hi, there is an auto-numbering renaming utility in the PLE that could add the numbers to your tracks names.
Then, could you could target based on ‘Name Contains | 07’

not a bad FR though, I would add the tag.

hmmm it might not work, generate name seems to replace names… Was there a new generate name addendum in Cubase 12 ple? im still on 11.

as a hack, if this is at the beginning of the project… you could dry export all the tracks and use the Export naming utilities to add numbers to files, then when they are re-imported after the export they will have numbers in the names… then you could target with PLE.

The way I read the OP, doing something like that would permanently affix that number on that Track, but what they want is dependent on the Track numbers changing over time as they are reordered in the Project. So today maybe Track #9 has a piano on it, but tomorrow a Guitar Track will be #9.

Appreciate the replies. Yeah, I need to reference an internally referenced Cubase track irrespective of its current track name. What I suspect may be happening (a guess on my part) is that Cubase generates unique track identifiers that are meaningless to the end user but critical for Cubase’s internal track management. Also, my guess is that Cubase does not offer a ‘track number’ property that it can publicly expose to the end user, even though a track number is clearly displayed both in project and mix console windows. Creating and/or publicly exposing a ‘track number’ field would be a trivial programming exercise and managing access to track numbers selected in the PLE would be a simple mapping exercise, relating the track number to some internally generated ID. While this is a one-to-one mapping, Cubase would need to map the current track number to the current track within its unique track id value. This means the mapping still is one-to-one, but the values may change over time. For example, suppose we have a session with two audio tracks. These tracks are displayed as ‘1’ and ‘2’, and each track has auto-generated names which typically are replaced with a user-defined names - let’s say ‘Vocal 01’ and ‘Vocal 02’. I’m guessing Cubase tracks ‘1’ and ‘2’ have unique internally managed IDs, for example, 64-bit GUIDs. According to the current track state, the first track (number ‘1’; named ‘Vocal 01’) maps to GUID #01 (I will not write out a 64-bit hex value here, but you get the point). Similarly, the second track, numbered ‘2’ and named ‘Vocal 02’ maps to GUID #02. Now suppose I delete the first track, create another track, move the newly created track into the first track position and rename the track ‘Vocal 01’. While things may look the same on the surface, I would think that Cubase’s internal track management code generates yet another unique GUID, let’s call it GUID #03. If so, then the Cubase track numbered ‘1’ & labeled 'Vocal 01" no longer maps to GUID #01. Presumably, it maps to GUID #03 and GUID #01 is destroyed and never reused. Of course, Cubase may be using an entirely different track management approach and it may recycle its internally generated unique track identifiers, but the point is, Cubase exposes track labels for end users to change as desired, exposes and orders track numbers for end users to see but not to be able to reference directly (e.g., within the PLE) and generates internal track unique identifiers that it does not expose to the end user, nor should it do so.

But to what purpose? The only thing I can think of where that would be useful is for reordering Tracks. If we knew your end goal perhaps someone can suggest an alternative mechanism to get there.

Seems more likely to me that the Track Numbers are just indices into an array that keeps track (pun intended) of the display order for the Tracks.

I want a track label to be decoupled from a track number, so that there is the flexibility of selecting a specific track independent of its label. Here is one use case: Paging within a Cubase Pro 11 Generic Remote configuration. I have a Generic Remote with four pages that maps to my MIDI keyboard controller’s faders, knobs and buttons. The controller has eight faders. Given a Cubase template with 32 tracks, for example, my Generic Remote configuration maps two of the keyboard controller’s buttons to ‘bank increment’ and ‘bank decrement’ Cubase commands. This effectively allows me to page through the mappings in order to control any of the Cubase template’s 32 tracks so that my keyboard controller’s faders can adjust track volumes in groups of eight. What this does not allow me to do is to update Cubase’s mix console window, for example. As I bank across groups of eight tracks in the Generic Remote, the mix console window does not update. So, for instance, if I am shown 16 Cubase tracks in my mix console window, and I click the bank increment button such that I am at the third of four pages in the Generic Remote, then my keyboard controller faders will control Cubase tracks 17-24. However, I will not see track fader updates when I move my keyboard controller’s faders, because Cubase tracks 17-24 are off-screen. What I would like to do is integrate my keyboard controller both with Cubase’s Generic Remote and Keyboard Maestro. Since Keyboard Maestro can be triggered via MIDI, then it will respond to the bank inc/dec button clicks from my keyboard controller when sending out MIDI CC messages. In Keyboard Maestro, I can then develop a macro that includes tracking the Generic Remote’s page bank number and use simple conditional logic to update the mix console’s viewport by selecting, for example, the first track of the respective 8-Cubase-track grouping (not to be confused with a Cubase Group Track). In this way, not only will I be selecting the desired 8-track grouping, but I will also trigger Cubase’s mix console window to update its viewpoint instructing it to select a track.

In order for this to work properly and NOT be tied to specific Cubase track names, I need to reference Cubase track numbers.

Not to disrespect your request, but the requirement of the Generic Remote to follow a static order that did not allow moving tracks without breaking the remote assignments was one of the very worst aspects of the GR.

And, now that the generic Remote is deprecated, it’ll be removed from Cubase entirely in due time.

The midi-remote is the feature for remote control going forward. There is very little point to building a feature that accommodates that failing of the GR. It was a great feature in 1999, but there’s more to daws these days, and the static nature of the GR will not be missed -by me anyway.

1 Like

Well my X-Touch behaves like you want and it uses Mackie Control which is also a Legacy Device although it doesn’t have a retirement warning on it like the Generic Remote. So maybe there is something there. I’ve been purposely ignoring MIDI Remote & can’t comment on how to use it. But that is where things are going.

1 Like

No disrespect taken; I appreciate your reply. Eventually, I will upgrade to Cubase 12 Pro and make use of the new MIDI Remote capability, but I am waiting for one or two minor C12 revisions in order to allow time to iron out most of the inevitable bugs that follow a major release. I get your point on the GR static ordering; it’s not ideal. This just means it is advisable to have a well-prepared Cubase template and to use it in a consistent manner. I think this is a reasonable compromise for the time being, and supplementing GR with Keyboard Maestro can improve the workflow experience.

Thanks for the reply. For now, I am looking to develop a solution using my current gear. I really don’t want to through money at the problem, especially since I plan to see if C12’s MIDI Remote will shed some light on the problem when I eventually purchase the upgrade. I sense there is a solution available to me with my current toolset; I just haven’t quite figured it out yet.

I’m not suggesting you should. Rather that you might want to explore how the Mackie protocol works and perhaps use that if applicable.

raino, thanks for the reply. Unfortunately, my keyboard controller does not support the Mackie protocol according to the user manual. Even if it did, I understand that protocol is highly rigid because its parameters are hard-coded. The controller mappings are prescribed; you cannot freely map them as you can with Cubase’s Generic Remote.

Interesting thread.

@aspsa ever got these UIDs somehow?

What I currently do is to edit the tracks’ names with an external app (by applying the shortcut for the rename and then let a awt robot append the timestamp plus an incremental int whenever I massively update the names and timestamp may be the same). I’m happy with this approach since I do have unique ids (timestamps) however this would be irritating if I share such apps with other users, not everyone (to not say no one) would be happy to see their track names getting the “weird” timestamp.