Request: Video Zoom in/out actions
#1
Hi everyone,

First off, I'd like to congratulate the devs on making such a fantastic media centre. I've only recently started using it, but I love it. I've just got myself a IR receiver, and have my remote configured 99% to my liking.

The problem is, there is no way to zoom in and out on a fullscreen video. I've done some forum searching, and it seems this has been requested a few times over the years, but has not been implemented.

The usual response from the developers has been that this feature would not be useful, and that the default aspect ratio modes are sufficient, and that the OSD provides this feature.

It would seem that a lot of people really do want this feature though. The reason it is useful is this: many TV shows are 4:3, and many widescreen movies are 2.35:1. Yet, most widescreen TV's (including mine) are 16:9. This means that for virtually all sources, there are significant black bars. I prefer to zoom in slightly, to what is more or less a happy medium between wasted screen real estate and clipped video.

Now, I could set my default zoom to 1.10 or 1.20 (which I usually use), but then most HD TV shows come in 16:9, so that's not an appropriate setting either.

So you see, the existing solutions really don't work for a lot of people. A pair Keymap-able actions for zoom in by 10% and zoom out by 10% would be fantastic and greatly appreciated by many users. From the code I've looked at, XBMC is very cleanly coded, so it can't really be that hard to add, can it?

My greatest thanks if you can implement this for me (and even if you can't because the product still rocks!)
Reply
#2
Patch welcome. This would be a nice easy change for someone who wants to get into XBMC development. See the OnAction routine in GUIWindowFullScreen.cpp and duplicate the AudioDelay and SubtitleDelay settings. What should be done in the callback can be seen by looking in GUIDialogVideoSettings.cpp

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#3
I think I might do that. Thanks for the tips on where to look!
Reply
#4
Hey,

I'm having some trouble making the patch. I'm hoping you can help me out a little.

In the GUIDialogVideoSettings.cpp file, the OnSettingsChanged event handler seems to handle zoom changes as follows:

Set the ViewMode to custom for both the currentVideoSettings and the renderManager, then call UpdateSetting(). I assume the UpdateSetting function triggers the event handler again, where the VIDEO_SETTINGS_VIEW_MODE else if block actually changes the zoom in currentVideoSettings.

Am i correct in assuming that g_stSettings.m_fZoomAmount references the variable adjusted by the slider in the OSD?

Also, where is the UpdateSetting function defined/included? I tried calling it from the GUIWindowFullScreen.cpp file, but it couldn't find the function.

I'm not sure if I wrote this e-mail very well. Basically, I'm looking into a little more insight into how the settings system in XBMC functions.

Thanks!
Reply
#5
It's a little bit of a maze, yeah.

UpdateSetting just tells a UI control to update - we use it as altering the pixelratio or zoom amount necessarily changes to the CUSTOM zoommode, thus we tell the VIEW_MODE setting to update it's UI control as we've switched it to custom. You don't need to do this in GUIWindowFullscreen as you don't have any control that needs updating.

All you need to alter is m_customZoomAmount or m_customPixelRatio, and then set the render managers' viewmode to custom. That's should be all that's needed.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#6
Any news on this ?
Thanks to all XBMC contributors, devs, skinners, scripters, ... It's really an amazing piece of software.
Reply

Logout Mark Read Team Forum Stats Members Help
Request: Video Zoom in/out actions1