Automating Channel Visibility - ISSUES! Bonkers issues

Hi

I’m trying to automate (via Stream Deck) channel visibility.

It works fine, EXCEPT it seems I need to have the MixConsole window Selected/Active for the Key Commands to work!

I’ve tried it via the per-project Channel & Track Visibility → Visibility Config X AND via Mixer → Show/Hide XYZ channel types.

BOTH require the MixConsole to be selected. I’ve also tried it via Macros with the same result.

Why, Steinberg, WHY???

It makes ZERO sense to require this focus - especially considering the “Sync Track/Channel Type Filters” option between Project and MixConsole.

OR… am I missing something?

It’s exacerbated by the fact that I can’t seem to automate switching focus to the MixConsole Window. Honestly, there are few things in life more soul-destroying than trying to automate Cubase

FYI Steinberg… Having just a Show/Hide toggle is NOT sufficient for automation purposes

I think (I don’t use a Stream Deck) if you use the MIDI Remote rather than Key Commands you can get around the problem.

e.g., Elgato midi plugin

Is it time we had an official Cubase Stream Deck plug-in? - #16 by The_Elf.

( @m.c do I have that right? )

Nice idea, but sadly no. That does still require the MixConsole to have focus

Hm. Really? What exact commands are you using? Not PLE?

Well, I’ve hacked the SideshowFX MidiRemote control surface and have tried firing Macros and Key Commands via midi CC. It’s an approach that works fine, generally, but wWhen it comes to channel/track visibility, this MixConsole “obsession” still persists in Cubase.

Hi Steve, unfortunately not. These key commands don’t work when MixConsole is not focused, even by MIDI Remote. I think I’ve seen this reported in the past, but can’t recall a link at the moment.

A cumbersome (?) way to do it, is to give focus to the mixConsole at the OS Level, for example by using AutoHotKey or other utilities, and then trigger the mixConsole cmmands you want. Not optimal, I know, just a workaround.

This bothers me as well. Plus, I don’t use the Sync Project and MixConsole setting.
I worked around this by using AutoHotkey (Windows only I’m afraid) .
Here’s an example:

#HotIf WinActive("ahk_class SteinbergWindowClass")

MixConsole1 := windowFocusing("MixConsole - ")
MixConsole2 := windowFocusing("MixConsole 2 - ")

+F20::
{
	MixConsole1.Activate()
	; Do your thing here
	MixConsole1.Restore()
}
#HotIf

Class windowFocusing {
	_activeWindowTitle := 0
	_winName := ""
	_winNameLength := 0
	
	__New(winName) {
		this._winName := winName
		this._winNameLength := StrLen(this._winName)
	}
	
	Activate() {
		this._activeWindowTitle := WinGetTitle("A")
		if (SubStr(this._activeWindowTitle, 1, this._winNameLength) != this._winName) {
			WinActivate(this._winName)
			WinWaitActive(this._winName)
		}
	}
	
	Restore() {
		currentWindowTitle := WinGetTitle("A")
		if currentWindowTitle != this._activeWindowTitle {
			WinActivate(this._activeWindowTitle)
			WinWaitActive(this._activeWindowTitle)
		}
	}
}

I get flashbacks to years and years of asking for this to be solved.

EDIT: I think I misunderstood the OP request.

Steinberg, this is not just me. This is a genuine pain point. Please fix :folded_hands:

:sob:

This is very sad to hear

Wow. omg. Okay, now I understand. This goes back a looong time.

Sorry

This seems to always go back to the MIDI Remote API being capable of doing everything except what you want.

@TangoGrowler

Which commands cannot be called using the PLE, with the mixconsole closed or non-focused?

mixcnsle

unexpected :wink: sarcasm from @BrunoDSL

Yeah I think those commands work. The one I was thinking about was

@MattiasNYC thanks.

@TangoGrowler

This?

trcktpe

I was referring to these under Key Commands in the Mixer section

…but yes they’re maybe the same as the ones in your clip @steve

UPDATE: No, actually they don’t seem to be the same ones. And I don’t see any Key Commands for those “Filter Track Types” on the Project Window :person_facepalming:
AND I’ve discovered a bug. I’ll raise that separately

Thanks for this. I was able to get it working this way using a tiny little ahk script:

SetTitleMatchMode, 2   ; partial match
WinActivate, MixConsole -
WinWaitActive, MixConsole -


…though yours is probably more robust!

Nice!
The main difference is that my script re-activates the window originally in focus.

Oh, I see. Yes that makes sense. I do have KeyCommands assigned to my Macros, so I could just do it all within the script (as opposed to a stream-deck multi-action and midi-remote hack). Cool. Thanks