1 #include <enigma_vcr.h>
3 #include <enigma_standby.h>
4 #include <lib/gui/actions.h>
5 #include <lib/system/init.h>
6 #include <lib/system/init_num.h>
7 #include <lib/driver/eavswitch.h>
8 #include <lib/driver/streamwd.h>
10 struct enigmaVCRActions
13 eAction volumeUp
, volumeDown
;
15 map("enigmaVCR", "enigma VCR"),
16 volumeUp(map
, "volumeUp", "volume up", eAction::prioDialog
),
17 volumeDown(map
, "volumeDown", "volume down", eAction::prioDialog
)
22 eAutoInitP0
<enigmaVCRActions
> i_enigmaVCRActions(eAutoInitNumbers::actions
, "enigma vcr actions");
24 enigmaVCR
* enigmaVCR::instance
= 0;
26 enigmaVCR::enigmaVCR(eString string
, eString caption
)
27 :eMessageBox(string
,caption
)
32 eFatal("create more than one enigmaVCR instances");
33 addActionMap(&i_enigmaVCRActions
->map
);
36 void enigmaVCR::switchBack()
42 int enigmaVCR::eventHandler(const eWidgetEvent
&event
)
46 case eWidgetEvent::execBegin
:
47 eAVSwitch::getInstance()->setInput(1);
49 case eWidgetEvent::evtAction
:
50 if (event
.action
== &i_enigmaVCRActions
->volumeUp
)
52 else if (event
.action
== &i_enigmaVCRActions
->volumeDown
)
60 return eMessageBox::eventHandler(event
);
63 enigmaVCR::~enigmaVCR()
65 if ( eZapStandby::getInstance() )
66 eAVSwitch::getInstance()->setTVPin8(0);
69 eAVSwitch::getInstance()->setInput(0);
70 eAVSwitch::getInstance()->setTVPin8(-1); // reset prev voltage
71 eStreamWatchdog::getInstance()->reloadSettings();
76 void enigmaVCR::volumeUp()
78 eAVSwitch::getInstance()->changeVCRVolume(0, -4);
81 void enigmaVCR::volumeDown()
83 eAVSwitch::getInstance()->changeVCRVolume(0, +4);