Hallo
There are new version of eggtimer and zaphistory plugins available:
Zaphistory: - Removed pointers to VDRs cChannel instances to avoid problems when a channel is deleted during runtime.
Download: http://vaasa.wi-bw.tfh-wildau.de/~pjuszack/digicam/download/vdr-zaphistory-0...
Eggtimer: - added French translations (thanks to alien2924) - corrected thread termination to avoid several problems ( reported by C.Y.M )
Download: http://vaasa.wi-bw.tfh-wildau.de/~pjuszack/digicam/download/vdr-eggtimer-0.9...
Have fun...
Hi,
I've noticed, that you use the -fPIC option in the eggtimer plugin, but not in zaphistory. Can you please add this to the zaphistory Plugin too? The -fPIC option makes the plugin more compatible to other architectures like hppa, amd64 or alpha.
bye,
Tobias
Peter Juszack wrote:
- corrected thread termination to avoid several problems ( reported by
C.Y.M )
There's another problem. It's not allowed to use Skins.Message() from within a thread other than the main thread. You should use QueueMessage() (available since vdr 1.3.37) instead (see attached patch). You may need to add some ifdef's to check for the correct vdr version. I'm afraid the Interface->Status() code for VDR < 1.3.14 will not work either.
bye,
Tobias
--- vdr-plugin-eggtimer-0.9.2.orig/background.c +++ vdr-plugin-eggtimer-0.9.2/background.c @@ -71,7 +71,7 @@ #if VDRVERSNUM < 10314 Interface->Error( tr("Eggtimer: could not switch channel") ); #else - Skins.Message( mtError, tr("Eggtimer: could not switch channel") ); + Skins.QueueMessage( mtError, tr("Eggtimer: could not switch channel") ); #endif } @@ -94,9 +94,7 @@ usleep( Setup.OSDMessageTime * 1000); Interface->Status( NULL ); #else - Skins.Message( mtStatus, eggtimer->msg ); - cCondWait::SleepMs( Setup.OSDMessageTime * 1000); - Skins.Message( mtStatus, NULL ); + Skins.QueueMessage( mtInfo, eggtimer->msg, 0, -1); #endif // remember time when message was displayed lastInfo = now; @@ -116,7 +114,7 @@ #if VDRVERSNUM < 10314 Interface->Error( tr("Eggtimer: command not found") ); #else - Skins.Message( mtError, tr("Eggtimer: command not found") ); + Skins.QueueMessage( mtError, tr("Eggtimer: command not found") ); #endif leaveLoop = true; // Stop eggtimer thread } break;