Support detach or suspend in plugin menu.

This commit is contained in:
Johns 2014-06-04 14:49:18 +02:00
parent ac7672053a
commit 90538ebfa9
3 changed files with 58 additions and 6 deletions

View File

@ -1,6 +1,16 @@
User johns User johns
Date: Date:
Config for automatic AES parameters.
User master_red
Date: Wed Jun 4 14:44:32 CEST 2014
Support detach or suspend in plugin menu.
User johns
Date: Fri May 30 10:18:20 CEST 2014
Fix "make clean-plugins". Fix "make clean-plugins".
Fix compile with newer libav. Fix compile with newer libav.
Fix OSD bugs. Fix OSD bugs.

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR \n" "Project-Id-Version: VDR \n"
"Report-Msgid-Bugs-To: <see README>\n" "Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2014-02-26 15:08+0100\n" "POT-Creation-Date: 2014-03-20 11:50+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -489,6 +489,9 @@ msgstr "OSD Höhe"
msgid "Suspend" msgid "Suspend"
msgstr "Unterbrechen" msgstr "Unterbrechen"
msgid "Detach from main menu entry"
msgstr "Detach durch Hauptmenüeintrag"
msgid "Suspend closes video+audio" msgid "Suspend closes video+audio"
msgstr "Unterbrechen schließt Video+Audio" msgstr "Unterbrechen schließt Video+Audio"
@ -604,7 +607,7 @@ msgid " E-AC-3 pass-through"
msgstr "" msgstr ""
msgid "Enable (E-)AC-3 (decoder) downmix" msgid "Enable (E-)AC-3 (decoder) downmix"
msgstr "" msgstr "Aktiviere (E-)AC-3 (decoder) downmix""
msgid "Volume control" msgid "Volume control"
msgstr "Lautstärkesteuerung" msgstr "Lautstärkesteuerung"
@ -633,6 +636,9 @@ msgstr "Reduziere Steropegel (/1000)"
msgid "Audio buffer size (ms)" msgid "Audio buffer size (ms)"
msgstr "Audio Puffergröße (ms)" msgstr "Audio Puffergröße (ms)"
msgid "Enable automatic AES"
msgstr "Aktiviere automatiche AES"
msgid "Picture-In-Picture" msgid "Picture-In-Picture"
msgstr "Bild in Bild (PIP)" msgstr "Bild in Bild (PIP)"
@ -697,6 +703,9 @@ msgstr ""
msgid "Channel not available!" msgid "Channel not available!"
msgstr "Kanal nicht verfügbar!" msgstr "Kanal nicht verfügbar!"
msgid "Detach SoftHdDevice"
msgstr ""
msgid "Suspend SoftHdDevice" msgid "Suspend SoftHdDevice"
msgstr "Unterbreche SoftHdDevice" msgstr "Unterbreche SoftHdDevice"

View File

@ -79,6 +79,7 @@ static const char *const Resolution[RESOLUTIONS] = {
static char ConfigMakePrimary; ///< config primary wanted static char ConfigMakePrimary; ///< config primary wanted
static char ConfigHideMainMenuEntry; ///< config hide main menu entry static char ConfigHideMainMenuEntry; ///< config hide main menu entry
static char ConfigDetachFromMainMenu; ///< detach from main menu entry instead of suspend
static char ConfigSuspendClose; ///< suspend should close devices static char ConfigSuspendClose; ///< suspend should close devices
static char ConfigSuspendX11; ///< suspend should stop x11 static char ConfigSuspendX11; ///< suspend should stop x11
@ -139,6 +140,7 @@ static char ConfigAudioCompression; ///< config use volume compression
static int ConfigAudioMaxCompression; ///< config max volume compression static int ConfigAudioMaxCompression; ///< config max volume compression
static int ConfigAudioStereoDescent; ///< config reduce stereo loudness static int ConfigAudioStereoDescent; ///< config reduce stereo loudness
int ConfigAudioBufferTime; ///< config size ms of audio buffer int ConfigAudioBufferTime; ///< config size ms of audio buffer
static int ConfigAudioAutoAES; ///< config automatic AES handling
static char *ConfigX11Display; ///< config x11 display static char *ConfigX11Display; ///< config x11 display
static char *ConfigAudioDevice; ///< config audio stereo device static char *ConfigAudioDevice; ///< config audio stereo device
@ -597,6 +599,7 @@ class cMenuSetupSoft:public cMenuSetupPage
int General; int General;
int MakePrimary; int MakePrimary;
int HideMainMenuEntry; int HideMainMenuEntry;
int DetachFromMainMenu;
int OsdSize; int OsdSize;
int OsdWidth; int OsdWidth;
int OsdHeight; int OsdHeight;
@ -648,6 +651,7 @@ class cMenuSetupSoft:public cMenuSetupPage
int AudioMaxCompression; int AudioMaxCompression;
int AudioStereoDescent; int AudioStereoDescent;
int AudioBufferTime; int AudioBufferTime;
int AudioAutoAES;
#ifdef USE_PIP #ifdef USE_PIP
int Pip; int Pip;
@ -775,6 +779,8 @@ void cMenuSetupSoft::Create(void)
// suspend // suspend
// //
Add(SeparatorItem(tr("Suspend"))); Add(SeparatorItem(tr("Suspend")));
Add(new cMenuEditBoolItem(tr("Detach from main menu entry"),
&DetachFromMainMenu, trVDR("no"), trVDR("yes")));
Add(new cMenuEditBoolItem(tr("Suspend closes video+audio"), Add(new cMenuEditBoolItem(tr("Suspend closes video+audio"),
&SuspendClose, trVDR("no"), trVDR("yes"))); &SuspendClose, trVDR("no"), trVDR("yes")));
Add(new cMenuEditBoolItem(tr("Suspend stops x11"), &SuspendX11, Add(new cMenuEditBoolItem(tr("Suspend stops x11"), &SuspendX11,
@ -892,6 +898,8 @@ void cMenuSetupSoft::Create(void)
&AudioStereoDescent, 0, 1000)); &AudioStereoDescent, 0, 1000));
Add(new cMenuEditIntItem(tr("Audio buffer size (ms)"), Add(new cMenuEditIntItem(tr("Audio buffer size (ms)"),
&AudioBufferTime, 0, 1000)); &AudioBufferTime, 0, 1000));
Add(new cMenuEditBoolItem(tr("Enable automatic AES"), &AudioAutoAES,
trVDR("no"), trVDR("yes")));
} }
#ifdef USE_PIP #ifdef USE_PIP
// //
@ -997,6 +1005,7 @@ cMenuSetupSoft::cMenuSetupSoft(void)
General = 0; General = 0;
MakePrimary = ConfigMakePrimary; MakePrimary = ConfigMakePrimary;
HideMainMenuEntry = ConfigHideMainMenuEntry; HideMainMenuEntry = ConfigHideMainMenuEntry;
DetachFromMainMenu = ConfigDetachFromMainMenu;
// //
// osd // osd
// //
@ -1074,6 +1083,7 @@ cMenuSetupSoft::cMenuSetupSoft(void)
AudioMaxCompression = ConfigAudioMaxCompression; AudioMaxCompression = ConfigAudioMaxCompression;
AudioStereoDescent = ConfigAudioStereoDescent; AudioStereoDescent = ConfigAudioStereoDescent;
AudioBufferTime = ConfigAudioBufferTime; AudioBufferTime = ConfigAudioBufferTime;
AudioAutoAES = ConfigAudioAutoAES;
#ifdef USE_PIP #ifdef USE_PIP
// //
@ -1110,6 +1120,8 @@ void cMenuSetupSoft::Store(void)
SetupStore("MakePrimary", ConfigMakePrimary = MakePrimary); SetupStore("MakePrimary", ConfigMakePrimary = MakePrimary);
SetupStore("HideMainMenuEntry", ConfigHideMainMenuEntry = SetupStore("HideMainMenuEntry", ConfigHideMainMenuEntry =
HideMainMenuEntry); HideMainMenuEntry);
SetupStore("DetachFromMainMenu", ConfigDetachFromMainMenu =
DetachFromMainMenu);
switch (OsdSize) { switch (OsdSize) {
case 0: case 0:
OsdWidth = 0; OsdWidth = 0;
@ -1236,6 +1248,8 @@ void cMenuSetupSoft::Store(void)
AudioStereoDescent); AudioStereoDescent);
AudioSetStereoDescent(ConfigAudioStereoDescent); AudioSetStereoDescent(ConfigAudioStereoDescent);
SetupStore("AudioBufferTime", ConfigAudioBufferTime = AudioBufferTime); SetupStore("AudioBufferTime", ConfigAudioBufferTime = AudioBufferTime);
SetupStore("AudioAutoAES", ConfigAudioAutoAES = AudioAutoAES);
AudioSetAutoAES(ConfigAudioAutoAES);
#ifdef USE_PIP #ifdef USE_PIP
SetupStore("pip.X", ConfigPipX = PipX); SetupStore("pip.X", ConfigPipX = PipX);
@ -1768,7 +1782,12 @@ void cSoftHdMenu::Create(void)
Clear(); // clear the menu Clear(); // clear the menu
SetHasHotkeys(); SetHasHotkeys();
Add(new cOsdItem(hk(tr("Suspend SoftHdDevice")), osUser1));
if (ConfigDetachFromMainMenu) {
Add(new cOsdItem(hk(tr("Detach SoftHdDevice")), osUser1));
} else {
Add(new cOsdItem(hk(tr("Suspend SoftHdDevice")), osUser1));
}
#ifdef USE_PIP #ifdef USE_PIP
if (PipReceiver) { if (PipReceiver) {
Add(new cOsdItem(hk(tr("PIP toggle on/off: off")), osUser2)); Add(new cOsdItem(hk(tr("PIP toggle on/off: off")), osUser2));
@ -2016,9 +2035,14 @@ eOSState cSoftHdMenu::ProcessKey(eKeys key)
if (SuspendMode == NOT_SUSPENDED && !cSoftHdControl::Player) { if (SuspendMode == NOT_SUSPENDED && !cSoftHdControl::Player) {
cControl::Launch(new cSoftHdControl); cControl::Launch(new cSoftHdControl);
cControl::Attach(); cControl::Attach();
Suspend(ConfigSuspendClose, ConfigSuspendClose, if (ConfigDetachFromMainMenu) {
ConfigSuspendX11); Suspend(1, 1, 0);
SuspendMode = SUSPEND_NORMAL; SuspendMode = SUSPEND_DETACHED;
} else {
Suspend(ConfigSuspendClose, ConfigSuspendClose,
ConfigSuspendX11);
SuspendMode = SUSPEND_NORMAL;
}
if (ShutdownHandler.GetUserInactiveTime()) { if (ShutdownHandler.GetUserInactiveTime()) {
dsyslog("[softhddev]%s: set user inactive\n", dsyslog("[softhddev]%s: set user inactive\n",
__FUNCTION__); __FUNCTION__);
@ -2841,6 +2865,10 @@ bool cPluginSoftHdDevice::SetupParse(const char *name, const char *value)
ConfigHideMainMenuEntry = atoi(value); ConfigHideMainMenuEntry = atoi(value);
return true; return true;
} }
if (!strcasecmp(name, "DetachFromMainMenu")) {
ConfigDetachFromMainMenu = atoi(value);
return true;
}
if (!strcasecmp(name, "Osd.Width")) { if (!strcasecmp(name, "Osd.Width")) {
ConfigOsdWidth = atoi(value); ConfigOsdWidth = atoi(value);
VideoSetOsdSize(ConfigOsdWidth, ConfigOsdHeight); VideoSetOsdSize(ConfigOsdWidth, ConfigOsdHeight);
@ -3040,6 +3068,11 @@ bool cPluginSoftHdDevice::SetupParse(const char *name, const char *value)
ConfigAudioBufferTime = atoi(value); ConfigAudioBufferTime = atoi(value);
return true; return true;
} }
if (!strcasecmp(name, "AudioAutoAES")) {
ConfigAudioAutoAES = atoi(value);
AudioSetAutoAES(ConfigAudioAutoAES);
return true;
}
#ifdef USE_PIP #ifdef USE_PIP
if (!strcasecmp(name, "pip.X")) { if (!strcasecmp(name, "pip.X")) {
ConfigPipX = atoi(value); ConfigPipX = atoi(value);