From 700b88bc4db79b94fb6bc4f457f72d870cab9520 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 6 Jan 2006 12:53:28 +0100 Subject: Implemented the "Info" key --- PLUGINS.html | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) (limited to 'PLUGINS.html') diff --git a/PLUGINS.html b/PLUGINS.html index bdaf1efb..7564341c 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.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.
+
  +Important modifications introduced in version 1.3.38 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. @@ -66,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 @@ -85,9 +85,7 @@ structures and allows it to hook itself into specific areas to perform special a
  • Skins
  • Themes
  • Devices -
     
  • Audio -
  • Remote Control @@ -866,7 +864,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?

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

    -
      +
     

    SVDRP commands

    Infinite Diversity in Infinite Combinations

    @@ -1264,6 +1262,9 @@ public: cMyControl(void); virtual ~cMyControl(); virtual void Hide(void); +
      + virtual cOsdObject *GetInfo(void); +
    virtual eOSState ProcessKey(eKeys Key); };

    @@ -1292,8 +1293,14 @@ to make the main program loop shut down the player control. A derived cControl must implement the Hide() function, in which it has to hide itself from the OSD, in case it uses it. Hide() may be called at any time, and it may be called even if the cControl is not visible at the moment. -The reason for this is that the Menu button shall always bring up the main VDR -menu, so any active cControl needs to be hidden when that button is pressed. +

    +
      +The GetInfo() function is called when the user presses the Info button, +and shall return a pointer to a cOsdObject that contains information +about the currently played programme. The caller takes ownership of the returned +pointer and will delete it when it is no longer used. If no information is available, +NULL shall be returned. +

    Finally, to get things going, a plugin that implements a player (and the surrounding infrastructure like displaying a list of playable stuff etc) simply has to call the @@ -1515,7 +1522,7 @@ 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() @@ -1840,9 +1847,7 @@ private: virtual void Action(void); public: cMyAudio(void); -
      virtual void Play(const uchar *Data, int Length, uchar Id); -
    virtual void Mute(bool On); virtual void Clear(void); }; -- cgit v1.2.3