Force hiding windows when loading patch

Hi! I have a number of beta patches which I use in my perfomance.

During the loading process of a patch which contains some renderer windows, these windows normally pop out. But how can I avoid it?
The WindowPos or ShowWindow nodes (where I could set the window size to 0) doesn’t work during the loading because it only applies to the window once the patch is fully loaded.
A solution could be to disable/enable the Renderer window with a node - like it is done by pressing the right key. Is there any node which can do it?
Thank you.

Hide your render windows using alt+3 and then save the patch,. alternatively alt+2 to have the render window in your patch.
If using DX11, you can use the Renderer (DX11 TempTarget) instead of the regular renderer.

you can also use a bat file to launch vvvv with the /shutup option to start without opening any patch windows:
put “start C:\vvvv\vvvv_beta_42_x64\vvvv.exe /shutup /o %~dp0\vvvv\Main.v4p”
in a text file and save it with the .bat extension.
also see commandline options For vvvv.exe | vvvv beta documentation

Thank you @sunep for your reply.

The problem with windowed or hidden renderer (alt+2 and alt+3) is that after doing it I can’t use WindowPos to change window’s properties. But I need to do it because I use multiple monitors and want to arrange a particular window on a particular monitor.

As I understand, the shutup option just hides the patch window but not the renderer windows…

then I don’t understand your problem.
do you have more windows on screen than what you want full-screen?

ah, now I think I get it.
I would use multiple instances of vvvv and then spout to share textures between instances.
this way, you have one main render patch that can maybe switch to a nice image or video while you open the next patch and then you switch to the new patch, once loaded.
all without going out of full-screen

If I understand you correctly, you can do like this:


Just a quick example, patches attached for proof of concept.
SpoutPatchMixer.zip (5.6 KB)

Side note, you can implement the main patch here in Gamma, and just receive the textures via spout like here.

Thank you! I guess it gets more and more complicated…
I can’t use Spout for sharing textures between instances because for me it turned out to be not reliable and quick enough. I do music-reactive things and already a short delay could look bad.

Maybe I should describe the whole situation.

I am going to play an audiovisual piano concert with a number of music pieces. For each piece I have a patch which visualizes the music. In order to switch between pieces, I built a control patch (kind of a UI) with which I can select, launch and close a particular patch (by CreateNode and DeleteNode).

With this UI patch I also arrange windows. The projectors at the concert venues are often different in terms of resolution, so the UI patch checks the projector’s resolution and adapts the renderer window size accordingly to fullscreen (by WindowPos). It also moves the window to the right monitor (i.e. to the projector).

When switching between music patches and also during loading, the projector should display a black image because naturally I don’t want to project my vvvv and blue Windows background. How do you manage it? Sometimes there is just a shutter on the projector or the remote control, but sometimes there is no remote control or no shutter…

I already tried a HDMI switcher with a display emulator, but this doesn’t seem to be very reliable.

For this reason I decided to make a “shutter” inside vvvv. The UI patch simply displays a black fullscreen image on the projector if no music patch is opened. Once the music patch is loaded, I can switch to the patch’s renderer window.
But the problem is that during loading a patch the renderer window is displayed over the shutter image. And this I want to avoid…

I hope, I could explain my problem more or less clearly.

I guess in that situation, I would still avoid giving the patches each their ow window.
I would make each patch as a sub patch with the layer out.
Then make the switching using the hidden enable pin on each sub patch (make some franedelayed logic that makes the patch negligible in overhead before disabling the patch).
This way, you can just manually place the render windows and full-screen them before the concert starts.

Ok, you mean, that all patches are subpatches of the main patch and just enable the one needed while the other remain disabled?

I tried it already but the patches are so heavy that vvvv collapses when I load the main patch - even though all the subpatches are disabled and not evaluating.

Yes, you just need a bit of logic, to “turn off” each patch before it is de-activated, in order to avoid it taking up resources and also not leave frozen content.
PatchMixer.zip (6.2 KB)
image

However, you should be able to have negligible latency with spout, as it use shared textures in the GPU