diff options
Diffstat (limited to 'dxr3.c')
-rw-r--r-- | dxr3.c | 262 |
1 files changed, 147 insertions, 115 deletions
@@ -1,11 +1,11 @@ /* -* dxr3.c: A plugin for the Video Disk Recorder -* -* See the README file for copyright information and how to reach the author. -* -* $Id: dxr3.c,v 1.1.2.9 2005/04/19 06:11:43 scop Exp $ -*/ - + * dxr3.c: A plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + * + * $Id: dxr3.c,v 1.1.2.10 2005/04/19 18:19:36 scop Exp $ + * + */ #include "dxr3vdrincludes.h" #include "dxr3device.h" @@ -23,180 +23,212 @@ static const char *MAINMENUENTRY = "DXR3"; // ================================== // 'message-handler' for the main screen -eOSState cDxr3OsdItem::ProcessKey(eKeys Key) +eOSState cDxr3OsdItem::ProcessKey(eKeys Key) { - if (Key == kOk) + if (Key == kOk) + { + switch (m_item) { - switch (m_item) - { - case DXR3_RESET_HARDWARE: - cDxr3Interface::Instance().ResetHardware(); - if (cDxr3Device::InstanceP()) - cDxr3Device::InstanceP()->Reset(); - break; - - case DXR3_FORCE_LETTER_BOX: - cDxr3ConfigData::Instance().SetForceLetterBox(!cDxr3ConfigData::Instance().GetForceLetterBox()); - break; - - case DXR3_ANALOG_OUT: - cLog::Instance() << "Changing audio to analog\n"; - cDxr3ConfigData::Instance().SetUseDigitalOut(0); - cDxr3ConfigData::Instance().SetAc3OutPut(0); - if (cDxr3Device::InstanceP()) - cDxr3Device::InstanceP()->Reset(); - break; - - case DXR3_DIGITAL_OUT: - cLog::Instance() << "Changing audio to digital\n"; - cDxr3ConfigData::Instance().SetUseDigitalOut(1); - cDxr3ConfigData::Instance().SetAc3OutPut(0); - if (cDxr3Device::InstanceP()) - cDxr3Device::InstanceP()->Reset(); - break; - - case DXR3_AC3_OUT: - cLog::Instance() << "Changing audio to ac3\n"; - cDxr3ConfigData::Instance().SetAc3OutPut(!cDxr3ConfigData::Instance().GetAc3OutPut()); - if (cDxr3Device::InstanceP()) - cDxr3Device::InstanceP()->Reset(); - break; - } + case DXR3_RESET_HARDWARE: + cDxr3Interface::Instance().ResetHardware(); + if (cDxr3Device::InstanceP()) + cDxr3Device::InstanceP()->Reset(); + break; + + case DXR3_FORCE_LETTER_BOX: + cDxr3ConfigData::Instance().SetForceLetterBox(!cDxr3ConfigData::Instance().GetForceLetterBox()); + break; + + case DXR3_ANALOG_OUT: + cLog::Instance() << "Changing audio to analog\n"; + cDxr3ConfigData::Instance().SetUseDigitalOut(0); + cDxr3ConfigData::Instance().SetAc3OutPut(0); + if (cDxr3Device::InstanceP()) + cDxr3Device::InstanceP()->Reset(); + break; + + case DXR3_DIGITAL_OUT: + cLog::Instance() << "Changing audio to digital\n"; + cDxr3ConfigData::Instance().SetUseDigitalOut(1); + cDxr3ConfigData::Instance().SetAc3OutPut(0); + if (cDxr3Device::InstanceP()) + cDxr3Device::InstanceP()->Reset(); + break; + + case DXR3_AC3_OUT: + cLog::Instance() << "Changing audio to ac3\n"; + cDxr3ConfigData::Instance().SetAc3OutPut(!cDxr3ConfigData::Instance().GetAc3OutPut()); + if (cDxr3Device::InstanceP()) + cDxr3Device::InstanceP()->Reset(); + break; } - - return Key == kOk ? osBack : cOsdItem::ProcessKey(Key); + } + + return Key == kOk ? osBack : cOsdItem::ProcessKey(Key); } // ================================== // setup menu cMenuSetupDxr3::cMenuSetupDxr3(void) { - newUseDigitalOut = cDxr3ConfigData::Instance().GetUseDigitalOut(); - Add(new cMenuEditBoolItem(tr("Digital audio output"), &newUseDigitalOut)); - newDxr3Card = cDxr3ConfigData::Instance().GetDxr3Card(); - Add(new cMenuEditIntItem(tr("Card number"), &newDxr3Card)); - newVideoMode = (int) cDxr3ConfigData::Instance().GetVideoMode(); - menuVideoModes[0] = tr("PAL"); - menuVideoModes[1] = tr("PAL60"); - menuVideoModes[2] = tr("NTSC"); - Add(new cMenuEditStraItem(tr("Video mode"), &newVideoMode, 3, menuVideoModes)); - newDebug = (int) cDxr3ConfigData::Instance().GetDebug(); - Add(new cMenuEditBoolItem(tr("Debug mode"), &newDebug)); - newDebugLevel = (int) cDxr3ConfigData::Instance().GetDebugLevel(); - menuDebugModes[0] = tr("low"); - menuDebugModes[1] = tr("everything"); - Add(new cMenuEditStraItem(tr("Debug level"), &newDebugLevel, 2, menuDebugModes)); + newUseDigitalOut = cDxr3ConfigData::Instance().GetUseDigitalOut(); + Add(new cMenuEditBoolItem(tr("Digital audio output"), &newUseDigitalOut)); + newDxr3Card = cDxr3ConfigData::Instance().GetDxr3Card(); + Add(new cMenuEditIntItem(tr("Card number"), &newDxr3Card)); + newVideoMode = (int) cDxr3ConfigData::Instance().GetVideoMode(); + menuVideoModes[0] = tr("PAL"); + menuVideoModes[1] = tr("PAL60"); + menuVideoModes[2] = tr("NTSC"); + Add(new cMenuEditStraItem(tr("Video mode"), + &newVideoMode, 3, menuVideoModes)); + newDebug = (int) cDxr3ConfigData::Instance().GetDebug(); + Add(new cMenuEditBoolItem(tr("Debug mode"), &newDebug)); + newDebugLevel = (int) cDxr3ConfigData::Instance().GetDebugLevel(); + menuDebugModes[0] = tr("low"); + menuDebugModes[1] = tr("everything"); + Add(new cMenuEditStraItem(tr("Debug level"), + &newDebugLevel, 2, menuDebugModes)); } // ================================== // save menu values void cMenuSetupDxr3::Store(void) -{ - SetupStore("UseDigitalOut", cDxr3ConfigData::Instance().SetUseDigitalOut(newUseDigitalOut)); - SetupStore("Dxr3Card", cDxr3ConfigData::Instance().SetDxr3Card(newDxr3Card)); - SetupStore("Dxr3VideoMode", cDxr3ConfigData::Instance().SetVideoMode((eVideoMode) newVideoMode)); - SetupStore("Dxr3Debug", cDxr3ConfigData::Instance().SetDebug(newDebug)); - SetupStore("Dxr3DebugLevel", cDxr3ConfigData::Instance().SetDebugLevel(newDebugLevel)); +{ + SetupStore("UseDigitalOut", + cDxr3ConfigData::Instance().SetUseDigitalOut(newUseDigitalOut)); + SetupStore("Dxr3Card", + cDxr3ConfigData::Instance().SetDxr3Card(newDxr3Card)); + SetupStore("Dxr3VideoMode", + cDxr3ConfigData::Instance().SetVideoMode((eVideoMode) newVideoMode)); + SetupStore("Dxr3Debug", + cDxr3ConfigData::Instance().SetDebug(newDebug)); + SetupStore("Dxr3DebugLevel", + cDxr3ConfigData::Instance().SetDebugLevel(newDebugLevel)); } // ================================== -class cPluginDxr3 : public cPlugin +class cPluginDxr3 : public cPlugin { private: - // Add any member variables or functions you may need here. + // Add any member variables or functions you may need here. public: - cPluginDxr3(); - ~cPluginDxr3(); - const char *Version() { return VERSION; } - const char *Description() { return tr(DESCRIPTION); } - const char *CommandLineHelp(); - bool ProcessArgs(int argc, char *argv[]); - bool Initialize(); - bool Start(); - void Housekeeping(); - cMenuSetupPage *SetupMenu(); - bool SetupParse(const char *Name, const char *Value); - const char* MainMenuEntry(); - cOsdObject* MainMenuAction(); + cPluginDxr3(); + ~cPluginDxr3(); + const char *Version() + { + return VERSION; + } + const char *Description() + { + return tr(DESCRIPTION); + } + const char *CommandLineHelp(); + bool ProcessArgs(int argc, char *argv[]); + bool Initialize(); + bool Start(); + void Housekeeping(); + cMenuSetupPage *SetupMenu(); + bool SetupParse(const char *Name, const char *Value); + const char* MainMenuEntry(); + cOsdObject* MainMenuAction(); }; // ================================== -cPluginDxr3::cPluginDxr3() +cPluginDxr3::cPluginDxr3() { - // Initialize any member varaiables here. - // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL - // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! - cDxr3ConfigData::Instance(); + // Initialize any member varaiables here. + // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL + // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! + cDxr3ConfigData::Instance(); } // ================================== -cPluginDxr3::~cPluginDxr3() +cPluginDxr3::~cPluginDxr3() { } // ================================== -const char *cPluginDxr3::CommandLineHelp() +const char *cPluginDxr3::CommandLineHelp() { - return NULL; + return NULL; } // ================================== -bool cPluginDxr3::ProcessArgs(int argc, char *argv[]) +bool cPluginDxr3::ProcessArgs(int argc, char *argv[]) { - return true; + return true; } // ================================== -bool cPluginDxr3::Start() +bool cPluginDxr3::Start() { return true; } // ================================== -bool cPluginDxr3::Initialize() +bool cPluginDxr3::Initialize() { - RegisterI18n(Phrases); + RegisterI18n(Phrases); - new cDxr3CPU(); - cDxr3Device::InstanceP(); + new cDxr3CPU(); + cDxr3Device::InstanceP(); return true; -} +} -// ================================== -void cPluginDxr3::Housekeeping() +// ================================== +void cPluginDxr3::Housekeeping() { } // ================================== -cMenuSetupPage* cPluginDxr3::SetupMenu() +cMenuSetupPage* cPluginDxr3::SetupMenu() { - return new cMenuSetupDxr3(); + return new cMenuSetupDxr3(); } // ================================== -bool cPluginDxr3::SetupParse(const char *Name, const char *Value) +bool cPluginDxr3::SetupParse(const char *Name, const char *Value) { - // Parse your own setup parameters and store their values. - if (!strcasecmp(Name, "UseDigitalOut")) { cDxr3ConfigData::Instance().SetUseDigitalOut(atoi(Value)); return true; } - if (!strcasecmp(Name, "Dxr3Card")) { cDxr3ConfigData::Instance().SetDxr3Card(atoi(Value)); return true; } - if (!strcasecmp(Name, "Dxr3Debug")) { cDxr3ConfigData::Instance().SetDebug(atoi(Value)); return true; } - if (!strcasecmp(Name, "Dxr3VideoMode")) { cDxr3ConfigData::Instance().SetVideoMode((eVideoMode) atoi(Value)); return true;} - if (!strcasecmp(Name, "Dxr3DebugLevel")) { cDxr3ConfigData::Instance().SetDebugLevel(atoi(Value)); return true;} - - return false; + if (!strcasecmp(Name, "UseDigitalOut")) + { + cDxr3ConfigData::Instance().SetUseDigitalOut(atoi(Value)); + return true; + } + if (!strcasecmp(Name, "Dxr3Card")) + { + cDxr3ConfigData::Instance().SetDxr3Card(atoi(Value)); + return true; + } + if (!strcasecmp(Name, "Dxr3Debug")) + { + cDxr3ConfigData::Instance().SetDebug(atoi(Value)); + return true; + } + if (!strcasecmp(Name, "Dxr3VideoMode")) + { + cDxr3ConfigData::Instance().SetVideoMode((eVideoMode) atoi(Value)); + return true; + } + if (!strcasecmp(Name, "Dxr3DebugLevel")) + { + cDxr3ConfigData::Instance().SetDebugLevel(atoi(Value)); + return true; + } + + return false; } // ================================== -const char* cPluginDxr3::MainMenuEntry() +const char* cPluginDxr3::MainMenuEntry() { - return tr(MAINMENUENTRY); + return tr(MAINMENUENTRY); } // ================================== -cOsdObject* cPluginDxr3::MainMenuAction() +cOsdObject* cPluginDxr3::MainMenuAction() { - return new cDxr3OsdMenu; + return new cDxr3OsdMenu; } VDRPLUGINCREATOR(cPluginDxr3); // Don't touch this! |