From aeae505bd4949791dcd38f6fb28706ac52f9b5ea Mon Sep 17 00:00:00 2001 From: Johns Date: Wed, 11 Apr 2012 12:15:12 +0200 Subject: [PATCH] Adds Hot-key support for 4:3 zoom modes. --- ChangeLog | 5 +++++ README.txt | 9 +++++++++ softhddevice.cpp | 20 +++++++++++++++----- video.c | 5 +++++ 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index a0dd4f3..0d22526 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +User johns +Date: + + Adds Hot-key support for 4:3 zoom modes. + User johns Date: Sat Apr 7 20:21:16 CEST 2012 diff --git a/README.txt b/README.txt index 026a82b..28d39d7 100644 --- a/README.txt +++ b/README.txt @@ -248,6 +248,15 @@ Keymacros: @softhddevice Blue 1 0 disable pass-through @softhddevice Blue 1 1 enable pass-through @softhddevice Blue 1 2 toggle pass-through + @softhddevice Blue 1 3 decrease audio delay by 10ms + @softhddevice Blue 1 4 increase audio delay by 10ms + @softhddevice Blue 2 0 disable fullscreen + @softhddevice Blue 2 1 enable fullscreen + @softhddevice Blue 2 2 toggle fullscreen + @softhddevice Blue 3 0 stretch 4:3 to 16:9 + @softhddevice Blue 3 1 letter box 4:3 in 16:9 + @softhddevice Blue 3 2 center cut-out 4:3 to 16:9 + @softhddevice Blue 3 9 rotate 4:3 to 16:9 zoom mode Running: -------- diff --git a/softhddevice.cpp b/softhddevice.cpp index 6b27c9d..5f5a764 100644 --- a/softhddevice.cpp +++ b/softhddevice.cpp @@ -48,7 +48,7 @@ extern "C" /// vdr-plugin version number. /// Makefile extracts the version number for generating the file name /// for the distribution archive. -static const char *const VERSION = "0.5.0" +static const char *const VERSION = "0.5.1" #ifdef GIT_REV "-GIT" GIT_REV #endif @@ -862,6 +862,14 @@ static void HandleHotkey(int code) case 22: // toggle full screen VideoSetFullscreen(-1); break; + case 30: // change 4:3 -> 16:9 mode + case 31: + case 32: + VideoSetDisplayFormat(code - 30); + break; + case 39: // rortate 4:3 -> 16:9 mode + VideoSetDisplayFormat(-1); + break; default: esyslog(tr("[softhddev]: hot key %d is not supported\n"), code); break; @@ -1506,15 +1514,13 @@ bool cPluginSoftHdDevice::Start(void) //dsyslog("[softhddev]%s:\n", __FUNCTION__); if (!MyDevice->IsPrimaryDevice()) { - isyslog("[softhddev] softhddevice is not the primary device!"); + isyslog("[softhddev] softhddevice %d is not the primary device!", + MyDevice->DeviceNumber()); if (ConfigMakePrimary) { // Must be done in the main thread dsyslog("[softhddev] makeing softhddevice %d the primary device!", MyDevice->DeviceNumber()); DoMakePrimary = MyDevice->DeviceNumber() + 1; - } else { - isyslog("[softhddev] softhddevice %d is not the primary device!", - MyDevice->DeviceNumber()); } } @@ -1793,6 +1799,10 @@ static const char *SVDRPHelpText[] = { " 20: disable fullscreen\n" " 21: enable fullscreen\n" " 22: toggle fullscreen\n", + " 30: stretch 4:3 to 16:9\n" + " 31: letter box 4:3 in 16:9\n" + " 32: center cut-out 4:3 to 16:9\n", + " 39: rotate 4:3 to 16:9 zoom mode\n", NULL }; diff --git a/video.c b/video.c index a5a7b12..9433c9c 100644 --- a/video.c +++ b/video.c @@ -9592,6 +9592,8 @@ void VideoSetVideoMode( __attribute__ ((unused)) /// /// Set video display format. /// +/// @param format video format (stretch, normal, center cut-out) +/// void VideoSetDisplayFormat(int format) { VideoOsdExit(); @@ -9600,6 +9602,9 @@ void VideoSetDisplayFormat(int format) VideoThreadLock(); switch (format) { + case -1: // rotate settings + Video4to3ZoomMode = (Video4to3ZoomMode + 1) % VideoCenterCutOut; + break; case 0: // pan&scan (we have no pan&scan) Video4to3ZoomMode = VideoStretch; break;