From 9f42c33ef6793482a5c2515f9a87c13c0d189c60 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 25 Feb 2007 18:00:00 +0100 Subject: =?UTF-8?q?Version=201.5.1=20-=20Added=20cDevice::HasCi()=20so=20t?= =?UTF-8?q?hat=20devices=20with=20Common=20Interface=20can=20be=20avoided?= =?UTF-8?q?=20=20=20when=20tuning=20to=20an=20FTA=20channel,=20thus=20pres?= =?UTF-8?q?erving=20the=20CAM=20resources=20even=20on=20budget=20=20=20DVB?= =?UTF-8?q?=20cards=20(suggested=20by=20Petri=20Helin).=20-=20Fixed=20i18n?= =?UTF-8?q?=20characters=20for=20the=20Hungarian=20texts=20(thanks=20to=20?= =?UTF-8?q?Thomas=20G=C3=BCnther).=20-=20Now=20using=20cPipe=20instead=20o?= =?UTF-8?q?f=20popen()=20in=20cCommand::Execute()=20to=20avoid=20problems?= =?UTF-8?q?=20=20=20with=20open=20file=20handles=20when=20starting=20backg?= =?UTF-8?q?round=20commands=20(thanks=20to=20Reinhard=20=20=20Nissl).=20-?= =?UTF-8?q?=20Removed=20'assert(0)'=20from=20cDvbSpuDecoder::setTime()=20(?= =?UTF-8?q?thanks=20to=20Marco=20Schl=C3=BC=C3=9Fler).=20-=20Fixed=20a=20p?= =?UTF-8?q?ossible=20crash=20when=20loading=20an=20invalid=20XPM=20file=20?= =?UTF-8?q?(thanks=20to=20Martin=20Wache).=20-=20Updated=20satellite=20nam?= =?UTF-8?q?es=20in=20'sources.conf'=20(thanks=20to=20Thilo=20Wunderlich).?= =?UTF-8?q?=20-=20Adapted=20'libsi'=20to=20DVB-S2=20(thanks=20to=20Marco?= =?UTF-8?q?=20Schl=C3=BC=C3=9Fler).=20-=20Fixed=20handling=20error=20statu?= =?UTF-8?q?s=20in=20cDvbTuner::GetFrontendStatus()=20(thanks=20to=20=20=20?= =?UTF-8?q?Reinhard=20Nissl).=20-=20Shutdown=20handling=20has=20been=20rew?= =?UTF-8?q?ritten=20(thanks=20to=20Udo=20Richter).=20-=20Plugins=20can=20n?= =?UTF-8?q?ow=20implement=20the=20new=20function=20WakeupTime()=20to=20req?= =?UTF-8?q?uest=20VDR=20to=20wake=20=20=20up=20at=20a=20particular=20time?= =?UTF-8?q?=20(thanks=20to=20Udo=20Richter).=20-=20The=20HUP=20signal=20no?= =?UTF-8?q?w=20forces=20a=20restart=20of=20VDR=20(thanks=20to=20Udo=20Rich?= =?UTF-8?q?ter).=20-=20cThread::EmergencyExit()=20has=20been=20replaced=20?= =?UTF-8?q?by=20ShutdownHandler.RequestEmergencyExit().=20-=20Several=20re?= =?UTF-8?q?ferences=20to=20"button"=20in=20a=20remote=20control=20context?= =?UTF-8?q?=20have=20been=20changed=20=20=20to=20"key"=20(based=20on=20a?= =?UTF-8?q?=20report=20from=20Marko=20M=C3=A4kel=C3=A4=20regarding=20the?= =?UTF-8?q?=20"Menu=20button=20closes"=20=20=20text).=20The=20"MenuButtonC?= =?UTF-8?q?loses"=20parameter=20in=20'setup.conf'=20has=20therefore=20been?= =?UTF-8?q?=20=20=20renamed=20to=20"MenuKeyCloses",=20accordingly.=20This?= =?UTF-8?q?=20will=20result=20in=20an=20"unknown=20config=20=20=20paramete?= =?UTF-8?q?r:=20MenuButtonCloses"=20error=20message=20in=20the=20log=20fil?= =?UTF-8?q?e,=20so=20you=20may=20want=20to=20=20=20remove=20that=20entry?= =?UTF-8?q?=20from=20your=20'setup.conf'=20file.=20-=20Simplified=20the=20?= =?UTF-8?q?error=20handling=20in=20cDvbTuner::GetFrontendStatus()=20(based?= =?UTF-8?q?=20on=20a=20=20=20discussion=20with=20Reinhard=20Nissl).=20-=20?= =?UTF-8?q?Updated=20the=20Finnish=20OSD=20texts=20(thanks=20to=20Rolf=20A?= =?UTF-8?q?hrenberg).=20-=20Increased=20the=20maximum=20number=20of=20DVB?= =?UTF-8?q?=20devices=20to=208=20(thanks=20to=20Rolf=20Ahrenberg).=20-=20T?= =?UTF-8?q?he=20new=20Setup=20parameter=20"Channel=20entry=20timeout"=20ca?= =?UTF-8?q?n=20be=20used=20to=20customize=20the=20time=20=20=20since=20the?= =?UTF-8?q?=20last=20keypress=20until=20a=20numerically=20entered=20channe?= =?UTF-8?q?l=20number=20is=20considered=20=20=20complete,=20and=20the=20ch?= =?UTF-8?q?annel=20is=20switched=20(suggested=20by=20Helmut=20Auer).=20Set?= =?UTF-8?q?ting=20this=20=20=20parameter=20to=200=20turns=20off=20the=20au?= =?UTF-8?q?tomatic=20channel=20switching,=20and=20the=20user=20will=20=20?= =?UTF-8?q?=20have=20to=20confirm=20the=20entry=20by=20pressing=20the=20"O?= =?UTF-8?q?k"=20key.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PLUGINS.html | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 4 deletions(-) (limited to 'PLUGINS.html') diff --git a/PLUGINS.html b/PLUGINS.html index 71c1b77..6403453 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -6,7 +6,7 @@

The VDR Plugin System

-
Version 1.5.0
+
Version 1.5.1

Copyright © 2006 Klaus Schmidinger
@@ -14,9 +14,12 @@ Copyright © 2006 Klaus Schmidinger
www.cadsoft.de/vdr

-
  +
  Important modifications introduced in version 1.5.0 are marked like this.
+
  +Important modifications introduced in version 1.5.1 are marked like this. +

VDR provides an easy to use plugin interface that allows additional functionality to be added to the program by implementing a dynamically loadable library file. @@ -55,6 +58,9 @@ structures and allows it to hook itself into specific areas to perform special a

  • Housekeeping
  • Main thread hook
  • Activity +
      +
  • Wakeup +
  • Setup parameters
  • The Setup menu
  • Configuration files @@ -76,7 +82,7 @@ structures and allows it to hook itself into specific areas to perform special a
  • Devices
  • Audio
  • Remote Control -
      +
     
  • Conditional Access
  • @@ -675,6 +681,41 @@ be queried, and further prompts may show up. If all prompts have been confirmed, the shutdown will take place. As soon as one prompt is not confirmed, no further plugins will be queried and no shutdown will be done. +
      +

    Wakeup

    + +
    Wake me up before you go-go

    + +If a plugin wants to schedule activity for a later time, or wants to perform +periodic activity at a certain time at night, and if VDR shall wake up from +shutdown at that time, the plugin can implement the function + +

    +virtual time_t WakeupTime(void);
    +

    + +which shall return the time of the next custom wakeup time, or 0 if no wakeup +is planned. VDR will pass the most recent wakeup time of all plugins, or the next +timer time, whichever comes first, to the shutdown script. The following sample +will wake up VDR every night at 1:00: + +

    +time_t MyPlugin::WakeupTime(void)
    +{
    +  time_t Now = time(NULL);
    +  time_t Time = cTimer::SetTime(Now, cTimer::TimeToInt(100));
    +  if (Time <= Now)
    +     Time = cTimer::IncDay(Time, 1);
    +  return Time;
    +}
    +

    + +After wakeup, the plugin shall continue to return the wakeup time and shall +return a string when Active() is called at that time, otherwise VDR may shut down +again instantly. If WakeupTime() returns a time that is not in +the future, the time will be ignored. +

    +

    Setup parameters

    Remember me...

    @@ -2046,7 +2087,7 @@ Put(uint64 Code, bool Repeat = false, bool Release = false); The other parameters have the same meaning as in the first version of this function. -
      +
     

    Conditional Access

    Members only!

    -- cgit v1.2.3