mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Auto-Update wiki pages
parent
3c09294d12
commit
4bfd574ac1
@ -7,7 +7,7 @@
|
|||||||
<p>
|
<p>
|
||||||
Copyright © 2021 Klaus Schmidinger<br>
|
Copyright © 2021 Klaus Schmidinger<br>
|
||||||
<a href="mailto:vdr@tvdr.de">vdr@tvdr.de</a><br>
|
<a href="mailto:vdr@tvdr.de">vdr@tvdr.de</a><br>
|
||||||
<a href="http://www.tvdr.de">www.tvdr.de</a>
|
<a href="https://www.tvdr.de">www.tvdr.de</a>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
VDR provides an easy to use plugin interface that allows additional functionality
|
VDR provides an easy to use plugin interface that allows additional functionality
|
||||||
@ -46,7 +46,6 @@ 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="#main-menu-entry">Main menu entry</a>
|
||||||
<li><a href="#user-interaction">User interaction</a>
|
<li><a href="#user-interaction">User interaction</a>
|
||||||
<li><a href="#housekeeping">Housekeeping</a>
|
<li><a href="#housekeeping">Housekeeping</a>
|
||||||
<li><a href="#main-thread-hook">Main thread hook</a>
|
|
||||||
<li><a href="#activity">Activity</a>
|
<li><a href="#activity">Activity</a>
|
||||||
<li><a href="#wakeup">Wakeup</a>
|
<li><a href="#wakeup">Wakeup</a>
|
||||||
<li><a href="#setup-parameters">Setup parameters</a>
|
<li><a href="#setup-parameters">Setup parameters</a>
|
||||||
@ -138,7 +137,7 @@ is used:
|
|||||||
VDR/PLUGINS/src
|
VDR/PLUGINS/src
|
||||||
VDR/PLUGINS/src/hello
|
VDR/PLUGINS/src/hello
|
||||||
VDR/PLUGINS/lib
|
VDR/PLUGINS/lib
|
||||||
VDR/PLUGINS/lib/libvdr-hello.so.1.1.0
|
VDR/PLUGINS/lib/libvdr-hello.so.1
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
The <tt>src</tt> directory contains one subdirectory for each plugin, which carries
|
The <tt>src</tt> directory contains one subdirectory for each plugin, which carries
|
||||||
@ -157,7 +156,7 @@ 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
|
available plugins. Note that the names of these files are created by concatenating
|
||||||
<p>
|
<p>
|
||||||
<table>
|
<table>
|
||||||
<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><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</tt></b></td></tr>
|
||||||
<tr><td align=center><small>VDR plugin<br>library prefix</small></td><td align=center><small>name of<br>the plugin</small></td><td align=center><small>shared object<br>indicator</small></td><td align=center><small>API version number<br>this plugin was<br>compiled for</small></td></tr>
|
<tr><td align=center><small>VDR plugin<br>library prefix</small></td><td align=center><small>name of<br>the plugin</small></td><td align=center><small>shared object<br>indicator</small></td><td align=center><small>API version number<br>this plugin was<br>compiled for</small></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p>
|
<p>
|
||||||
@ -168,6 +167,11 @@ 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
|
to the VDR header files, can be made without requiring all plugins to be
|
||||||
recompiled.
|
recompiled.
|
||||||
<p>
|
<p>
|
||||||
|
While in earlier versions of VDR the API version number was closely related to the
|
||||||
|
VDR version number, starting with VDR version 2.7.2 the API version number was changed
|
||||||
|
from a dot separated, three part number to a single integer, completely unrelated to
|
||||||
|
the VDR version. This was done to avoid confusion.
|
||||||
|
<p>
|
||||||
The plugin library files can be stored in any directory. If the default organization
|
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
|
is not used, the path to the plugin directory has be be given to VDR through the
|
||||||
<b><tt>-L</tt></b> option.
|
<b><tt>-L</tt></b> option.
|
||||||
@ -363,13 +367,7 @@ just like shown in the above example. This is a convention that allows the <tt>M
|
|||||||
to extract the version number when generating the file name for the distribution archive.
|
to extract the version number when generating the file name for the distribution archive.
|
||||||
<p>
|
<p>
|
||||||
A new plugin project should start with version number <tt>0.0.1</tt> and should reach
|
A new plugin project should start with version number <tt>0.0.1</tt> and should reach
|
||||||
version <tt>1.0.0</tt> once it is completely operative and well tested. Following the
|
version <tt>1.0.0</tt> once it is completely operative and well tested.
|
||||||
Linux kernel version numbering scheme, versions with <i>even</i> release numbers
|
|
||||||
(like <tt>1.0.x</tt>, <tt>1.2.x</tt>, <tt>1.4.x</tt>...) should be stable releases,
|
|
||||||
while those with <i>odd</i> release numbers (like <tt>1.1.x</tt>, <tt>1.3.x</tt>,
|
|
||||||
<tt>1.5.x</tt>...) are usually considered "under development". The three parts of
|
|
||||||
a version number are not limited to single digits, so a version number of <tt>1.2.15</tt>
|
|
||||||
would be acceptable.
|
|
||||||
|
|
||||||
<hr><h2>Description</h2>
|
<hr><h2>Description</h2>
|
||||||
|
|
||||||
@ -665,27 +663,6 @@ interaction is possible. If a specific action takes longer than a few seconds,
|
|||||||
the plugin should launch a separate thread to do this.
|
the plugin should launch a separate thread to do this.
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<hr><h2>Main thread hook</h2>
|
|
||||||
|
|
||||||
<div>Pushing in...</div><p>
|
|
||||||
|
|
||||||
Normally a plugin only reacts on user input if directly called through its
|
|
||||||
<a href="#main-menu-entry">main menu entry</a>, or performs some background
|
|
||||||
activity in a separate thread. However, sometimes a plugin may need to do
|
|
||||||
something in the context of the main program thread, without being explicitly
|
|
||||||
called up by the user. In such a case it can implement the function
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
virtual void MainThreadHook(void);
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
in which it can do this. This function is called for every plugin once during
|
|
||||||
every cycle of VDR's main program loop, which typically happens once every
|
|
||||||
second.
|
|
||||||
<b>Be very careful when using this function, and make sure you return from it
|
|
||||||
as soon as possible! If you spend too much time in this function, the user
|
|
||||||
interface performance will become sluggish!</b>
|
|
||||||
|
|
||||||
<hr><h2>Activity</h2>
|
<hr><h2>Activity</h2>
|
||||||
|
|
||||||
<div>Now is not a good time!</div><p>
|
<div>Now is not a good time!</div><p>
|
||||||
|
@ -301,3 +301,4 @@
|
|||||||
| 2.7.1 | 2024-09-09 | 2.6.9 |
|
| 2.7.1 | 2024-09-09 | 2.6.9 |
|
||||||
| 2.7.2 | 2024-09-27 | 5 |
|
| 2.7.2 | 2024-09-27 | 5 |
|
||||||
| 2.7.3 | 2024-10-12 | 5 |
|
| 2.7.3 | 2024-10-12 | 5 |
|
||||||
|
| 2.7.4 | 2025-02-26 | 6 |
|
||||||
|
Loading…
x
Reference in New Issue
Block a user