Updated Italian translation (Thanks to Diego Pierotto).

Fixed a crash if no channel available (Thanks to Winfried Köhler)
This commit is contained in:
Rolf Ahrenberg 2008-06-20 04:20:00 +03:00
parent 2e6cd471ba
commit 93ccc78469
10 changed files with 100 additions and 83 deletions

11
HISTORY
View File

@ -259,7 +259,7 @@ VDR Plugin 'femon' Revision History
2008-01-20: Version 1.1.5
- Updated Italian translation (Thanks to Gringo).
- Updated Italian translation (Thanks to Diego Pierotto).
- Added '-Wno-parentheses' to the compiler options.
2007-08-14: Version 1.2.0
@ -277,7 +277,7 @@ VDR Plugin 'femon' Revision History
2008-01-20: Version 1.2.3
- Updated Italian translation (Thanks to Gringo).
- Updated Italian translation (Thanks to Diego Pierotto).
- Added '-Wno-parentheses' to the compiler options.
- Mapped 'kInfo' as help key in setup menu.
@ -291,5 +291,10 @@ VDR Plugin 'femon' Revision History
2008-03-27: Version 1.6.0
- Updated for vdr-1.6.0.
- Updated Italian translation (Thanks to Gringo).
- Updated Italian translation (Thanks to Diego Pierotto).
- Added ST:TNG theme (Thanks to Fabian Förg).
2008-06-20: Version 1.6.1
- Updated Italian translation (Thanks to Diego Pierotto).
- Fixed a crash if no channel available (Thanks to Winfried Köhler)

View File

@ -19,7 +19,7 @@
#error "VDR-1.6.0 API version or greater is required!"
#endif
static const char VERSION[] = "1.6.0";
static const char VERSION[] = "1.6.1";
static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)");
static const char MAINMENUENTRY[] = trNOOP("Signal Information");
@ -98,8 +98,8 @@ cOsdObject *cPluginFemon::MainMenuAction(void)
{
// Perform the action when selected from the main VDR menu.
Dprintf("%s()\n", __PRETTY_FUNCTION__);
if (cReplayControl::NowReplaying())
Skins.Message(mtInfo, tr("Femon not available while replaying"));
if (cReplayControl::NowReplaying() || (Channels.Count() <= 0))
Skins.Message(mtInfo, tr("Femon not available"));
else
return cFemonOsd::Instance(true);
return NULL;

View File

@ -155,7 +155,7 @@ void cFemonOsd::DrawStatusWindow(void)
eTrackType track = cDevice::PrimaryDevice()->GetCurrentAudioTrack();
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
if (m_Osd) {
if (m_Osd && channel) {
m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(0), OSDWIDTH, OSDSTATUSWIN_Y(OSDSTATUSHEIGHT), femonTheme[femonConfig.theme].clrBackground);
m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset), OSDWIDTH, OSDSTATUSWIN_Y(offset+OSDROWHEIGHT-1), femonTheme[femonConfig.theme].clrTitleBackground);
m_Osd->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), *cString::sprintf("%d%s %s", m_Number ? m_Number : channel->Number(), m_Number ? "-" : "", channel->ShortName(true)), femonTheme[femonConfig.theme].clrTitleText, femonTheme[femonConfig.theme].clrTitleBackground, m_Font);
@ -298,7 +298,7 @@ void cFemonOsd::DrawInfoWindow(void)
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
eTrackType track = cDevice::PrimaryDevice()->GetCurrentAudioTrack();
if (m_Osd) {
if (m_Osd && channel) {
if (m_DisplayMode == eFemonModeTransponder) {
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(0), OSDWIDTH, OSDINFOWIN_Y(OSDINFOHEIGHT), femonTheme[femonConfig.theme].clrBackground);
m_Osd->DrawRectangle(0, OSDINFOWIN_Y(offset), OSDWIDTH, OSDINFOWIN_Y(offset+OSDROWHEIGHT-1), femonTheme[femonConfig.theme].clrTitleBackground);
@ -605,10 +605,12 @@ void cFemonOsd::Show(void)
delete m_Receiver;
if (femonConfig.analyzestream) {
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0);
IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0);
m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid);
cDevice::ActualDevice()->AttachReceiver(m_Receiver);
if (channel) {
IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0);
IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0);
m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid);
cDevice::ActualDevice()->AttachReceiver(m_Receiver);
}
}
Start();
}
@ -646,10 +648,12 @@ void cFemonOsd::ChannelSwitch(const cDevice * device, int channelNumber)
delete m_Receiver;
if (femonConfig.analyzestream) {
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0);
IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0);
m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid);
cDevice::ActualDevice()->AttachReceiver(m_Receiver);
if (channel) {
IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0);
IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0);
m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid);
cDevice::ActualDevice()->AttachReceiver(m_Receiver);
}
}
}
@ -663,10 +667,12 @@ void cFemonOsd::SetAudioTrack(int Index, const char * const *Tracks)
delete m_Receiver;
if (femonConfig.analyzestream) {
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0);
IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0);
m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid);
cDevice::ActualDevice()->AttachReceiver(m_Receiver);
if (channel) {
IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0);
IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0);
m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid);
cDevice::ActualDevice()->AttachReceiver(m_Receiver);
}
}
}
@ -677,25 +683,27 @@ bool cFemonOsd::DeviceSwitch(int direction)
direction = sgn(direction);
if (device >= 0) {
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
for (int i = 0; i < cDevice::NumDevices() - 1; i++) {
if (direction) {
if (++device >= cDevice::NumDevices())
device = 0;
}
else {
if (--device < 0)
device = cDevice::NumDevices() - 1;
}
if (cDevice::GetDevice(device)->ProvidesChannel(channel, 0)) {
Dprintf("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device);
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0);
cControl::Shutdown();
cDevice::GetDevice(device)->SwitchChannel(channel, true);
if (cDevice::GetDevice(device) == cDevice::PrimaryDevice())
cDevice::GetDevice(device)->ForceTransferMode();
cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->GetChannelID(), channel->Vpid(), channel->Apids(), channel->Dpids(), channel->Spids()));
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number());
return (true);
if (channel) {
for (int i = 0; i < cDevice::NumDevices() - 1; i++) {
if (direction) {
if (++device >= cDevice::NumDevices())
device = 0;
}
else {
if (--device < 0)
device = cDevice::NumDevices() - 1;
}
if (cDevice::GetDevice(device)->ProvidesChannel(channel, 0)) {
Dprintf("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device);
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0);
cControl::Shutdown();
cDevice::GetDevice(device)->SwitchChannel(channel, true);
if (cDevice::GetDevice(device) == cDevice::PrimaryDevice())
cDevice::GetDevice(device)->ForceTransferMode();
cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->GetChannelID(), channel->Vpid(), channel->Apids(), channel->Dpids(), channel->Spids()));
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number());
return (true);
}
}
}
}
@ -891,10 +899,13 @@ eOSState cFemonOsd::ProcessKey(eKeys Key)
}
break;
case kOk:
{
// toggle between display modes
if (++m_DisplayMode == eFemonModeAC3 && !Channels.GetByNumber(cDevice::CurrentChannel())->Dpid(0)) m_DisplayMode++;
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
if (++m_DisplayMode == eFemonModeAC3 && channel && !channel->Dpid(0)) m_DisplayMode++;
if (m_DisplayMode >= eFemonModeMaxNumber) m_DisplayMode = 0;
DrawInfoWindow();
}
break;
default:
break;

View File

@ -23,8 +23,8 @@ msgstr "DVB Signal Informationsanzeige (OSD)"
msgid "Signal Information"
msgstr "Signalinformationen"
msgid "Femon not available while replaying"
msgstr "Femon während Wiedergabe nicht verfügbar"
msgid "Femon not available"
msgstr "Femon nicht verfügbar"
msgid "basic"
msgstr "Standard"

View File

@ -21,7 +21,7 @@ msgstr "Monitorizaci
msgid "Signal Information"
msgstr "Monitorización de la señal DVB"
msgid "Femon not available while replaying"
msgid "Femon not available"
msgstr ""
msgid "basic"

View File

@ -21,7 +21,7 @@ msgstr "DVB Signaalmonitor (OSD)"
msgid "Signal Information"
msgstr "Signaaliinfo"
msgid "Femon not available while replaying"
msgid "Femon not available"
msgstr ""
msgid "basic"

View File

@ -21,8 +21,8 @@ msgstr "Signaalimittari (OSD)"
msgid "Signal Information"
msgstr "Signaalimittari"
msgid "Femon not available while replaying"
msgstr "Signaalimittari ei ole käytettävissä toiston aikana"
msgid "Femon not available"
msgstr "Signaalimittari ei ole käytettävissä"
msgid "basic"
msgstr "perus"

View File

@ -21,8 +21,8 @@ msgstr "Affiche les informations du signal DVB"
msgid "Signal Information"
msgstr "Signal DVB"
msgid "Femon not available while replaying"
msgstr "Femon n'est pas disponible lors de la lecture"
msgid "Femon not available"
msgstr "Femon n'est pas disponible"
msgid "basic"
msgstr "basique"

View File

@ -2,28 +2,28 @@
# Copyright (C) 2007 Rolf Ahrenberg
# This file is distributed under the same license as the VDR package.
# Sean Carlos
# Gringo <vdr-italian@tiscali.it>
# Diego Pierotto <vdr-italian@tiscali.it>
#
msgid ""
msgstr ""
"Project-Id-Version: femon 1.6.0\n"
"Report-Msgid-Bugs-To: Rolf Ahrenberg\n"
"POT-Creation-Date: 2008-02-16 01:01+0200\n"
"PO-Revision-Date: 2008-02-22 01:27+0100\n"
"Last-Translator: Gringo <vdr-italian@tiscali.it>\n"
"Language-Team: <vdr@linuxtv.org>\n"
"PO-Revision-Date: 2008-04-17 00:18+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "DVB Signal Information Monitor (OSD)"
msgstr "Visualizza informazioni segnale DVB (OSD)"
msgstr "Mostra info segnale DVB (OSD)"
msgid "Signal Information"
msgstr "Informazioni segnale"
msgstr "Info segnale"
msgid "Femon not available while replaying"
msgstr "Femon non disponibile durante la riproduzione"
msgid "Femon not available"
msgstr "Femon non disponibile"
msgid "basic"
msgstr "base"
@ -65,10 +65,10 @@ msgid "SilverGreen"
msgstr "SilverGreen"
msgid "Hide main menu entry"
msgstr "Nascondi voce nel menu principale"
msgstr "Nascondi voce menu principale"
msgid "Define whether the main menu entry is hidden."
msgstr "Definisce se la voce del menu principale è nascosta."
msgstr "Definisci se la voce del menu principale è nascosta."
msgid "Use single area (8bpp)"
msgstr "Utilizza area singola (8bpp)"
@ -78,7 +78,7 @@ msgid ""
"\n"
"Required by Truetype fonts and anti-aliasing."
msgstr ""
"Definisce se è preferita un'area OSD singola a 8bpp.\n"
"Definisci se è preferita un'area OSD singola a 8bpp.\n"
"\n"
"Richiesto dai caratteri Truetype e anti-aliasing."
@ -86,82 +86,82 @@ msgid "Default display mode"
msgstr "Modalità visualizz. predefinita"
msgid "Define the default display mode at startup."
msgstr "Definisce la modalità di visualizz. predefinita all'avvio."
msgstr "Definisci la modalità di visualizz. predefinita all'avvio."
msgid "Define the used OSD skin."
msgstr "Definisce lo stile interfaccia OSD utilizzato."
msgstr "Definisci lo stile interfaccia OSD utilizzato."
msgid "Define the used OSD theme."
msgstr "Definisce il tema OSD utilizzato."
msgstr "Definisci il tema OSD utilizzato."
msgid "Position"
msgstr "Posizione"
msgid "Define the position of OSD."
msgstr "Definisce la posizione dell'OSD."
msgstr "Definisci la posizione dell'OSD."
msgid "Define the height of OSD."
msgstr "Definisce l'altezza dell'OSD."
msgstr "Definisci l'altezza dell'OSD."
msgid "Horizontal offset"
msgstr "Limite orizzontale"
msgid "Define the horizontal offset of OSD."
msgstr "Definisce il limite orizzontale dell'OSD."
msgstr "Definisci il limite orizzontale dell'OSD."
msgid "Show CA system"
msgstr "Mostra sistema CA"
msgid "Define whether the CA system is shown as text."
msgstr "Definisce se il sistema CA viene mostrato come testo."
msgstr "Definisci se il sistema CA viene mostrato come testo."
msgid "Red limit [%]"
msgstr "Limite rosso [%]"
msgid "Define a limit for red bar, which is used to indicate a bad signal."
msgstr "Definisce un limite per la barra rossa, usata per indicare un cattivo segnale."
msgstr "Definisci un limite per la barra rossa, usata per indicare un cattivo segnale."
msgid "Green limit [%]"
msgstr "Limite verde [%]"
msgid "Define a limit for green bar, which is used to indicate a good signal."
msgstr "Definisce un limite per la barra verde, usata per indicare un buon segnale."
msgstr "Definisci un limite per la barra verde, usata per indicare un buon segnale."
msgid "OSD update interval [0.1s]"
msgstr "Intervallo aggiornamento OSD [0.1s]"
msgstr "Intervallo agg. OSD [0.1s]"
msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load."
msgstr "Definisce un intervallo per gli aggiornamenti OSD. Più piccolo è l'intervallo maggiore sarà l'uso di CPU."
msgstr "Definisci un intervallo per gli agg. OSD. Più piccolo è l'intervallo maggiore sarà l'uso di CPU."
msgid "Analyze stream"
msgstr "Analizza flusso"
msgid "Define whether the DVB stream is analyzed and bitrates calculated."
msgstr "Definisce se il flusso DVB è analizzato e i bitrate calcolati."
msgstr "Definisci se il flusso DVB è analizzato e i bitrate calcolati."
msgid "Calculation interval [0.1s]"
msgstr "Intervallo calcolo [0.1s]"
msgstr "Intervallo di calcolo [0.1s]"
msgid "Define an interval for calculation. The bigger interval generates more stable values."
msgstr "Definisce un intervallo di calcolo. L'intervallo più grande genera più valori stabili."
msgstr "Definisci un intervallo di calcolo. L'intervallo più grande genera valori più stabili."
msgid "Use SVDRP service"
msgstr "Utilizza servizio SVDRP"
msgid "Define whether the SVDRP service is used in client/server setups."
msgstr "Definisce se il servizio SVDRP è usato nelle impostazioni client/server."
msgstr "Definisci se il servizio SVDRP viene usato nelle opzioni client/server."
msgid "SVDRP service port"
msgstr "Porta servizio SVDRP"
msgid "Define the port number of SVDRP service."
msgstr "Definisce il numero di porta del servizio SVDRP."
msgstr "Definisci il numero di porta del servizio SVDRP."
msgid "SVDRP service IP"
msgstr "IP servizio SVDRP"
msgid "Define the IP address of SVDRP service."
msgstr "Definisce l'indirizzo IP del servizio SVDRP."
msgstr "Definisci l'indirizzo IP del servizio SVDRP."
msgid "Help"
msgstr "Aiuto"
@ -176,10 +176,10 @@ msgid "Transponder Information"
msgstr "Informazioni transponder"
msgid "Apid"
msgstr "Apid"
msgstr "PID Audio"
msgid "Dpid"
msgstr "Dpid"
msgstr "PID AC3"
msgid "Spid"
msgstr "Spid"
@ -215,7 +215,7 @@ msgid "Bitrate"
msgstr "Bitrate"
msgid "Aspect Ratio"
msgstr "Dimensione immagine"
msgstr "Formato immagine"
msgid "Frame Rate"
msgstr "Frame rate"
@ -311,7 +311,7 @@ msgid "SkyCrypt"
msgstr "SkyCrypt"
msgid "none"
msgstr "nessuno"
msgstr "nessuna"
msgid "auto"
msgstr "auto"
@ -338,10 +338,10 @@ msgid "Music and Effects (ME)"
msgstr "Musica ed effetti (ME)"
msgid "Visually Impaired (VI)"
msgstr "Immagine alterata (IA)"
msgstr "Non vedenti (NV)"
msgid "Hearing Impaired (HI)"
msgstr "Suono deteriorato (SD)"
msgstr "Non udenti (NU)"
msgid "Dialogue (D)"
msgstr "Dialogui (D)"
@ -396,3 +396,4 @@ msgstr "Mbit/s"
msgid "kbit/s"
msgstr "kbit/s"

View File

@ -21,7 +21,7 @@ msgstr "
msgid "Signal Information"
msgstr "ÁØÓÝÐÛ"
msgid "Femon not available while replaying"
msgid "Femon not available"
msgstr ""
msgid "basic"