Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

"Where is Feature X? I need Feature X! How can you not have Feature X?"
User avatar
subpixel
Hasn't felt like this about software in a long time
Posts: 152
Joined: Thu Jun 05, 2014 09:32
Location: Sydney, AU

Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by subpixel »

Check out the video first. There's plenty of TL;DR to follow. :)

https://www.youtube.com/watch?v=MM1dYNI-FR0

phpBB [video]


Hey Resolume users and developers. I tend to use several layers in my compositions and it is not so easy to keep track of what is going on when you can't see what is actually playing on each layer.

Until now I have used the Advanced Output feature to make a preview screen which I display on my laptop monitor, in addition to the main output going to a projector / LED wall / whatever. Some versions it has been a column at the left edge of the screen and I've used that with the main Resolume UI window positioned to be able to see both, but mostly it has been some kind of "full screen" affair that I switch to and control the system by MIDI controller and some keyboard bindings.

Yesterday I saw Gary / Deepvisual mention that you can use a Virtual Device as the INPUT of a slice for another output. Neat! Whilst playing with that I also had the idea to use an Advanced Output mapping to go to Spout and pull that back in to my composition.

Here I learned that a Virtual Device seems to be limited to the size of the composition. I'm not sure if that is true, but when I use a Virtual Device as the input source for a slice on another display, the input size is that of my composition, not of the dimensions specified for the Virtual Device (nor of the output screen device). That is a separate issue which could be raised on its own...

Nevertheless, a Virtual Device can be used as the source for one or more slices on another Screen, which could make for some interesting nested compositions. And this brought me to the idea of sending my Advanced Output mapping/arrangement back into the Composition so I can see it in the main UI, specifically in the Output Monitor window. The way that I use Resolume, the "Composition" is really not that useful a thing to be forced to have in that window, since it doesn't usually represent any projection mapping that I'm doing.

What makes an immense amount of sense to me is to allow the results of the Advanced Output feature to be shown in the main UI. With some fiddling about using Layer Routers and Spout (and additional layers for the layer routers) I made a working prototype.

I have MIDI buttons and keyboard keys mapped to change the contents of a layer, which of course appears in the small preview panels but I also mapped the "Larger Preview" layer to activate the layer router for that layer - an auto-switching preview, if you will.

I also made options to preview just the "Larger Preview" window, and disabling the Preview Overlay layer exposes the composition. One Output Window, three different "modes".

I have my Korg NanoKontrol2 setup to adjust opacity of the layers, and that all works nicely without messing up the trickery involved to get the previews to work. I can also use an external Spout Receiver program window if I want a larger preview, perhaps on another monitor.

SCREENSHOTS
Multi Preview 01a - layer previews in Main Output.png
Above we see layer previews, as well as the composition preview, in the Output Monitor window. The "Preview" window is minimised to have the most space available for my arrangement.
Multi Preview 01b - Large Preview selection layer.png
Above is detail showing that I have a layer dedicated to the "Larger Preview" slice. It consists of layer routers that pull the contents of the first 5 layers (with video content) as well as my "Effects" layer which, unusually, is actually higher up in the layer stack - since my screenshots are already this way and I haven't tested it in another order, that's the way it is for now. It should be able to work moved up two layers, between the "Composition" layer router layer and the "Preview Overlay" layer.
Multi Preview 02a - AdvOut - Preview Layers to virtual devicet.png
Above is shown the Virtual Device where I arrange just the 6 "content" layers for previewing. The bottom row has slices that ignore the layer Bypass and Opacity settings. The top row has slices that do not ignore those settings. This way I can see what content is in the layer as well as how strongly it is being applied to the mix.
Multi Preview 02b - AdvOut - MULTI VIEW to Spout.png
Above is the Advanced Output arrangement for what I want to appear in my Output Monitor window in the main Arena UI. The Preview Layers slice is sourced from the Preview Layers Virtual Device (cool!) and the "Larger Preview" (top left) slice input is a separate layer in the composition with Layer Routers used to make a 6x1 switch.

The "Composition" (top right) slice input is also a layer with a layer router used to grab the composition contents PRIOR TO the layer which overlays this multi preview arrangement.

The output device for this screen is Spout (shows up in Spout source listings containing the screen name, "MULTI PREVIEW").
Multi Preview 02c - AdvOut - Main output slice uses Composition layer router layert.png
Above we see a basic "main output" screen, which, like the MULTI PREVIEW screen, has the input source set to the layer router pulling the composition prior to the multi preview overlay.

I almost never use the master fader control for Resolume. Instead I use a Brightness & Contrast effect on whatever layer(s) I'm pulling my main output slice(s) from in Advanced Output. I use a slider for Brightness and a rotary knob for contrast.

IN CONCLUSION...

The Main Output window in Resolume is nice, but severely limited, especially once one moves away from a single rectangular output.

Please add a dropdown menu allowing selection of Virtual Devices from the Advanced Output system (and maybe also layers and Spout Sources), and maybe also allow that to be controlled nicely by MIDI and OSC. An option to disable the "Preview" window (and those few extra pixels for the collapsed Preview Window) would also be nice.

Cheers,
subpixel.

http://subpixels.com

User avatar
Arvol
Might as well join the team
Posts: 2772
Joined: Thu Jun 18, 2015 17:36
Location: Oklahoma, USA

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by Arvol »

Great post!
I've been doing something very similar for a while. I have a 32" TV at FOH and the bottom portion is where all my current active clips are shown and the upper half is split in two, I have the comp output on the left and the preview window in the right.
I don't use spout or syphon though, I just make a new screen and use a physical output.

Really love the detail here. I think this might really help out some people looking for advanced previewing ideas :)

Joris
Doesn't Know Jack about VJ'ing or Software Development and Mostly Just Gets Coffee for Everyone
Posts: 5185
Joined: Fri May 22, 2009 11:38

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by Joris »

Please add a dropdown menu allowing selection of Virtual Devices from the Advanced Output system (and maybe also layers and Spout Sources),
We like to think that the practicality of a technique is inversely proportional to the amount of routed layers it requires. A technique like that will work fine for someone in their bedroom, it's too much potential for mishaps on actual complex stages.

When your composition output does not resemble your stage output because you use routed layers for everything, the solution is not to route that output back in to the composition. That would be like curing a hangover with drinking more alcohol. Fun as it may be, it doesn't actually fix the problem. You just make the problem worse (in fact, you're not even admitting you have a problem, which is always the first step).

In all our communication, including the manual, forum, social media and private mails, we recommend explicitly against using layer to slice routing to position content. When we do this, over and over and over again, you might start to think that we have an idea on how positioning content should work, and what features we could implement to make working with more complex stages easier.

If you want to get an idea of where things are headed, I talk about it at some length here:
viewtopic.php?f=6&t=13404&p=55097#p55097
then some more here:
viewtopic.php?f=5&t=12671&p=51830#p51830
and again here:
viewtopic.php?f=6&t=13573&start=10#p55648

User avatar
subpixel
Hasn't felt like this about software in a long time
Posts: 152
Joined: Thu Jun 05, 2014 09:32
Location: Sydney, AU

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by subpixel »

Joris, please reconsider your response for a Composition that has no Layer Routers. I've used some layer routers here just to SIMULATE showing an Advanced Output preview in the main Resolume UI, and some for my own perverse desire to want to make a matrix switch.

Everything that happens up to and including the beaming of pixels on to a screen is compositing (if you recognise that even edge blending is a kind of compositing, and that might be done by an external hardware device or the beamers themselves).

If you really feel that "compositing" should happen as one (potentially) giant rectangle which is only at the very last step cut into segments for sending to separate hardware display devices, and that using advanced output to position content is "an XY problem", please carefully explain how your Chaser plugin does not go completely against this dogma.

The (unfortunate) fact is that there are basically no decent compositing options for placing content using layers in the "Composition".

Secondly, this idea of using a "Global Effect" over a composition completely and utterly does not work for very many even apparently simple mapping scenarios, except for effects that have zero geometric dependency and apply equally to all pixels such as Colorize.

Using N input video textures (DXV sources, FFGL Sources, camera sources, etc) in M ways (various permutations and blend modes) for O different output slices (using cropping, masking, scaling, warping, etc) is a completely reasonable thing to want to do.

Suggesting that everything be "composited" in the "Composition" to look exactly like a single-camera-view of the final output, perhaps using dozens of layers for dozens of elements that need to be placed, skewed, etc then slicing that up for potentially several kinds of output devices (beamers, LED panels, whatever) and possibly having to de-skew, etc, is completely bonkers.

-spxl
Last edited by subpixel on Thu Feb 23, 2017 17:32, edited 1 time in total.

User avatar
subpixel
Hasn't felt like this about software in a long time
Posts: 152
Joined: Thu Jun 05, 2014 09:32
Location: Sydney, AU

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by subpixel »

Slightly unrelated scathing criticism: the "Preview" window in the Resolume UI has severe performance problems. It seems to be worse for system performance than alternatives such as using Advanced Output to create a preview screen. And the static thumbnails shown in the layer controls are hopeless, especially for non-video-file sources.

User avatar
subpixel
Hasn't felt like this about software in a long time
Posts: 152
Joined: Thu Jun 05, 2014 09:32
Location: Sydney, AU

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by subpixel »

PS: If you want to open source the Chaser plugin so that other people can build "compositing" tools using whatever internal Resolume Advanced Output slice magic it contains, or perhaps just the slice magic parts (for going from the configuration file to OpenGL geometry, but without the sequencing, etc), that would be a fair response.

Joris
Doesn't Know Jack about VJ'ing or Software Development and Mostly Just Gets Coffee for Everyone
Posts: 5185
Joined: Fri May 22, 2009 11:38

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by Joris »

I think you may be misunderstanding what I'm trying to get across. Chaser is the exact example of the "dogma" we're working towards :)

I agree to an extent that "everything that happens up to and including the beaming of pixels on to a screen is compositing". What I'm saying is that the majority of this compositing (duplicating, positioning, scaling, etc) should happen in the composition, not in the advanced output. Only the very last step, which is aligning the resulting image to your physical object or cutting up the texture to fit the processor input, should happen in the advanced output. This is because this is a completely non-sensical step that can be hidden from you and the viewer. The actual warping that a projector needs to apply on an image to adjust for its angle, or exactly how a LED processor puzzles the slices together to fit into the allotted bandwidth, has zero relation to how the final image appears on the stage.

I completely agree that "there are basically no decent compositing options for placing content using layers in the "Composition"." This is why we want to focus on creating tools that will make all this easier to do (and not on creating more routing options).

I wholeheartedly, passionately to the point of obsession, down to the bottom of my toesies, agree that "Using N input video textures (DXV sources) in M ways (various permutations and blend modes) for O different output slices (using cropping, masking, scaling, warping, etc) is a completely reasonable thing to want to do." It's beyond reasonable, it's a fundamental necessity.

In that regard, I don't think I have mentioned anything about an "idea of using a "Global Effect" over a composition". What I'm talking about is that those N input textures, should end up in those O output slices, simply by rendering them in the same input area of the "global input texture" as where those O slices are. That way you can still use all your effects, blend modes, spout inputs, fancy shaders and whatnot to create those M permutations on those N input textures, before any final warping or redistributions happens in the advanced output. How on earth are you going to get all those permutations if your content leaves the composition stage before you've had a chance to really do anything with it?

I completely understand what you are trying to do. I also completely understand what you think are the solutions. We just differ on opinion on what the solutions are. Which is cool. We can't all think the same, and this forum is meant to share those views. I would like to point out that I make VJ software for a living and as a passion. Which means that I spend pretty much every waking hour either VJ'ing, making tools for VJ'ing or thinking about VJ'ing. Even when we don't agree on a subject, you can safely assume I've put considerable thought into it. When you start suggesting that my ideas are "completely bonkers", it's insulting and very disrespectful towards my time and effort.

Joris
Doesn't Know Jack about VJ'ing or Software Development and Mostly Just Gets Coffee for Everyone
Posts: 5185
Joined: Fri May 22, 2009 11:38

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by Joris »

If you want to open source the Chaser plugin so that other people can build "compositing" tools using whatever internal Resolume Advanced Output slice magic it contains, or perhaps just the slice magic parts (for going from the configuration file to OpenGL geometry
Honey, that all happens in the application and is completely open source.

weezhum
Is taking Resolume on a second date
Posts: 49
Joined: Tue Feb 05, 2008 02:31

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by weezhum »

God i love Joris, since day one.

User avatar
yochee
Hasn't felt like this about software in a long time
Posts: 122
Joined: Sun Sep 28, 2008 18:49
Location: Münster | Germany

Re: Give option for OUTPUT MONITOR to display mapping from ADVANCED OUTPUT (with example)

Post by yochee »

Hello,

+1 for possibility to see the final "Output Transformation" of the advanced output in the Output Monitor of Resolume.

Too bad previewing the mapping and screen distribution - whats actually playing - only if you use external plugins like Visution Mapio or Joris' Chaser (or if you leave open the advance output).

cheers

Post Reply