Posted By: itprochris | Aug 24th, 2006 @ 6:50 PM
page 1 of 1
Comments: 8 | Views: 3512
itprochris
itprochris
Holiday Avatar made with C9IAC
I am writing an application that does live titling and video-playout to be used for a live production. I am using Visual Basic 2005.

I have my main admin screen on one form, and I want to have the actual results (the video output and the titles and everything) to be sent from my S-Video out port.

Is there a way to do this, without using the S-Video out port as another monitor, and setting the bounds of the player window to the bounds of the second monitor? Is there a "real" way?

Thanks!
Chris
W3bbo
W3bbo
The Master of Baiters
As in a .NET API for this sort of stuff? Nope Smiley

Just treat the monitor on the S-Video out as an extended desktop (provided it's set up properly in Display settings) and move the Window on there (manually) and render ahoy.
CannotResolveSymbol
CannotResolveSymbol
{insert caption here}
itprochris wrote:
I am writing an application that does live titling and video-playout to be used for a live production. I am using Visual Basic 2005.

I have my main admin screen on one form, and I want to have the actual results (the video output and the titles and everything) to be sent from my S-Video out port.

Is there a way to do this, without using the S-Video out port as another monitor, and setting the bounds of the player window to the bounds of the second monitor? Is there a "real" way?

Thanks!
Chris


Not really.  The "real" way (the way programs like Powerpoint, Mediashout, etc. do it is to treat the S-Video out port as a second monitor with a full-screen window.
W3bbo
W3bbo
The Master of Baiters
itprochris wrote:
I have seen video editing software that allows you to preview the output of the timeline right on an external monitor hooked thorugh S-video. My concern is that the mouse will move onto the form that is rendering the title, and it would display on the big screen.

Is GDI something that I should use to render, or is there something else?
Thanks.


Those high-end digital video editing stations with Sony Trinitron TVs hooked up don't run Windows Smiley

There is a set of Win32 functions you can use to prevent the mouse leaving a rectangular region too.
Andrew Davey
Andrew Davey
www.aboutcode.net
You can "hide" the cursor on the other form by assigning a blank cursor image to the form's Cursor property.
You could even probably do some WinAPI hackery to prevent the mouse ever entering the other form... [EDIT: Bah, W3bbo you're fast Wink]

Of course you could get totally advanced and use DirectX (or maybe WPF even) to take over the whole secondary display adapter.
figuerres
figuerres
???
I think this partly depends on the Gfx Card but...

if your Gfx card has svideo see if the display control panel lets you pick "extend display"

then in your app use the windows API calls that will capture input.

you can force the mouse and keybaord input focus to your app.

just make a form with no borders and the size of the screen.

for some info on how to make full-screen look at the starter kit for making a screen saver -- it has some code in that you may want to steal Big Smile
figuerres
figuerres
???

look at this from the screen saver sample....
now do the "full screen" to the output form and the capture to the input form.
get the screen metrics and locate each form where you want it.

/// <summary>
/// Set up the main form as a full screen screensaver.
/// </summary>

private void SetupScreenSaver()
{
// Use double buffering to improve drawing performance
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
// Capture the mouse
this.Capture = true;
// Set the application to full screen mode and hide the mouse
Cursor.Hide();
Bounds = Screen.PrimaryScreen.Bounds;
WindowState = FormWindowState.Maximized;
ShowInTaskbar = false;
DoubleBuffered = true;
BackgroundImageLayout = ImageLayout.Stretch;
}

page 1 of 1
Comments: 8 | Views: 3512
Microsoft Communities