diff options
Diffstat (limited to 'PLUGINS.html')
-rw-r--r-- | PLUGINS.html | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/PLUGINS.html b/PLUGINS.html index bdaf1ef..bec5127 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -9,23 +9,23 @@ <center><b>Version 1.3</b></center> <p> <center> -Copyright © 2005 Klaus Schmidinger<br> +Copyright © 2006 Klaus Schmidinger<br> <a href="mailto:kls@cadsoft.de">kls@cadsoft.de</a><br> <a href="http://www.cadsoft.de/vdr">www.cadsoft.de/vdr</a> </center> <p> -<!--X1.3.21--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> -Important modifications introduced in version 1.3.21 are marked like this. -<!--X1.3.21--></td></tr></table> -<!--X1.3.30--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> +<!--X1.3.30--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> Important modifications introduced in version 1.3.30 are marked like this. <!--X1.3.30--></td></tr></table> -<!--X1.3.31--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> +<!--X1.3.31--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> Important modifications introduced in version 1.3.31 are marked like this. <!--X1.3.31--></td></tr></table> -<!--X1.3.37--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +<!--X1.3.37--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> Important modifications introduced in version 1.3.37 are marked like this. <!--X1.3.37--></td></tr></table> +<!--X1.3.38--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +Important modifications introduced in version 1.3.38 are marked like this. +<!--X1.3.38--></td></tr></table> <p> 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 <li><a href="#The Setup menu">The Setup menu</a> <li><a href="#Configuration files">Configuration files</a> <li><a href="#Internationalization">Internationalization</a> -<!--X1.3.30--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> +<!--X1.3.30--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> <li><a href="#Custom services">Custom services</a> <!--X1.3.30--></td></tr></table> -<!--X1.3.31--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> +<!--X1.3.31--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> <li><a href="#SVDRP commands">SVDRP commands</a> <!--X1.3.31--></td></tr></table> <li><a href="#Loading plugins into VDR">Loading plugins into VDR</a> @@ -85,9 +85,7 @@ structures and allows it to hook itself into specific areas to perform special a <li><a href="#Skins">Skins</a> <li><a href="#Themes">Themes</a> <li><a href="#Devices">Devices</a> -<!--X1.3.21--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> <li><a href="#Audio">Audio</a> -<!--X1.3.21--></td></tr></table> <li><a href="#Remote Control">Remote Control</a> </ul> </ul> @@ -520,7 +518,7 @@ virtual void Stop(void); in which it shall stop them. <p> -The <tt>Stop()</tt> function will only be called if a previous call to the +The <tt>Stop()</tt> function will only be called if a previous call to the <a href="#Getting started"><tt>Start()</tt></a> function of that plugin has returned <i>true</i>. The <tt>Stop()</tt> functions are called in the reverse order as the <a href="#Getting started"><tt>Start()</tt></a> functions were called. @@ -866,7 +864,7 @@ Texts are first searched for in the <i>Phrases</i> 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. -<!--X1.3.30--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> +<!--X1.3.30--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> <a name="Custom services"><hr><h2>Custom services</h2> <center><i><b>What can I do for you?</b></i></center><p> @@ -937,7 +935,7 @@ any plugin handled the request, or <tt>false</tt> if no plugin handled the reque <!--X1.3.30--></td></tr></table> -<!--X1.3.31--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> +<!--X1.3.31--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> <a name="SVDRP commands"><hr><h2>SVDRP commands</h2> <center><i><b>Infinite Diversity in Infinite Combinations</b></i></center><p> @@ -1264,6 +1262,9 @@ public: cMyControl(void); virtual ~cMyControl(); virtual void Hide(void); +<!--X1.3.38--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> + virtual cOsdObject *GetInfo(void); +<!--X1.3.38--></td></tr></table> virtual eOSState ProcessKey(eKeys Key); }; </pre></td></tr></table><p> @@ -1292,8 +1293,14 @@ to make the main program loop shut down the player control. A derived <tt>cControl</tt> <b>must</b> implement the <tt>Hide()</tt> function, in which it has to hide itself from the OSD, in case it uses it. <tt>Hide()</tt> may be called at any time, and it may be called even if the <tt>cControl</tt> is not visible at the moment. -The reason for this is that the <tt>Menu</tt> button shall always bring up the main VDR -menu, so any active <tt>cControl</tt> needs to be hidden when that button is pressed. +<p> +<!--X1.3.38--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +The <tt>GetInfo()</tt> function is called when the user presses the <tt>Info</tt> button, +and shall return a pointer to a <tt>cOsdObject</tt> 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, +<tt>NULL</tt> shall be returned. +<!--X1.3.38--></td></tr></table> <p> 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). -<!--X1.3.37--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +<!--X1.3.37--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> <p> Directly accessing the OSD is only allowed from the foreground thread, which restricts this to a <tt>cOsdObject</tt> returned from the plugin's <tt>MainMenuAction()</tt> @@ -1840,9 +1847,7 @@ private: virtual void Action(void); public: cMyAudio(void); -<!--X1.3.21--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> virtual void Play(const uchar *Data, int Length, uchar Id); -<!--X1.3.21--></td></tr></table> virtual void Mute(bool On); virtual void Clear(void); }; |