From 8c63e0fd967a7ac037872ca5af378dc92f0410fa Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 27 Nov 2005 18:00:00 +0100 Subject: =?UTF-8?q?Version=201.3.37=20-=20Added=20compiler=20options=20"-f?= =?UTF-8?q?PIC=20-g"=20to=20all=20plugins=20(thanks=20to=20Rolf=20Ahrenber?= =?UTF-8?q?g).=20-=20Fixed=20initializing=20the=20day=20index=20when=20edi?= =?UTF-8?q?ting=20the=20weekday=20parameter=20of=20a=20=20=20repeating=20t?= =?UTF-8?q?imer=20(thanks=20to=20Marco=20Schl=C3=BC=C3=9Fler).=20-=20No=20?= =?UTF-8?q?longer=20removing=20superfluous=20hyphens=20in=20EPG=20data=20-?= =?UTF-8?q?=20would=20become=20too=20=20=20language=20dependent=20to=20han?= =?UTF-8?q?dle=20all=20kinds=20of=20exceptions.=20-=20Modified=20switching?= =?UTF-8?q?=20to=20Dolby=20Digital=20audio=20in=20live=20mode,=20if=20the?= =?UTF-8?q?=20driver=20=20=20and=20firmware=20can=20handle=20live=20DD=20w?= =?UTF-8?q?ithout=20the=20need=20of=20a=20Transfer=20Mode=20(thanks=20=20?= =?UTF-8?q?=20to=20Werner=20Fink).=20Live=20DD=20mode=20requires=20a=20ful?= =?UTF-8?q?l=20featured=20DVB=20card=20and=20a=20=20=20LinuxDVB=20driver?= =?UTF-8?q?=20with=20firmware=20version=200x2622=20or=20higher.=20Older=20?= =?UTF-8?q?versions=20will=20=20=20use=20Transfer=20Mode=20just=20like=20b?= =?UTF-8?q?efore.=20-=20Implemented=20handling=20of=20the=20"CA=20PMT=20Re?= =?UTF-8?q?ply"=20for=20CAMs=20(thanks=20to=20Marco=20=20=20Schl=C3=BC?= =?UTF-8?q?=C3=9Fler=20for=20figuring=20out=20some=20obscure=20length=20by?= =?UTF-8?q?tes=20in=20the=20CA=20PMT=20Reply=20=20=20data=20of=20AlphaCryp?= =?UTF-8?q?t=20CAMs).=20-=20Some=20preparations=20for=20being=20able=20to?= =?UTF-8?q?=20record=20several=20encrypted=20channels=20from=20=20=20the?= =?UTF-8?q?=20same=20transponder=20at=20the=20same=20time=20(or=20record?= =?UTF-8?q?=20and=20view=20different=20encrypted=20=20=20channels),=20prov?= =?UTF-8?q?ided=20the=20CAM=20in=20use=20can=20handle=20this.=20This=20is?= =?UTF-8?q?=20work=20in=20progress=20=20=20and=20isn't=20actively=20used,?= =?UTF-8?q?=20yet.=20-=20Fixed=20SetProgress()=20in=20the=20'skincurses'?= =?UTF-8?q?=20plugin=20in=20case=20Total=20is=200=20(reported=20=20=20by?= =?UTF-8?q?=20Stefan=20Huelswitt).=20-=20Added=20a=20copy=20constructor=20?= =?UTF-8?q?to=20cString=20and=20fixed=20its=20assignment=20operator=20=20?= =?UTF-8?q?=20(thanks=20to=20Holger=20Brunn).=20-=20The=20new=20function?= =?UTF-8?q?=20Skins.QueueMessage()=20can=20be=20called=20from=20a=20backgr?= =?UTF-8?q?ound=20thread=20=20=20to=20queue=20a=20message=20for=20display.?= =?UTF-8?q?=20See=20VDR/skins.h=20for=20details.=20-=20The=20SVDRP=20comma?= =?UTF-8?q?nd=20MESG=20uses=20the=20new=20message=20queueing=20facility,?= =?UTF-8?q?=20so=20MESG=20=20=20commands=20may=20now=20be=20executed=20at?= =?UTF-8?q?=20any=20time,=20and=20the=20message=20will=20be=20displayed=20?= =?UTF-8?q?=20=20(no=20more=20"pending=20message").?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PLUGINS.html | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) (limited to 'PLUGINS.html') diff --git a/PLUGINS.html b/PLUGINS.html index d1c787b..bdaf1ef 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -14,18 +14,18 @@ Copyright © 2005 Klaus Schmidinger
www.cadsoft.de/vdr

-
  -Important modifications introduced in version 1.3.20 are marked like this. -
-
  +
  Important modifications introduced in version 1.3.21 are marked like this.
-
  +
  Important modifications introduced in version 1.3.30 are marked like this.
-
  +
  Important modifications introduced in version 1.3.31 are marked like this.
+
  +Important modifications introduced in version 1.3.37 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. @@ -58,9 +58,7 @@ structures and allows it to hook itself into specific areas to perform special a

  • Command line arguments
  • Command line help
  • Getting started -
     
  • Shutting down -
  • Main menu entry
  • User interaction
  • Housekeeping @@ -68,10 +66,10 @@ structures and allows it to hook itself into specific areas to perform special a
  • The Setup menu
  • Configuration files
  • Internationalization -
      +
     
  • Custom services
  • -
      +
     
  • SVDRP commands
  • Loading plugins into VDR @@ -87,7 +85,7 @@ structures and allows it to hook itself into specific areas to perform special a
  • Skins
  • Themes
  • Devices -
      +
     
  • Audio
  • Remote Control @@ -314,10 +312,8 @@ since VDR, for instance, has to create the plugin objects in order to get their command line help - and after that immediately destroys them again.

    The destructor has to clean up any data created by the plugin. -
      Any threads the plugin may have created shall be stopped in the Stop() function. -

    Of course, if your plugin doesn't define any member variables that need to be initialized (and deleted), you don't need to implement either of these functions. @@ -512,7 +508,6 @@ VDR to exit. If the plugin doesn't implement any background functionality or internationalized texts, it doesn't need to implement either of these functions. -
     

    Shutting down

    Stop it, right there!

    @@ -529,7 +524,6 @@ The Stop() function will only be called if a previous call to the Start() function of that plugin has returned true. The Stop() functions are called in the reverse order as the Start() functions were called. -


    Main menu entry

    @@ -872,7 +866,7 @@ Texts are first searched for in the Phrases registered for this plugin (i and then in the global VDR texts. So a plugin can make use of texts defined by the core VDR code. -
      +
     

    Custom services

    What can I do for you?

    @@ -943,7 +937,7 @@ any plugin handled the request, or false if no plugin handled the reque

    -
      +
     

    SVDRP commands

    Infinite Diversity in Infinite Combinations

    @@ -1521,6 +1515,22 @@ with the full required resolution. Only if this fails shall it use alternate areas. Drawing areas are always rectangular and may not overlap (but do not need to be adjacent). +
      +

    +Directly accessing the OSD is only allowed from the foreground thread, which +restricts this to a cOsdObject returned from the plugin's MainMenuAction() +function, or any of the skin classes a plugin might implement. +

    +If a plugin runs a separate thread and wants to issue a message directly from +within that tread, it can call + +

    +int cSkins::QueueMessage(eMessageType Type, const char *s, int Seconds = 0, int Timeout = 0);
    +

    + +to queue that message for display. See VDR/skins.h for details. +

    +


    Skins

    The emperor's new clothes

    @@ -1830,7 +1840,7 @@ private: virtual void Action(void); public: cMyAudio(void); -
      +
      virtual void Play(const uchar *Data, int Length, uchar Id);
    virtual void Mute(bool On); -- cgit v1.2.3