diff options
Diffstat (limited to 'PLUGINS.html')
-rw-r--r-- | PLUGINS.html | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/PLUGINS.html b/PLUGINS.html index 491399c7..0869c38f 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -6,7 +6,7 @@ <center><h1>The VDR Plugin System</h1></center> -<center><b>Version 1.3</b></center> +<center><b>Version 1.4</b></center> <p> <center> Copyright © 2006 Klaus Schmidinger<br> @@ -14,19 +14,6 @@ Copyright © 2006 Klaus Schmidinger<br> <a href="http://www.cadsoft.de/vdr">www.cadsoft.de/vdr</a> </center> <p> -<!--X1.3.31--><table width=100%><tr><td bgcolor=#0000AA> </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=#00AA00> </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=#AA0000> </td><td width=100%> -Important modifications introduced in version 1.3.38 are marked like this. -<!--X1.3.38--></td></tr></table> -<!--X1.3.47--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> -Important modifications introduced in version 1.3.46 are marked like this. -<!--X1.3.47--></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. This interface allows programmers to develop additional functionality for VDR completely @@ -62,18 +49,14 @@ structures and allows it to hook itself into specific areas to perform special a <li><a href="#Main menu entry">Main menu entry</a> <li><a href="#User interaction">User interaction</a> <li><a href="#Housekeeping">Housekeeping</a> -<!--X1.3.47--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> <li><a href="#Main thread hook">Main thread hook</a> <li><a href="#Activity">Activity</a> -<!--X1.3.47--></td></tr></table> <li><a href="#Setup parameters">Setup parameters</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> <li><a href="#Custom services">Custom services</a> -<!--X1.3.31--><table width=100%><tr><td bgcolor=#0000AA> </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> <li><a href="#Building the distribution package">Building the distribution package</a> </ul> @@ -166,7 +149,6 @@ loadable library file for that plugin (we'll get to the details later). The <tt>lib</tt> directory contains the dynamically loadable libraries of all available plugins. Note that the names of these files are created by concatenating <p> -<!--X1.3.47--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> <table border=2> <tr><td align=center><b><tt>libvdr-</tt></b></td><td align=center><b><tt>hello</tt></b></td><td align=center><b><tt>.so.</tt></b></td><td align=center><b><tt>1.1.0</tt></b></td></tr> <tr><td align=center><font size=-1>VDR plugin<br>library prefix</font></td><td align=center><font size=-1>name of<br>the plugin</font></td><td align=center><font size=-1>shared object<br>indicator</font></td><td align=center><font size=-1>API version number<br>this plugin was<br>compiled for</font></td></tr> @@ -178,7 +160,6 @@ of VDR as long as their plugin API version number is still the same as that of the current VDR version. That way minor fixes to VDR, that don't require changes to the VDR header files, can be made without requiring all plugins to be recompiled. -<!--X1.3.47--></td></tr></table> <p> The plugin library files can be stored in any directory. If the default organization is not used, the path to the plugin directory has be be given to VDR through the @@ -620,7 +601,6 @@ interaction is possible. If a specific action takes longer than a few seconds, the plugin should launch a separate thread to do this. </b> -<!--X1.3.47--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> <a name="Main thread hook"><hr><h2>Main thread hook</h2> <center><i><b>Pushing in...</b></i></center><p> @@ -677,7 +657,6 @@ the prompt by pressing the "Ok" button, the rest of the plugins will also 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. -<!--X1.3.47--></td></tr></table> <a name="Setup parameters"><hr><h2>Setup parameters</h2> @@ -1002,7 +981,6 @@ To send a message to all plugins, a plugin can call the function <tt>cPluginManager::CallAllServices()</tt>. This function returns <tt>true</tt> if any plugin handled the request, or <tt>false</tt> if no plugin handled the request. -<!--X1.3.31--><table width=100%><tr><td bgcolor=#0000AA> </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> @@ -1094,8 +1072,6 @@ The returned string may consist of several lines, separated by the newline chara when presenting them to the caller, and the continuation character ('<tt>-</tt>') will be set for all but the last one. -<!--X1.3.31--></td></tr></table> - <a name="Loading plugins into VDR"><hr><h2>Loading plugins into VDR</h2> <center><i><b>Saddling up!</b></i></center><p> @@ -1329,9 +1305,7 @@ public: cMyControl(void); virtual ~cMyControl(); virtual void Hide(void); -<!--X1.3.38--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> virtual cOsdObject *GetInfo(void); -<!--X1.3.38--></td></tr></table> virtual eOSState ProcessKey(eKeys Key); }; </pre></td></tr></table><p> @@ -1361,13 +1335,11 @@ A derived <tt>cControl</tt> <b>must</b> implement the <tt>Hide()</tt> function, 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. <p> -<!--X1.3.38--><table width=100%><tr><td bgcolor=#AA0000> </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 @@ -1589,7 +1561,6 @@ 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=#00AA00> </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> @@ -1603,7 +1574,6 @@ int cSkins::QueueMessage(eMessageType Type, const char *s, int Seconds = 0, int </pre></td></tr></table><p> to queue that message for display. See <tt>VDR/skins.h</tt> for details. -<!--X1.3.37--></td></tr></table> <a name="Skins"><hr><h2>Skins</h2> |