QuoteDisplay MoreVDR developer version 2.3.8 is now available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.3.8.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.3.7-2.3.8.diff
MD5 checksums:
2afe8b899b3af1967320c216c1315f3e vdr-2.3.8.tar.bz2
d6ef77c644432dde9a01a05280ca5228 vdr-2.3.7-2.3.8.diff
WARNING:
========
This is a *developer* version. Even though *I* use it in my productive environment,
I strongly recommend that you only use it under controlled conditions and for testing and debugging.
Note: This is a "holiday release"
----- I'm going on vacation and just wanted to make the current source
available before that. There will be at least one more developer version
before the final stable version 2.4.0.
The changes since version 2.3.7:
- Updated links in the INSTALL file (thanks to Chris Mayo).
- Fixed detecting whether a CAM replies to queries, which didn't work on some systems
since the implementation of RI_HOST_CONTROL (reported by Daniel Scheller).
Added some missing locks when calling functions from cStatus or cSkin*, and added
some text to status.h and skins.h, explaining the locking situation when such
functions are called.Fixed a possible crash in cStateLockLog.
Updated the Italian OSD texts (thanks to Diego Pierotto).
Now skipping a leading '/' in AddDirectory(), to avoid double slashes (reported by
Chris Mayo).
Fixed drawing very long menu titles in the LCARS skin (reported by Matthias Senzel).
Timers are now linked to EPG events even if they are inactive. By default Events that
are linked to inactive timers are marked with 'I' and 'i', depending on whether the
timer would record the entire Event or only part of it.
The function cSkinDisplayMenu::SetItemEvent() now has an additional parameter named
TimerActive, which indicates whether the timer that would record this event (if any)
is active. A plugin may react on this when displaying a menu line for an event.
The old version of cSkinDisplayMenu::SetItemEvent() (without the TimerActive parameter)
is still there for backwards compatibility. It may be removed in a future version,
so plugin authors should switch to the new one.Now using readdir() instead of readdir_r(), if GLIBC version 2.24 or newer is used
(suggested by Frank Neumann).
Added a note to the log, indicating that no further invalid lock sequences will be
reported until VDR is restarted.
Whenever a change is made to the recordings in the video directory, the SVDRP command
UPDR is now sent to all peer VDRs, so that they will update their recordings list.
This is especially useful if one VDR mounts the video directory of an other one into
a subdirectory.SVDRP peering can now be limited to the default SVDRP host (see MANUAL for details).
Have fun!
Klaus

[ANNOUNCE] VDR developer version 2.3.8
-
-
Hallo Klaus,
vielen Dank für Deine Mühen und einen schönen Urlaub.
Gruß
Frank -
Timers are now linked to EPG events even if they are inactive.
Vielen Dank.
-
Hallo,
geht bei euch der Skindesigner noch ?
Auf meinen Raspi´s baut er nicht mehr.
Gruß
speed -
geht bei euch der Skindesigner noch ?
Nein, baut auch hier nicht mehr, aber auch nicht ganz überraschend:
Added some missing locks when calling functions from cStatus or cSkin*, and added
some text to status.h and skins.h, explaining the locking situation when such
functions are called.
Hast Du einen Patch für uns?Regards
fnu -
Nö ..du aber bestimmt ..oder ?
-
Wenn ich mir die Fehlermeldung von skindesigner anschaue, glaube ich fast eher das hier ist die Ursache:
- Timers are now linked to EPG events even if they are inactive. By default Events that
are linked to inactive timers are marked with 'I' and 'i', depending on whether the
timer would record the entire Event or only part of it.
The function cSkinDisplayMenu::SetItemEvent() now has an additional parameter named
TimerActive, which indicates whether the timer that would record this event (if any)
is active. A plugin may react on this when displaying a menu line for an event.
The old version of cSkinDisplayMenu::SetItemEvent() (without the TimerActive parameter)
is still there for backwards compatibility. It may be removed in a future version,
so plugin authors should switch to the new one.
Darunter musste auch schon der von mir immer noch sehr geschätzte "wareagleicon" Patch leiden. Muss erstmal in den nächsten Tagen testen ob ich den richtig korrigiert habe ...
Regards
fnu - Timers are now linked to EPG events even if they are inactive. By default Events that
-
Hmm,. das könnte an
virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive) { return false; }
...
virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch) { return SetItemEvent(Event, Index, Current, Selectable, Channel, WithDate, TimerMatch, true); }liegen. Bei mir hat das anstandslos übersetzt, aber das könnte daran liegen, daß ich kein Plugin benutze, welches diese Funktion implementiert.
Die einfachste Lösung dürfte sein, im Plugin den Parameter 'bool TimerActive' hinzuzufügen und, falls die Fehlermeldung dadurch nicht weggeht, die Zeile#define DEPRECATED_SKIN_SETITEMEVENT
in skins.h auszukommentieren.
Klaus
-
Die einfachste Lösung dürfte sein, im Plugin den Parameter 'bool TimerActive' hinzuzufügen und, falls die Fehlermeldung dadurch nicht weggeht, die Zeile
#define DEPRECATED_SKIN_SETITEMEVENT
in skins.h auszukommentieren.
DAS, ist eine schlechte Lösung, weil das einen VDR Patch bedeutet!
Da hätte VDR Papa wohl besser dieses Konstrukt gewählt:
Code#ifndef DEPRECATED_SKIN_SETITEMEVENT #define DEPRECATED_SKIN_SETITEMEVENT 1 #endif #if DEPRECATED_SKIN_SETITEMEVENT ....
Das ist auch der Grund, warum ich "#ifdef ..." ned mag, sondern nur mit "#if ..." arbeite, weil man da eben so schön einen Default definieren kann, den man aber von außen leicht umändern kann
Bitte in der nächsten VDR Version so implementieren, weil dann kann man es per -DDEPRECATED_SKIN_SETITEMEVENT=0 auf der Compiler Command Line (make) deaktivieren.Ich verwende das skindesigner Plugin nicht und ich habe auch nicht alles installiert, was das Ding braucht, aber um euch einen Patch zu machen hat es gereicht.
Ich habe das NICHT getestet. Es kompiliert aber, zumindest bis zu dem File, wo ich dann 30 andere Pakete installieren müsste.LG,
Jasmin -
Nabend
mit dem Patch geht es , vielen lieben Dank
speed -
[OT]
Grundsätzlich finde ich es ja Klasse, dass innerhalb kürzester Zeit nach der Veröffentlichung einer neuen Version des VDR, es Leute gibt, die einen Patch anbieten.
Aber wäre es denn nicht viel sinnvoller, das entsprechende Plugin anzupassen, als Teile des VDR mit einem Patch auf eine vorherige Version zurück zu patchen?
Nicht falsch verstehen, ich meine nicht die Patches, die den VDR im Funktionsumfang erweitern, sondern ausschließlich die, die die neuen Features rückgängig machen.
[/OT]
-
-
Dann habe ich das wohl falsch verstanden, sorry.
-
Der Patch war nicht für den VDR sondern für das skindesigner Plugin.
Und da am skindesigner-Plugin momentan keine weiteren Änderungen/Anpassungen zu erwarten sind, wird man wohl ohne einen Patch nicht auskommen.
Es sei denn "Jemand" erbarmt sich und setzt die Entwicklung des Plugins fort.Paul
-
-
Also skindesigner baut bei mir auch mit o.g. Patch nicht:
Code
Display Morevdr01_64 skindesigner # make make -C libskindesignerapi make[1]: Entering directory '/usr/local/src/vdr-2.3.8/PLUGINS/src/skindesigner-git/libskindesignerapi' make[1]: Leaving directory '/usr/local/src/vdr-2.3.8/PLUGINS/src/skindesigner-git/libskindesignerapi' c++ -Werror=overloaded-virtual -Wno-parentheses -march=core-avx2 -O2 -pipe -g -ggdb -O0 -D__STDC_CONSTANT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/linux/dvb -std=c++11 -std=c++11 -c -DPLUGIN_NAME_I18N='"skindesigner"' -I/usr/include/libxml2 -DSCRIPTFOLDER='"/usr/lib/vdr/plugins/skindesigner/scripts"' -D__STL_CONFIG_H -DLIBSKINDESIGNERAPIVERSION='"0.1.2"' -I/usr/include/freetype2 -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -ljpeg -o skindesigner.o skindesigner.c In file included from /usr/include/vdr/osdbase.h:15:0, from /usr/include/vdr/menuitems.h:15, from /usr/include/vdr/plugin.h:14, from skindesigner.c:9: /usr/include/vdr/skins.h:236:16: error: ‘virtual bool cSkinDisplayMenu::SetItemEvent(const cEvent*, int, bool, bool, const cChannel*, bool, eTimerMatch, bool)’ was hidden [-Werror=overloaded-virtual] virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive) { return false; } ^ In file included from designer.h:15:0, from config.h:10, from skindesigner.c:12: displaymenu.h:26:18: error: by ‘virtual bool cSDDisplayMenu::SetItemEvent(const cEvent*, int, bool, bool, const cChannel*, bool, eTimerMatch)’ [-Werror=overloaded-virtual] virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch); ^ cc1plus: some warnings being treated as errors make: *** [Makefile:141: skindesigner.o] Error 1 vdr01_64 skindesigner #
BTW: Auch osd2web nicht:
Code
Display Morevdr01_64 osd2web # make (cd lib && make -s lib) g++ -c -ggdb -O0 -fPIC -Wreturn-type -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wformat -pedantic -Wno-long-long -Wunused-variable -Wunused-label -Wno-unused-result -Wunused-value -Wunused-function -Wno-variadic-macros -Wunused-local-typedefs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -D__STDC_FORMAT_MACROS -Wunused-but-set-variable -Wunused-but-set-parameter -Werror=overloaded-virtual -Wno-parentheses -march=core-avx2 -O2 -pipe -g -ggdb -O0 -D__STDC_CONSTANT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/linux/dvb -march=core-avx2 -O2 -pipe -g -ggdb -O0 -D__STDC_CONSTANT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/linux/dvb -D__STL_CONFIG_H -DOSD2WEB -DLOG_PREFIX='"osd2web: "' -DVDR_PLUGIN -DUSEJSON -DUSEGUNZIP -DPLUGIN_NAME_I18N='"osd2web"' -DGIT_REV='"f9d27ff"' -o skin.o skin.c In file included from /usr/include/vdr/osdbase.h:15:0, from /usr/include/vdr/player.h:14, from /usr/include/vdr/status.h:15, from update.h:26, from skin.c:17: /usr/include/vdr/skins.h:236:16: error: ‘virtual bool cSkinDisplayMenu::SetItemEvent(const cEvent*, int, bool, bool, const cChannel*, bool, eTimerMatch, bool)’ was hidden [-Werror=overloaded-virtual] virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive) { return false; } ^ skin.c:94:20: error: by ‘virtual bool cSkinOsd2WebDisplayMenu::SetItemEvent(const cEvent*, int, bool, bool, const cChannel*, bool, eTimerMatch)’ [-Werror=overloaded-virtual] virtual bool SetItemEvent(const cEvent* Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch); ^ cc1plus: some warnings being treated as errors make: *** [Makefile:91: skin.o] Error 1 vdr01_64 osd2web #
-
3PO der Fehler beim Skindesigner sieht bei Dir genauso aus wie bei mir ohne den Patch. BIst Du sicher das Du ihn angewendet hast?
osd2web kompiliert bei mir auch nicht mehr.
-
Also mein Buildscript sagt:
Code.... applying Patch: /usr/local/src/patches-vdr-2.3.8/PLUGINS/skindesigner-git/0001-Fixed-overloaded-virtual-SetItemEvent.diff patching file displaymenu.c patching file displaymenu.h ....
Von daher gehe ich schon davon aus, dass der Patch angewendet wurde.
Aber am Ende kommt hlt:
-
Also skindesigner baut bei mir auch mit o.g. Patch nicht:
Hast du den VDR 2.3.8 schon per make install installiert oder liegen da noch Header der Vorgängerversion in /usr/include/vdr/ herum?
BTW: Auch osd2web nicht:
Bei mir geht es damit (den habe ich horchi schon geschickt und er will sich das im Laufe des WE ansehen): osd2web_vdr-2.3.8_compat.diff
-
Hast du den VDR 2.3.8 schon per make install installiert oder liegen da noch Header der Vorgängerversion in /usr/include/vdr/ herum? ...
Das erledigt das Script.
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!