Version 1.1.1

- Separated the actual DVB hardware OSD implementation from the abstract OSD
  interface. 'osdbase.c/.h' now implements the abstract OSD, while 'dvbosd.c/.h'
  is the actual implementation for the DVB hardware. This is in preparation for
  allowing additional kinds of OSD hardware implementations.
- Fixed leftover references to the file FORMATS in MANUAL and svdrp.c.
- Avoiding ambiguities in the cList template class in case one defines a "list of
  lists" (thanks to Stefan Huelswitt).
- Simplified the basic cMenuSetupPage class for easier use in plugins.
- Added setup parameters and a Setup menu to the 'hello' plugin example.
- Fixed logging error message for unknown config parameters in plugins.
- Rearranged cleanup sequence at the end of the main program.
- Adapted PLUGINS.html to use the actual code examples from the 'hello' plugin.
This commit is contained in:
Klaus Schmidinger
2002-05-11 18:00:00 +02:00
parent ae8a947367
commit 803c6c6bf6
22 changed files with 1219 additions and 834 deletions

View File

@@ -4,3 +4,7 @@ VDR Plugin 'hello' Revision History
2002-05-09: Version 0.0.1
- Initial revision.
2002-05-11: Version 0.0.2
- Added setup parameters and a Setup menu to adjust them.

View File

@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: hello.c 1.1 2002/05/09 15:28:51 kls Exp $
* $Id: hello.c 1.2 2002/05/11 14:17:20 kls Exp $
*/
#include <getopt.h>
@@ -11,7 +11,7 @@
#include <vdr/plugin.h>
#include "i18n.h"
static const char *VERSION = "0.0.1";
static const char *VERSION = "0.0.2";
static const char *DESCRIPTION = "A friendly greeting";
static const char *MAINMENUENTRY = "Hello";
@@ -34,6 +34,39 @@ public:
virtual bool SetupParse(const char *Name, const char *Value);
};
// Global variables that control the overall behaviour:
int GreetingTime = 3;
int UseAlternateGreeting = false;
// --- cMenuSetupHello -------------------------------------------------------
class cMenuSetupHello : public cMenuSetupPage {
private:
int newGreetingTime;
int newUseAlternateGreeting;
protected:
virtual void Store(void);
public:
cMenuSetupHello(void);
};
cMenuSetupHello::cMenuSetupHello(void)
{
newGreetingTime = GreetingTime;
newUseAlternateGreeting = UseAlternateGreeting;
Add(new cMenuEditIntItem( tr("Greeting time (s)"), &newGreetingTime));
Add(new cMenuEditBoolItem(tr("Use alternate greeting"), &newUseAlternateGreeting));
}
void cMenuSetupHello::Store(void)
{
SetupStore("GreetingTime", GreetingTime = newGreetingTime);
SetupStore("UseAlternateGreeting", UseAlternateGreeting = newUseAlternateGreeting);
}
// --- cPluginHello ----------------------------------------------------------
cPluginHello::cPluginHello(void)
{
// Initialize any member varaiables here.
@@ -86,20 +119,24 @@ void cPluginHello::Start(void)
cOsdMenu *cPluginHello::MainMenuAction(void)
{
// Perform the action when selected from the main VDR menu.
Interface->Info(tr("Hello world!"));
Interface->Confirm(UseAlternateGreeting ? tr("Howdy folks!") : tr("Hello world!"), GreetingTime);
return NULL;
}
cMenuSetupPage *cPluginHello::SetupMenu(void)
{
// Return a setup menu in case the plugin supports one.
return NULL;
return new cMenuSetupHello;
}
bool cPluginHello::SetupParse(const char *Name, const char *Value)
{
// Parse your own setup parameters and store their values.
return false;
if (!strcasecmp(Name, "GreetingTime")) GreetingTime = atoi(Value);
else if (!strcasecmp(Name, "UseAlternateGreeting")) UseAlternateGreeting = atoi(Value);
else
return false;
return true;
}
VDRPLUGINCREATOR(cPluginHello); // Don't touch this!

View File

@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: i18n.c 1.1 2002/05/09 15:13:31 kls Exp $
* $Id: i18n.c 1.2 2002/05/11 12:27:00 kls Exp $
*/
#include "i18n.h"
@@ -35,6 +35,19 @@ const tI18nPhrase Phrases[] = {
"",// TODO
"",// TODO
},
{ "Howdy folks!",
"Tach zusammen!",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ "A friendly greeting",
"Ein freundlicher Gru<72>",
"",// TODO
@@ -48,5 +61,31 @@ const tI18nPhrase Phrases[] = {
"",// TODO
"",// TODO
},
{ "Greeting time (s)",
"Dauer des Gru<72>es (s)",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ "Use alternate greeting",
"Alternativen Gru<72> verwenden",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ NULL }
};

View File

@@ -3,9 +3,14 @@
*
* See the README file for copyright information and how to reach the author.
*
* $Id: i18n.h 1.1 2002/05/09 15:15:49 kls Exp $
* $Id: i18n.h 1.2 2002/05/11 14:48:16 kls Exp $
*/
#ifndef _I18N__H
#define _I18N__H
#include <vdr/i18n.h>
extern const tI18nPhrase Phrases[];
#endif //_I18N__H