VDR version 2.7.5 is now available at the official VDR GIT archive
git://git.tvdr.de
You can also get the latest stable version with
git clone --branch stable/latest git://git.tvdr.de/vdr.git
or as a tar archive with
http://git.tvdr.de/?p=vdr.git;a=snapshot;h=stable/latest;sf=tbz2
The changes since version 2.7.4:
- Added the "override" keyword to virtual functions reimplemented in derived classes. Plugins may want to do the same, but don't have to. - Removed -Werror=overloaded-virtual from Makefile and Make.config(.template). Plugins may want to do the same, but don't have to. - Renamed cStatus::Osd*2() to cStatus::Osd*(). Plugins that use these recently introduced functions need to remove the '2' from the name. - The new virtual function cSkinDisplayMenu::SetItemEvent(..., const cTimer *Timer) can be used to get full access to the timer (if any) defined for this event. - Added mutex locks to protect creating/deleting cStatus and cEpgHandler objects (suggested by Markus Ehrnsperger). - Making absolutely sure cEvent::Title() never returns NULL. APIVERSNUM is now 30007. - Improved subtitle handling: + Subtitles now disappear as signaled in the data stream. + Subtitles are now kept in memory for at least 120 seconds, to have them readily available after a short rewind during replay. - Subtitles can now be temporarily displayed after a fast rewind: + The setup option "DVB/Display subtitles" now has three settings: "no" and "always" behave like before, the new "after rewind" turns on subtitles after a fast rewind during replay, and off again when the point where the rewind was started is reached. - Removed an unnecessary call to cDevice::GetVideoSize(). - Moved the call to Empty() back into the pmSlow case (thanks to Andreas Baierl). - Fixed spurious times shown in the progress display when switching from "play" to "fast forward". - Now deleting old recording info before reading modified info file (suggested by Stefan Hofmann). - Plugins need to be rebuilt.
Homepage: http://www.tvdr.de Facebook: https://www.facebook.com/VideoDiskRecorder
Have fun!
Klaus
Sat, Apr 12, 2025 at 12:46:46PM +0200, Klaus Schmidinger wrote:
Added the "override" keyword to virtual functions reimplemented in derived classes.
This C++11 keyword is misplaced in the plugin "hello". Here is the first misplaced occurrence:
hello.c: In member function ‘virtual const char* cPluginHello::Version()’: hello.c:27:56: error: ‘override’ was not declared in this scope 27 | virtual const char *Version(void) { return VERSION; override}
The keyword "override" should occur before the function body, not in the body. To my understanding, the keyword "virtual" is redundant and could be removed, because "override" alone should imply that it is a virtual member function.
Other than this, I was able to build and install the upgrade.
With best regards,
Marko
Hi, IMHO skincurses plugin also does not compile:
*** Plugin skincurses: ... ...
skincurses.c:In member function ‘virtual void cSkinCursesDisplayTracks::SetAudioChannel(int)’: skincurses.c:650:52:error: ‘override’ was not declared in this scope; did you mean ‘overwrite’? 650 | virtual void SetAudioChannel(int AudioChannel) { override} | ^~~~~~~~ | overwrite skincurses.c:In member function ‘virtual const char* cPluginSkinCurses::MainMenuEntry()’: skincurses.c:802:72:error: ‘override’ was not declared in this scope; did you mean ‘overwrite’? 802 | virtual const char *MainMenuEntry(void) { return tr(MAINMENUENTRY); override} | ^~~~~~~~ | overwrite
Greetings from Berlin
Martin
Am 13.04.25 um 16:01 schrieb Marko Mäkelä: