Menu

#14 Dual monitor issue

closed
BleeBlap
None
5
2009-02-18
2007-02-28
Andy Milne
No

If you've got multiple monitors then it will only capture video from the primary monitor.

Discussion

  • Dirk Fieldhouse

    Dirk Fieldhouse - 2007-07-13

    Logged In: YES
    user_id=583698
    Originator: NO

    The first problem is in vscapView.cpp, at line 995 ff.

    In the function CVscapView::OnRecordStart, we have

    maxxScreen = GetDeviceCaps\(hScreenDC,HORZRES\);
    maxyScreen = GetDeviceCaps\(hScreenDC,VERTRES\);        
    FixRectSizePos\(&rc,maxxScreen, maxyScreen\);
    

    This constrains the capture window to the size of the primary display.

    The 1st 2 lines should check the *virtual screen* (bounding rect of all monitors) size using

    maxxScreen = GetSystemMetrics\(SM\_CXVIRTUALSCREEN\);
    maxyScreen = GetSystemMetrics\(SM\_CYVIRTUALSCREEN\);
    

    Elsewhere it's necessary to remove the assumption that the capture area must be in x>=0, y>=0, so that a secondary monitor to the left of the primary one can be captured, and instead have x >= GetSystemMetrics(SM_XVIRTUALSCREEN), y >= GetSystemMetrics(SM_CYVIRTUALSCREEN). Likely places for this include FixedRegion.cpp and the function FixRectSizePos() called above (vscapView.cpp, line 1925 ff).

     
  • BleeBlap

    BleeBlap - 2009-02-18

    Multiple monitor support has been added and will be available in the next release.

    A beta version of this feature is available by downloading and building the latest version of the source.

     
  • BleeBlap

    BleeBlap - 2009-02-18
    • status: open --> closed
    • assigned_to: nobody --> bleeblap
     
MongoDB Logo MongoDB