mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 1.2.1
- Fixed OSD access in case none of the devices provides one (thanks to Axel Gruber for reporting this one). - Fixed editing channels ('timers.conf' was not written after a channel has been modified, which could result in errors upon the next start of VDR). - Fixed a crash when canceling a newly created timer (thanks to Thomas Schmidt for reporting this one). - Completed Hungarian language texts (thanks to Istvan Koenigsberger and Guido Josten). - Fixed device handling in the CICAM menu in case a VDR instance was started with a specific device using the -D option (thanks to Gerald Raaf for reporting ths one). - Initializing the current channel to '1' to avoid a crash in creating a new timer in case there is no device in the system that can actually receive any channel (thanks to Malcolm Caldwell for reporting this one). - Some corrections to the Finnish OSD texts (thanks to Niko Tarnanen and Rolf Ahrenberg).
This commit is contained in:
parent
40334f3e09
commit
64ddfca3b0
@ -90,6 +90,7 @@ Peter Hofmann <software@pxh.de>
|
|||||||
Axel Gruber <axel@agm.de>
|
Axel Gruber <axel@agm.de>
|
||||||
for his support in keeping the Premiere World channels up to date in 'channels.conf'
|
for his support in keeping the Premiere World channels up to date in 'channels.conf'
|
||||||
for helping to debug support for Viaccess CAMs
|
for helping to debug support for Viaccess CAMs
|
||||||
|
for reporting a problem in case none of the devices provides an OSD
|
||||||
|
|
||||||
Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>
|
Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>
|
||||||
for translating OSD texts to the Dutch language
|
for translating OSD texts to the Dutch language
|
||||||
@ -370,6 +371,8 @@ Gerald Raaf <graaf@attglobal.net>
|
|||||||
for helping to fix the still picture workaround in case the progress display
|
for helping to fix the still picture workaround in case the progress display
|
||||||
is active
|
is active
|
||||||
for his support in keeping the Premiere World channels up to date in 'channels.conf'
|
for his support in keeping the Premiere World channels up to date in 'channels.conf'
|
||||||
|
for reporting a problem in device handling in the CICAM menu in case a VDR
|
||||||
|
instance was started with a specific device using the -D option
|
||||||
|
|
||||||
Andreas Roedl <flood@flood-net.de>
|
Andreas Roedl <flood@flood-net.de>
|
||||||
for adding some DVB-T channels for Berlin (Germany) to channels.conf.terr
|
for adding some DVB-T channels for Berlin (Germany) to channels.conf.terr
|
||||||
@ -617,6 +620,8 @@ Sascha Volkenandt <sascha@akv-soft.de>
|
|||||||
|
|
||||||
Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
|
Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
|
||||||
for modifying LOF handling to allow for C-band reception
|
for modifying LOF handling to allow for C-band reception
|
||||||
|
for reporting a crash in creating a new timer in case there is no device in the
|
||||||
|
system that can actually receive any channel
|
||||||
|
|
||||||
Ludwig Nussel <ludwig.nussel@web.de>
|
Ludwig Nussel <ludwig.nussel@web.de>
|
||||||
for making the LIRC thread avoid high CPU load in case the connection to LIRC gets lost
|
for making the LIRC thread avoid high CPU load in case the connection to LIRC gets lost
|
||||||
@ -711,3 +716,6 @@ Karim Afifi <karim.afifi@free.fr>
|
|||||||
|
|
||||||
Jon Burgess <mplayer@jburgess.uklinux.net>
|
Jon Burgess <mplayer@jburgess.uklinux.net>
|
||||||
for pointing out a problem with NPTL ("Native Posix Thread Library")
|
for pointing out a problem with NPTL ("Native Posix Thread Library")
|
||||||
|
|
||||||
|
Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
|
||||||
|
for reporting a crash when cancelling a newly created timer
|
||||||
|
19
HISTORY
19
HISTORY
@ -2234,3 +2234,22 @@ Video Disk Recorder Revision History
|
|||||||
(thanks to Jon Burgess for pointing this out).
|
(thanks to Jon Burgess for pointing this out).
|
||||||
- Some corrections to the Finnish OSD texts (thanks to Jaakko Hyvätti).
|
- Some corrections to the Finnish OSD texts (thanks to Jaakko Hyvätti).
|
||||||
- Officially released as version 1.2.0.
|
- Officially released as version 1.2.0.
|
||||||
|
|
||||||
|
2003-06-09: Version 1.2.1
|
||||||
|
|
||||||
|
- Fixed OSD access in case none of the devices provides one (thanks to Axel
|
||||||
|
Gruber for reporting this one).
|
||||||
|
- Fixed editing channels ('timers.conf' was not written after a channel has
|
||||||
|
been modified, which could result in errors upon the next start of VDR).
|
||||||
|
- Fixed a crash when cancelling a newly created timer (thanks to Thomas Schmidt
|
||||||
|
for reporting this one).
|
||||||
|
- Completed Hungarian language texts (thanks to Istvan Koenigsberger and Guido
|
||||||
|
Josten).
|
||||||
|
- Fixed device handling in the CICAM menu in case a VDR instance was started
|
||||||
|
with a specific device using the -D option (thanks to Gerald Raaf for reporting
|
||||||
|
ths one).
|
||||||
|
- Initializing the current channel to '1' to avoid a crash in creating a new
|
||||||
|
timer in case there is no device in the system that can actually receive any
|
||||||
|
channel (thanks to Malcolm Caldwell for reporting this one).
|
||||||
|
- Some corrections to the Finnish OSD texts (thanks to Niko Tarnanen and Rolf
|
||||||
|
Ahrenberg).
|
||||||
|
6
config.h
6
config.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.h 1.163 2003/05/31 09:10:58 kls Exp $
|
* $Id: config.h 1.164 2003/06/06 12:28:20 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -19,8 +19,8 @@
|
|||||||
#include "device.h"
|
#include "device.h"
|
||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
|
|
||||||
#define VDRVERSION "1.2.0"
|
#define VDRVERSION "1.2.1"
|
||||||
#define VDRVERSNUM 10200 // Version * 10000 + Major * 100 + Minor
|
#define VDRVERSNUM 10201 // Version * 10000 + Major * 100 + Minor
|
||||||
|
|
||||||
#define MAXPRIORITY 99
|
#define MAXPRIORITY 99
|
||||||
#define MAXLIFETIME 99
|
#define MAXLIFETIME 99
|
||||||
|
4
device.c
4
device.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: device.c 1.44 2003/05/25 10:57:59 kls Exp $
|
* $Id: device.c 1.45 2003/06/08 09:19:59 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -28,7 +28,7 @@
|
|||||||
int cDevice::numDevices = 0;
|
int cDevice::numDevices = 0;
|
||||||
int cDevice::useDevice = 0;
|
int cDevice::useDevice = 0;
|
||||||
int cDevice::nextCardIndex = 0;
|
int cDevice::nextCardIndex = 0;
|
||||||
int cDevice::currentChannel = 0;
|
int cDevice::currentChannel = 1;
|
||||||
cDevice *cDevice::device[MAXDEVICES] = { NULL };
|
cDevice *cDevice::device[MAXDEVICES] = { NULL };
|
||||||
cDevice *cDevice::primaryDevice = NULL;
|
cDevice *cDevice::primaryDevice = NULL;
|
||||||
|
|
||||||
|
60
i18n.c
60
i18n.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: i18n.c 1.125 2003/06/01 08:49:47 kls Exp $
|
* $Id: i18n.c 1.128 2003/06/09 09:49:29 kls Exp $
|
||||||
*
|
*
|
||||||
* Translations provided by:
|
* Translations provided by:
|
||||||
*
|
*
|
||||||
@ -222,7 +222,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Entoles gia egrafes",
|
"Entoles gia egrafes",
|
||||||
"Inspelningskommandon",
|
"Inspelningskommandon",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Parancsok a felvett filmekhez",
|
||||||
"Ordres de gravació",
|
"Ordres de gravació",
|
||||||
},
|
},
|
||||||
{ "Edit channel",
|
{ "Edit channel",
|
||||||
@ -733,7 +733,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Epanafora",
|
"Epanafora",
|
||||||
"Återställ",
|
"Återställ",
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"Reset",
|
||||||
"Reiniciar",
|
"Reiniciar",
|
||||||
},
|
},
|
||||||
// Confirmations:
|
// Confirmations:
|
||||||
@ -932,7 +932,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Pressione qualquer tecla para cancelar",
|
"Pressione qualquer tecla para cancelar",
|
||||||
"Appuyez sur une touche pour annuler l'arrêt",
|
"Appuyez sur une touche pour annuler l'arrêt",
|
||||||
"Trykk en tast for ikke å slå av",
|
"Trykk en tast for ikke å slå av",
|
||||||
"Peru sammutus painamalla jotain näppäintä",
|
"Peru sammutus painamalla mitä tahansa näppäintä",
|
||||||
"Dowolny przycisk zatrzyma wylaczanie",
|
"Dowolny przycisk zatrzyma wylaczanie",
|
||||||
"Pulse una tecla para interrumpir apagar",
|
"Pulse una tecla para interrumpir apagar",
|
||||||
"Piese ena pliktro na akirothei o termatismos",
|
"Piese ena pliktro na akirothei o termatismos",
|
||||||
@ -1007,7 +1007,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Pigi",
|
"Pigi",
|
||||||
"Källa",
|
"Källa",
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"Forrás",
|
||||||
"Origen",
|
"Origen",
|
||||||
},
|
},
|
||||||
{ "Srate",
|
{ "Srate",
|
||||||
@ -1587,7 +1587,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"To kanali den ine diathesimo",
|
"To kanali den ine diathesimo",
|
||||||
"Kanalen ej tillgänglig!",
|
"Kanalen ej tillgänglig!",
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"A csatorna nem elérhetö",
|
||||||
"Canal no disponible!",
|
"Canal no disponible!",
|
||||||
},
|
},
|
||||||
{ "Channel settings are not unique!",
|
{ "Channel settings are not unique!",
|
||||||
@ -1604,7 +1604,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Oi rithmiseis tou kanaliou simpiptoun me allo!",
|
"Oi rithmiseis tou kanaliou simpiptoun me allo!",
|
||||||
"Kanalinställningarna är ej unika!",
|
"Kanalinställningarna är ej unika!",
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"A csatornabeállítások nem egyértelmüek",
|
||||||
"Propietats del canal duplicades!",
|
"Propietats del canal duplicades!",
|
||||||
},
|
},
|
||||||
{ "Channel locked (recording)!",
|
{ "Channel locked (recording)!",
|
||||||
@ -1655,7 +1655,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Den exoun oristei simeia gia epexsergasia",
|
"Den exoun oristei simeia gia epexsergasia",
|
||||||
"Det finns inga redigeringsmärken",//TODO
|
"Det finns inga redigeringsmärken",//TODO
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"A vágópont nincs kijelölve",//TODO
|
||||||
"No hi ha marques d'edició definides",
|
"No hi ha marques d'edició definides",
|
||||||
},
|
},
|
||||||
{ "Can't start editing process!",
|
{ "Can't start editing process!",
|
||||||
@ -1740,7 +1740,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Den mpori na aniksi to CAM menou!",
|
"Den mpori na aniksi to CAM menou!",
|
||||||
"Det går inte att öppna CAM menyn!",
|
"Det går inte att öppna CAM menyn!",
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"A CAM-Menü nem nyitható",
|
||||||
"No puc obrir el menú de la CAM!",
|
"No puc obrir el menú de la CAM!",
|
||||||
},
|
},
|
||||||
{ "Can't reset CAM!",
|
{ "Can't reset CAM!",
|
||||||
@ -1757,7 +1757,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Adinato na gini epanafora sto CAM",
|
"Adinato na gini epanafora sto CAM",
|
||||||
"Kan inte återställa CAM!",
|
"Kan inte återställa CAM!",
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"A CAM-Reset nem sikerült",
|
||||||
"No puc reiniciar la CAM!",
|
"No puc reiniciar la CAM!",
|
||||||
},
|
},
|
||||||
{ "CAM has been reset",
|
{ "CAM has been reset",
|
||||||
@ -1774,7 +1774,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Sto CAM egine apanafora",
|
"Sto CAM egine apanafora",
|
||||||
"CA modulen har återställts",
|
"CA modulen har återställts",
|
||||||
"",//TODO
|
"",//TODO
|
||||||
"",//TODO
|
"A CAM vissza lett állítva",
|
||||||
"CAM reiniciada",
|
"CAM reiniciada",
|
||||||
},
|
},
|
||||||
// Setup pages:
|
// Setup pages:
|
||||||
@ -2405,7 +2405,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"",// TODO
|
"",// TODO
|
||||||
"Prioritet för direktinspelning",
|
"Prioritet för direktinspelning",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Szünet prioritás",
|
||||||
"Prioritat de la pausa",
|
"Prioritat de la pausa",
|
||||||
},
|
},
|
||||||
{ "Setup.Recording$Pause lifetime (d)",
|
{ "Setup.Recording$Pause lifetime (d)",
|
||||||
@ -2422,7 +2422,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"",// TODO
|
"",// TODO
|
||||||
"Livstid för direktinspelning (dagar)",
|
"Livstid för direktinspelning (dagar)",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Szünet élettartama",
|
||||||
"Durada de la pausa (d)",
|
"Durada de la pausa (d)",
|
||||||
},
|
},
|
||||||
{ "Setup.Recording$Use episode name",
|
{ "Setup.Recording$Use episode name",
|
||||||
@ -2592,7 +2592,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Resume ID",// TODO
|
"Resume ID",// TODO
|
||||||
"Återuppta ID",
|
"Återuppta ID",
|
||||||
"Resume ID",// TODO
|
"Resume ID",// TODO
|
||||||
"Resume ID",// TODO
|
"Lejátszás ID",
|
||||||
"ID de Continuar",
|
"ID de Continuar",
|
||||||
},
|
},
|
||||||
{ "Setup.Miscellaneous$Min. event timeout (min)",
|
{ "Setup.Miscellaneous$Min. event timeout (min)",
|
||||||
@ -2696,7 +2696,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"",// TODO
|
"",// TODO
|
||||||
" abcdefghijklmnopqrstuvxyzåäö0123456789-.#~",
|
" abcdefghijklmnopqrstuvxyzåäö0123456789-.#~",
|
||||||
" abcdefghijklmnopqrstuvwxyz0123456789-.#~",
|
" abcdefghijklmnopqrstuvwxyz0123456789-.#~",
|
||||||
" aábcdeéfghijklmnoóöpqrstuúüvwxyz0123456789-.,#~",
|
" aábcdeéfghiíjklmnoóöpqrstuúüvwxyz0123456789-.,#~",
|
||||||
" aàbcçdeéèfghiíjklmnoòpqrstuúvwxyz0123456789-.,#~_·",
|
" aàbcçdeéèfghiíjklmnoòpqrstuúvwxyz0123456789-.,#~_·",
|
||||||
},
|
},
|
||||||
// Learning keys:
|
// Learning keys:
|
||||||
@ -2742,7 +2742,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Pressione qualquer tecla do telecomando",
|
"Pressione qualquer tecla do telecomando",
|
||||||
"Appuyer sur une touche de la télécommande",
|
"Appuyer sur une touche de la télécommande",
|
||||||
"Trykk en av tastene på fjernkontrollen",
|
"Trykk en av tastene på fjernkontrollen",
|
||||||
"Paina jotain kaukosäätimen näppäintä",
|
"Paina mitä tahansa kaukosäätimen näppäintä",
|
||||||
"Nacisnac klawisz pilota",
|
"Nacisnac klawisz pilota",
|
||||||
"Pulse una tecla en el telemando",
|
"Pulse una tecla en el telemando",
|
||||||
"Piese ena pliktro sto tilexiristirio",
|
"Piese ena pliktro sto tilexiristirio",
|
||||||
@ -2901,7 +2901,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Pata 'Menou' gia prosperasi aftou tou pliktrou",
|
"Pata 'Menou' gia prosperasi aftou tou pliktrou",
|
||||||
"Tryck 'Meny' för att hoppa över denna knapp.",
|
"Tryck 'Meny' för att hoppa över denna knapp.",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"A Menü gombot nyomni ennek a gombnak a kihagyásához",
|
||||||
"Premeu 'Menú' per obviar aquesta tecla",
|
"Premeu 'Menú' per obviar aquesta tecla",
|
||||||
},
|
},
|
||||||
{ "Phase 3: Saving key codes",
|
{ "Phase 3: Saving key codes",
|
||||||
@ -3140,7 +3140,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Anametadosi",
|
"Anametadosi",
|
||||||
"Spela upp",
|
"Spela upp",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Lejátszás",
|
||||||
"Reproduir",
|
"Reproduir",
|
||||||
},
|
},
|
||||||
{ "Pause",
|
{ "Pause",
|
||||||
@ -3157,7 +3157,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Dialima",
|
"Dialima",
|
||||||
"Pausa",
|
"Pausa",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Szünet",
|
||||||
"Pausa",
|
"Pausa",
|
||||||
},
|
},
|
||||||
{ "Stop",
|
{ "Stop",
|
||||||
@ -3174,7 +3174,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Terma",
|
"Terma",
|
||||||
"Stoppa",
|
"Stoppa",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Stop",
|
||||||
"Aturar",
|
"Aturar",
|
||||||
},
|
},
|
||||||
{ "Record",
|
{ "Record",
|
||||||
@ -3191,7 +3191,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Egrafi",
|
"Egrafi",
|
||||||
"Spela in",
|
"Spela in",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Felvenni",
|
||||||
"Gravar",
|
"Gravar",
|
||||||
},
|
},
|
||||||
{ "FastFwd",
|
{ "FastFwd",
|
||||||
@ -3208,7 +3208,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Girisma mprosta",
|
"Girisma mprosta",
|
||||||
"Snabbspolning framåt",
|
"Snabbspolning framåt",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Elöre pörgetni",
|
||||||
"Endavant ràpidament",
|
"Endavant ràpidament",
|
||||||
},
|
},
|
||||||
{ "FastRew",
|
{ "FastRew",
|
||||||
@ -3225,7 +3225,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Girisma piso",
|
"Girisma piso",
|
||||||
"Snabbspolning bakåt",
|
"Snabbspolning bakåt",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Vissza pörgetni",
|
||||||
"Enrera ràpidament",
|
"Enrera ràpidament",
|
||||||
},
|
},
|
||||||
{ "Power",
|
{ "Power",
|
||||||
@ -3259,7 +3259,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Kanali+",
|
"Kanali+",
|
||||||
"Kanal+",
|
"Kanal+",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Csatorna+",
|
||||||
"Canal +",
|
"Canal +",
|
||||||
},
|
},
|
||||||
{ "Channel-",
|
{ "Channel-",
|
||||||
@ -3276,7 +3276,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Kanali-",
|
"Kanali-",
|
||||||
"Kanal-",
|
"Kanal-",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Csatorna-",
|
||||||
"Canal -",
|
"Canal -",
|
||||||
},
|
},
|
||||||
{ "Volume+",
|
{ "Volume+",
|
||||||
@ -3379,7 +3379,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"klisto",
|
"klisto",
|
||||||
"av",
|
"av",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"ki",
|
||||||
"off",
|
"off",
|
||||||
},
|
},
|
||||||
{ "none",
|
{ "none",
|
||||||
@ -3396,7 +3396,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"kanena",
|
"kanena",
|
||||||
"ingen",
|
"ingen",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"semmi",
|
||||||
"cap",
|
"cap",
|
||||||
},
|
},
|
||||||
{ "auto",
|
{ "auto",
|
||||||
@ -3413,7 +3413,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"aftomato",
|
"aftomato",
|
||||||
"automatisk",
|
"automatisk",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"auto",
|
||||||
"auto",
|
"auto",
|
||||||
},
|
},
|
||||||
{ "top",
|
{ "top",
|
||||||
@ -3685,7 +3685,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"",// TODO
|
"",// TODO
|
||||||
"Pausar direktinspelningen",
|
"Pausar direktinspelningen",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Az élö adás megállítva...",
|
||||||
"Pausa d'emissió en directe...",
|
"Pausa d'emissió en directe...",
|
||||||
},
|
},
|
||||||
{ "This plugin has no setup parameters!",
|
{ "This plugin has no setup parameters!",
|
||||||
@ -3702,7 +3702,7 @@ const tI18nPhrase Phrases[] = {
|
|||||||
"Afto to plugin den exi parametrous",
|
"Afto to plugin den exi parametrous",
|
||||||
"Den här modulen har inga parametrar",
|
"Den här modulen har inga parametrar",
|
||||||
"",// TODO
|
"",// TODO
|
||||||
"",// TODO
|
"Ennek a plugin-nak nincs setup-parametere!",
|
||||||
"Aquest plugin no admet configuració!",
|
"Aquest plugin no admet configuració!",
|
||||||
},
|
},
|
||||||
{ NULL }
|
{ NULL }
|
||||||
|
74
menu.c
74
menu.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: menu.c 1.253 2003/05/30 09:53:57 kls Exp $
|
* $Id: menu.c 1.256 2003/06/07 12:31:57 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -615,6 +615,7 @@ eOSState cMenuEditChannel::ProcessKey(eKeys Key)
|
|||||||
if (channel) {
|
if (channel) {
|
||||||
*channel = data;
|
*channel = data;
|
||||||
isyslog("edited channel %d %s", channel->Number(), data.ToText());
|
isyslog("edited channel %d %s", channel->Number(), data.ToText());
|
||||||
|
Timers.Save();
|
||||||
state = osBack;
|
state = osBack;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -834,21 +835,21 @@ private:
|
|||||||
cTimer *timer;
|
cTimer *timer;
|
||||||
cTimer data;
|
cTimer data;
|
||||||
int channel;
|
int channel;
|
||||||
bool deleteIfCancelled;
|
bool addIfConfirmed;
|
||||||
cMenuEditDateItem *firstday;
|
cMenuEditDateItem *firstday;
|
||||||
void SetFirstDayItem(void);
|
void SetFirstDayItem(void);
|
||||||
public:
|
public:
|
||||||
cMenuEditTimer(int Index, bool New = false);
|
cMenuEditTimer(cTimer *Timer, bool New = false);
|
||||||
virtual ~cMenuEditTimer();
|
virtual ~cMenuEditTimer();
|
||||||
virtual eOSState ProcessKey(eKeys Key);
|
virtual eOSState ProcessKey(eKeys Key);
|
||||||
};
|
};
|
||||||
|
|
||||||
cMenuEditTimer::cMenuEditTimer(int Index, bool New)
|
cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New)
|
||||||
:cOsdMenu(tr("Edit timer"), 12)
|
:cOsdMenu(tr("Edit timer"), 12)
|
||||||
{
|
{
|
||||||
firstday = NULL;
|
firstday = NULL;
|
||||||
timer = Timers.Get(Index);
|
timer = Timer;
|
||||||
deleteIfCancelled = New;
|
addIfConfirmed = New;
|
||||||
if (timer) {
|
if (timer) {
|
||||||
data = *timer;
|
data = *timer;
|
||||||
if (New)
|
if (New)
|
||||||
@ -869,12 +870,8 @@ cMenuEditTimer::cMenuEditTimer(int Index, bool New)
|
|||||||
|
|
||||||
cMenuEditTimer::~cMenuEditTimer()
|
cMenuEditTimer::~cMenuEditTimer()
|
||||||
{
|
{
|
||||||
if (timer && deleteIfCancelled) {
|
if (timer && addIfConfirmed)
|
||||||
int Index = timer->Index();
|
delete timer; // apparently it wasn't confirmed
|
||||||
Timers.Del(timer);
|
|
||||||
Timers.Save();
|
|
||||||
isyslog("timer %d deleted", Index + 1);
|
|
||||||
}
|
|
||||||
Timers.DecBeingEdited();
|
Timers.DecBeingEdited();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -908,14 +905,18 @@ eOSState cMenuEditTimer::ProcessKey(eKeys Key)
|
|||||||
}
|
}
|
||||||
if (!*data.file)
|
if (!*data.file)
|
||||||
strcpy(data.file, data.Channel()->Name());
|
strcpy(data.file, data.Channel()->Name());
|
||||||
if (timer && memcmp(timer, &data, sizeof(data)) != 0) {
|
if (timer) {
|
||||||
|
if (memcmp(timer, &data, sizeof(data)) != 0) {
|
||||||
*timer = data;
|
*timer = data;
|
||||||
if (timer->active)
|
if (timer->active)
|
||||||
timer->active = 1; // allows external programs to mark active timers with values > 1 and recognize if the user has modified them
|
timer->active = 1; // allows external programs to mark active timers with values > 1 and recognize if the user has modified them
|
||||||
Timers.Save();
|
|
||||||
isyslog("timer %d modified (%s)", timer->Index() + 1, timer->active ? "active" : "inactive");
|
|
||||||
}
|
}
|
||||||
deleteIfCancelled = false;
|
if (addIfConfirmed)
|
||||||
|
Timers.Add(timer);
|
||||||
|
Timers.Save();
|
||||||
|
isyslog("timer %d %s (%s)", timer->Index() + 1, addIfConfirmed ? "added" : "modified", timer->active ? "active" : "inactive");
|
||||||
|
addIfConfirmed = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return osBack;
|
return osBack;
|
||||||
case kRed:
|
case kRed:
|
||||||
@ -1033,19 +1034,14 @@ eOSState cMenuTimers::Edit(void)
|
|||||||
if (HasSubMenu() || Count() == 0)
|
if (HasSubMenu() || Count() == 0)
|
||||||
return osContinue;
|
return osContinue;
|
||||||
isyslog("editing timer %d", CurrentTimer()->Index() + 1);
|
isyslog("editing timer %d", CurrentTimer()->Index() + 1);
|
||||||
return AddSubMenu(new cMenuEditTimer(CurrentTimer()->Index()));
|
return AddSubMenu(new cMenuEditTimer(CurrentTimer()));
|
||||||
}
|
}
|
||||||
|
|
||||||
eOSState cMenuTimers::New(void)
|
eOSState cMenuTimers::New(void)
|
||||||
{
|
{
|
||||||
if (HasSubMenu())
|
if (HasSubMenu())
|
||||||
return osContinue;
|
return osContinue;
|
||||||
cTimer *timer = new cTimer;
|
return AddSubMenu(new cMenuEditTimer(new cTimer, true));
|
||||||
Timers.Add(timer);
|
|
||||||
Add(new cMenuTimerItem(timer), true);
|
|
||||||
Timers.Save();
|
|
||||||
isyslog("timer %d added", timer->Index() + 1);
|
|
||||||
return AddSubMenu(new cMenuEditTimer(timer->Index(), true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
eOSState cMenuTimers::Delete(void)
|
eOSState cMenuTimers::Delete(void)
|
||||||
@ -1094,8 +1090,7 @@ eOSState cMenuTimers::Summary(void)
|
|||||||
|
|
||||||
eOSState cMenuTimers::ProcessKey(eKeys Key)
|
eOSState cMenuTimers::ProcessKey(eKeys Key)
|
||||||
{
|
{
|
||||||
cTimer *ti = HasSubMenu() ? CurrentTimer() : NULL;
|
int TimerNumber = HasSubMenu() ? Count() : -1;
|
||||||
int TimerNumber = ti ? ti->Index() : -1;
|
|
||||||
eOSState state = cOsdMenu::ProcessKey(Key);
|
eOSState state = cOsdMenu::ProcessKey(Key);
|
||||||
|
|
||||||
if (state == osUnknown) {
|
if (state == osUnknown) {
|
||||||
@ -1112,9 +1107,9 @@ eOSState cMenuTimers::ProcessKey(eKeys Key)
|
|||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TimerNumber >= 0 && !HasSubMenu() && !Timers.Get(TimerNumber)) {
|
if (TimerNumber >= 0 && !HasSubMenu() && Timers.Get(TimerNumber)) {
|
||||||
// a newly created timer wasn't confirmed with Ok
|
// a newly created timer was confirmed with Ok
|
||||||
cOsdMenu::Del(Current());
|
Add(new cMenuTimerItem(Timers.Get(TimerNumber)), true);
|
||||||
Display();
|
Display();
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
@ -1274,16 +1269,11 @@ eOSState cMenuWhatsOn::Record(void)
|
|||||||
if (item) {
|
if (item) {
|
||||||
cTimer *timer = new cTimer(item->eventInfo);
|
cTimer *timer = new cTimer(item->eventInfo);
|
||||||
cTimer *t = Timers.GetTimer(timer);
|
cTimer *t = Timers.GetTimer(timer);
|
||||||
if (!t) {
|
if (t) {
|
||||||
Timers.Add(timer);
|
|
||||||
Timers.Save();
|
|
||||||
isyslog("timer %d added", timer->Index() + 1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
delete timer;
|
delete timer;
|
||||||
timer = t;
|
timer = t;
|
||||||
}
|
}
|
||||||
return AddSubMenu(new cMenuEditTimer(timer->Index(), !t));
|
return AddSubMenu(new cMenuEditTimer(timer, !t));
|
||||||
}
|
}
|
||||||
return osContinue;
|
return osContinue;
|
||||||
}
|
}
|
||||||
@ -1408,16 +1398,11 @@ eOSState cMenuSchedule::Record(void)
|
|||||||
if (item) {
|
if (item) {
|
||||||
cTimer *timer = new cTimer(item->eventInfo);
|
cTimer *timer = new cTimer(item->eventInfo);
|
||||||
cTimer *t = Timers.GetTimer(timer);
|
cTimer *t = Timers.GetTimer(timer);
|
||||||
if (!t) {
|
if (t) {
|
||||||
Timers.Add(timer);
|
|
||||||
Timers.Save();
|
|
||||||
isyslog("timer %d added", timer->Index() + 1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
delete timer;
|
delete timer;
|
||||||
timer = t;
|
timer = t;
|
||||||
}
|
}
|
||||||
return AddSubMenu(new cMenuEditTimer(timer->Index(), !t));
|
return AddSubMenu(new cMenuEditTimer(timer, !t));
|
||||||
}
|
}
|
||||||
return osContinue;
|
return osContinue;
|
||||||
}
|
}
|
||||||
@ -2124,8 +2109,9 @@ cMenuSetupCICAM::cMenuSetupCICAM(void)
|
|||||||
for (int d = 0; d < cDevice::NumDevices(); d++) {
|
for (int d = 0; d < cDevice::NumDevices(); d++) {
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
char buffer[32];
|
char buffer[32];
|
||||||
snprintf(buffer, sizeof(buffer), "%s%d %d", tr("Setup.CICAM$CICAM DVB"), d + 1, i + 1);
|
int CardIndex = cDevice::GetDevice(d)->CardIndex();
|
||||||
Add(new cMenuEditCaItem(buffer, &data.CaCaps[d][i]));
|
snprintf(buffer, sizeof(buffer), "%s%d %d", tr("Setup.CICAM$CICAM DVB"), CardIndex + 1, i + 1);
|
||||||
|
Add(new cMenuEditCaItem(buffer, &data.CaCaps[CardIndex][i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetHelpKeys();
|
SetHelpKeys();
|
||||||
|
14
osd.c
14
osd.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: osd.c 1.42 2003/05/03 14:46:38 kls Exp $
|
* $Id: osd.c 1.43 2003/06/04 16:13:00 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "osd.h"
|
#include "osd.h"
|
||||||
@ -99,6 +99,8 @@ void cOsd::Open(int w, int h)
|
|||||||
//XXX
|
//XXX
|
||||||
osd = OpenRaw(x, y);
|
osd = OpenRaw(x, y);
|
||||||
//XXX TODO this should be transferred to the places where the individual windows are requested (there's too much detailed knowledge here!)
|
//XXX TODO this should be transferred to the places where the individual windows are requested (there's too much detailed knowledge here!)
|
||||||
|
if (!osd)
|
||||||
|
return;
|
||||||
if (h / lineHeight == 5) { //XXX channel display
|
if (h / lineHeight == 5) { //XXX channel display
|
||||||
osd->Create(0, 0, w, h, 4);
|
osd->Create(0, 0, w, h, 4);
|
||||||
}
|
}
|
||||||
@ -145,6 +147,7 @@ void cOsd::Clear(void)
|
|||||||
Fill(0, 0, cols, rows, clrBackground);
|
Fill(0, 0, cols, rows, clrBackground);
|
||||||
refresh();
|
refresh();
|
||||||
#else
|
#else
|
||||||
|
if (osd)
|
||||||
osd->Clear();
|
osd->Clear();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -161,6 +164,7 @@ void cOsd::Fill(int x, int y, int w, int h, eDvbColor color)
|
|||||||
}
|
}
|
||||||
wsyncup(window); // shouldn't be necessary because of 'syncok()', but w/o it doesn't work
|
wsyncup(window); // shouldn't be necessary because of 'syncok()', but w/o it doesn't work
|
||||||
#else
|
#else
|
||||||
|
if (osd)
|
||||||
osd->Fill(x * charWidth, y * lineHeight, (x + w) * charWidth - 1, (y + h) * lineHeight - 1, color);
|
osd->Fill(x * charWidth, y * lineHeight, (x + w) * charWidth - 1, (y + h) * lineHeight - 1, color);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -168,6 +172,7 @@ void cOsd::Fill(int x, int y, int w, int h, eDvbColor color)
|
|||||||
void cOsd::SetBitmap(int x, int y, const cBitmap &Bitmap)
|
void cOsd::SetBitmap(int x, int y, const cBitmap &Bitmap)
|
||||||
{
|
{
|
||||||
#ifndef DEBUG_OSD
|
#ifndef DEBUG_OSD
|
||||||
|
if (osd)
|
||||||
osd->SetBitmap(x, y, Bitmap);
|
osd->SetBitmap(x, y, Bitmap);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -200,7 +205,7 @@ int cOsd::Width(unsigned char c)
|
|||||||
#ifdef DEBUG_OSD
|
#ifdef DEBUG_OSD
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
return osd->Width(c);
|
return osd ? osd->Width(c) : 1;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -209,7 +214,7 @@ int cOsd::WidthInCells(const char *s)
|
|||||||
#ifdef DEBUG_OSD
|
#ifdef DEBUG_OSD
|
||||||
return strlen(s);
|
return strlen(s);
|
||||||
#else
|
#else
|
||||||
return (osd->Width(s) + charWidth - 1) / charWidth;
|
return osd ? (osd->Width(s) + charWidth - 1) / charWidth : strlen(s);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +223,7 @@ eDvbFont cOsd::SetFont(eDvbFont Font)
|
|||||||
#ifdef DEBUG_OSD
|
#ifdef DEBUG_OSD
|
||||||
return Font;
|
return Font;
|
||||||
#else
|
#else
|
||||||
return osd->SetFont(Font);
|
return osd ? osd->SetFont(Font) : Font;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,6 +236,7 @@ void cOsd::Text(int x, int y, const char *s, eDvbColor colorFg, eDvbColor colorB
|
|||||||
wmove(window, y, x); // ncurses wants 'y' before 'x'!
|
wmove(window, y, x); // ncurses wants 'y' before 'x'!
|
||||||
waddnstr(window, s, cols - x);
|
waddnstr(window, s, cols - x);
|
||||||
#else
|
#else
|
||||||
|
if (osd)
|
||||||
osd->Text(x * charWidth, y * lineHeight, s, colorFg, colorBg);
|
osd->Text(x * charWidth, y * lineHeight, s, colorFg, colorBg);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
3
svdrp.c
3
svdrp.c
@ -10,7 +10,7 @@
|
|||||||
* and interact with the Video Disk Recorder - or write a full featured
|
* and interact with the Video Disk Recorder - or write a full featured
|
||||||
* graphical interface that sits on top of an SVDRP connection.
|
* graphical interface that sits on top of an SVDRP connection.
|
||||||
*
|
*
|
||||||
* $Id: svdrp.c 1.51 2003/04/27 14:21:07 kls Exp $
|
* $Id: svdrp.c 1.52 2003/06/06 13:30:52 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "svdrp.h"
|
#include "svdrp.h"
|
||||||
@ -790,6 +790,7 @@ void cSVDRP::CmdMODC(const char *Option)
|
|||||||
Channels.ReNumber();
|
Channels.ReNumber();
|
||||||
Channels.Save();
|
Channels.Save();
|
||||||
isyslog("modifed channel %d %s", channel->Number(), channel->ToText());
|
isyslog("modifed channel %d %s", channel->Number(), channel->ToText());
|
||||||
|
Timers.Save();
|
||||||
Reply(250, "%d %s", channel->Number(), channel->ToText());
|
Reply(250, "%d %s", channel->Number(), channel->ToText());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user