From 9279cb21cd311cbb141d506ba9d17c3a057b4d3c Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 17 Feb 2008 18:00:00 +0100 Subject: =?UTF-8?q?Version=201.5.15=20-=20Updated=20the=20Italian=20OSD=20?= =?UTF-8?q?texts=20(thanks=20to=20Diego=20Pierotto).=20-=20Added=20option?= =?UTF-8?q?=20-i=20to=20the=20pictures=20plugin's=20pic2mpg=20to=20ignore?= =?UTF-8?q?=20unknown=20file=20types.=20-=20Revoked=20the=20switch=20to=20?= =?UTF-8?q?the=20"multiproto"=20driver=20in=20order=20to=20make=20a=20new?= =?UTF-8?q?=20stable=20=20=20version=20before=20making=20this=20big=20swit?= =?UTF-8?q?ch=20and=20forcing=20all=20users=20to=20install=20a=20=20=20dri?= =?UTF-8?q?ver=20that=20is=20not=20yet=20in=20the=20kernel=20source.=20The?= =?UTF-8?q?=20removed=20code=20will=20reappear=20=20=20in=20version=201.7.?= =?UTF-8?q?0.=20=20=20Note=20that=20you=20may=20need=20to=20switch=20back?= =?UTF-8?q?=20to=20an=20older=20version=20of=20your=20channels.conf=20=20?= =?UTF-8?q?=20file=20if=20you=20have=20already=20used=20version=201.5.14,?= =?UTF-8?q?=20because=20it=20introduced=20new=20parameters.=20-=20Added=20?= =?UTF-8?q?the=20new=20command=20line=20option=20--userdump=20to=20enable?= =?UTF-8?q?=20core=20dumps=20in=20case=20VDR=20=20=20is=20run=20as=20root?= =?UTF-8?q?=20with=20option=20-u=20(thanks=20to=20Hans-Werner=20Hilse).=20?= =?UTF-8?q?-=20Speeded=20up=20anti-aliased=20font=20rendering=20by=20cachi?= =?UTF-8?q?ng=20the=20blend=20indexes=20(based=20on=20=20=20a=20suggestion?= =?UTF-8?q?=20by=20Martin=20Wache).=20-=20Fixed=20setting=20the=20OSD=20ar?= =?UTF-8?q?ea=20in=20the=20pictures=20plugin.=20-=20Ignoring=20"repeat"=20?= =?UTF-8?q?and=20"release"=20keys=20in=20the=20time=20search=20entry=20mod?= =?UTF-8?q?e=20during=20replay,=20=20=20to=20avoid=20inadvertently=20leavi?= =?UTF-8?q?ng=20it=20in=20case=20a=20key=20is=20pressed=20too=20long=20(su?= =?UTF-8?q?ggested=20=20=20by=20Andreas=20Brugger).=20-=20Improved=20sendi?= =?UTF-8?q?ng=20all=20frames=20to=20devices=20that=20can=20handle=20them?= =?UTF-8?q?=20in=20fast=20forward=20=20=20trick=20speeds,=20including=20su?= =?UTF-8?q?btitles=20(thanks=20to=20Timo=20Eskola).=20-=20The=20section=20?= =?UTF-8?q?handler=20is=20now=20stopped=20before=20the=20device=20is=20des?= =?UTF-8?q?troyed,=20to=20avoid=20=20=20accessing=20file=20handles=20after?= =?UTF-8?q?=20they=20have=20become=20invalid=20(thanks=20to=20Reinhard=20?= =?UTF-8?q?=20=20Nissl=20for=20reporting=20an=20invalid=20access=20when=20?= =?UTF-8?q?ending=20VDR,=20and=20to=20Deti=20Fliegl=20for=20=20=20a=20patc?= =?UTF-8?q?h=20that=20was=20used=20to=20implement=20StopSectionHandler()).?= =?UTF-8?q?=20-=20Fixed=20setting=20the=20date=20in=20the=20channel=20disp?= =?UTF-8?q?lay=20of=20the=20classic=20and=20sttng=20skins,=20=20=20to=20av?= =?UTF-8?q?oid=20unnecessary=20OSD=20access=20(thanks=20to=20Marco=20Schl?= =?UTF-8?q?=C3=BC=C3=9Fler).=20-=20The=20free=20disk=20space=20is=20now=20?= =?UTF-8?q?also=20displayed=20in=20the=20title=20of=20the=20"Recordings"?= =?UTF-8?q?=20=20=20menu=20(suggested=20by=20Walter=20Koch).=20-=20Changed?= =?UTF-8?q?=20the=20message=20"Upcoming=20VPS=20recording!"=20to=20"Upcomi?= =?UTF-8?q?ng=20recording!"=20because=20=20=20it=20applies=20to=20non-VPS?= =?UTF-8?q?=20recordings=20as=20well.=20-=20Fixed=20a=20loss=20of=20a=20ti?= =?UTF-8?q?mer's=20'recording'=20flag=20after=20modifying=20it=20via=20MOD?= =?UTF-8?q?T.=20-=20Fixed=20detecting=20directories=20in=20cFileNameList::?= =?UTF-8?q?Load().=20-=20Running=20the=20thread=20that=20removes=20deleted?= =?UTF-8?q?=20recordings=20at=20a=20low=20priority=20to=20(maybe)=20=20=20?= =?UTF-8?q?avoid=20stuttering=20replay=20in=20case=20the=20thread=20is=20r?= =?UTF-8?q?un=20during=20replay.=20-=20Limiting=20the=20length=20of=20the?= =?UTF-8?q?=20recording=20name=20in=20timers=20in=20case=20VDR=20is=20run?= =?UTF-8?q?=20with=20=20=20--vfat,=20in=20order=20to=20avoid=20names=20tha?= =?UTF-8?q?t=20are=20too=20long=20for=20Windows=20(suggested=20by=20Rolf?= =?UTF-8?q?=20=20=20Ahrenberg).=20-=20Using=20cString::sprintf()=20instead?= =?UTF-8?q?=20of=20asprintf()=20(thanks=20to=20Wolfgang=20Rohdewald=20=20?= =?UTF-8?q?=20for=20pointing=20out=20a=20possible=20problem=20if=20the=20r?= =?UTF-8?q?eturn=20value=20is=20not=20checked).=20=20=20Plugin=20authors?= =?UTF-8?q?=20may=20want=20to=20consider=20doing=20the=20same.=20For=20con?= =?UTF-8?q?venience=20there=20is=20now=20=20=20an=20additional=20version?= =?UTF-8?q?=20of=20cString::sprintf()=20that=20accepts=20a=20va=5Flist=20p?= =?UTF-8?q?arameter.=20-=20When=20deleting=20the=20recording=20that=20is?= =?UTF-8?q?=20currently=20replayed,=20the=20replay=20is=20now=20=20=20stop?= =?UTF-8?q?ped=20immediately=20(thanks=20to=20Mikko=20Matilainen=20for=20r?= =?UTF-8?q?eporting=20a=20possible=20crash=20=20=20if=20the=20Info=20key?= =?UTF-8?q?=20is=20pressed=20after=20deleting=20the=20currently=20replayed?= =?UTF-8?q?=20recording).=20-=20Updated=20the=20Russian=20OSD=20texts=20(t?= =?UTF-8?q?hanks=20to=20Oleg=20Roitburd).=20-=20When=20determining=20the?= =?UTF-8?q?=20amount=20of=20free=20disk=20space,=20any=20deleted=20(but=20?= =?UTF-8?q?not=20yet=20removed)=20=20=20recordings=20on=20different=20file?= =?UTF-8?q?=20systems=20(that=20are=20mounted=20under=20the=20video=20dire?= =?UTF-8?q?ctory)=20=20=20are=20no=20longer=20taken=20into=20account.=20-?= =?UTF-8?q?=20When=20running=20out=20of=20disk=20space=20during=20a=20reco?= =?UTF-8?q?rding,=20only=20such=20deleted=20or=20old=20=20=20recordings=20?= =?UTF-8?q?are=20removed,=20that=20actually=20are=20on=20the=20video=20dir?= =?UTF-8?q?ectory=20file=20system(s).=20=20=20This=20prevents=20VDR=20from?= =?UTF-8?q?=20accidentally=20deleting=20recordings=20on=20other=20file=20s?= =?UTF-8?q?ystems,=20=20=20which=20would=20not=20add=20any=20free=20space?= =?UTF-8?q?=20to=20the=20video=20directory.=20-=20Implemented=20the=20cSta?= =?UTF-8?q?tus,=20cDevice=20and=20cPlayer=20functions=20for=20setting=20su?= =?UTF-8?q?btitle=20tracks=20=20=20in=20plugins=20(thanks=20to=20Petri=20H?= =?UTF-8?q?intukainen).=20-=20Added=20cStatus::TimerChange()=20to=20inform?= =?UTF-8?q?=20plugins=20about=20changes=20to=20the=20list=20of=20timers=20?= =?UTF-8?q?=20=20(based=20on=20a=20patch=20from=20Benedikt=20Elser).=20-?= =?UTF-8?q?=20Added=20new=20cStatus=20functions=20to=20the=20'status'=20pl?= =?UTF-8?q?ugin.=20-=20Added=20missing=20#include=20=20to=20epg.?= =?UTF-8?q?c=20and=20menuitems.h=20(thanks=20to=20Ville=20Skytt=C3=A4).=20?= =?UTF-8?q?-=20The=20new=20function=20cSkin::SetScrollbar()=20can=20be=20i?= =?UTF-8?q?mplemented=20by=20skins=20to=20display=20=20=20a=20scrollbar=20?= =?UTF-8?q?in=20every=20list=20menu.=20The=20'classic'=20and=20'sttng'=20s?= =?UTF-8?q?kins=20have=20been=20=20=20changed=20accordingly,=20as=20well?= =?UTF-8?q?=20as=20the=20'skincurses'=20plugin.=20-=20Introduced=20'operat?= =?UTF-8?q?or=20const=20void=20*=20()'=20in=20cString=20to=20catch=20cases?= =?UTF-8?q?=20where=20operator*()=20=20=20should=20be=20used.=20-=20Fixed?= =?UTF-8?q?=20calculating=20the=20scrollbar=20sizes=20in=20the=20skins.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- channels.c | 238 +++++++++++++++++++++---------------------------------------- 1 file changed, 82 insertions(+), 156 deletions(-) (limited to 'channels.c') diff --git a/channels.c b/channels.c index dd1967f..9730a43 100644 --- a/channels.c +++ b/channels.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: channels.c 1.56 2008/01/27 13:59:53 kls Exp $ + * $Id: channels.c 1.59 2008/02/10 15:45:38 kls Exp $ */ #include "channels.h" @@ -18,117 +18,70 @@ // format characters in order to allow any number of blanks after a numeric // value! -// -- Channel Parameter Maps ------------------------------------------------- +// --- Channel Parameter Maps ------------------------------------------------ const tChannelParameterMap InversionValues[] = { - { 0, DVBFE_INVERSION_OFF, trNOOP("off") }, - { 1, DVBFE_INVERSION_ON, trNOOP("on") }, - { 999, DVBFE_INVERSION_AUTO }, + { 0, INVERSION_OFF }, + { 1, INVERSION_ON }, + { 999, INVERSION_AUTO }, { -1 } }; const tChannelParameterMap BandwidthValues[] = { - { 5, DVBFE_BANDWIDTH_5_MHZ, "5 MHz" }, - { 6, DVBFE_BANDWIDTH_6_MHZ, "6 MHz" }, - { 7, DVBFE_BANDWIDTH_7_MHZ, "7 MHz" }, - { 8, DVBFE_BANDWIDTH_8_MHZ, "8 MHz" }, - { 999, DVBFE_BANDWIDTH_AUTO }, + { 6, BANDWIDTH_6_MHZ }, + { 7, BANDWIDTH_7_MHZ }, + { 8, BANDWIDTH_8_MHZ }, + { 999, BANDWIDTH_AUTO }, { -1 } }; const tChannelParameterMap CoderateValues[] = { - { 0, DVBFE_FEC_NONE, trNOOP("none") }, - { 12, DVBFE_FEC_1_2, "1/2" }, - { 13, DVBFE_FEC_1_3, "1/3" }, - { 14, DVBFE_FEC_1_4, "1/4" }, - { 23, DVBFE_FEC_2_3, "2/3" }, - { 25, DVBFE_FEC_2_5, "2/5" }, - { 34, DVBFE_FEC_3_4, "3/4" }, - { 35, DVBFE_FEC_3_5, "3/5" }, - { 45, DVBFE_FEC_4_5, "4/5" }, - { 56, DVBFE_FEC_5_6, "5/6" }, - { 67, DVBFE_FEC_6_7, "6/7" }, - { 78, DVBFE_FEC_7_8, "7/8" }, - { 89, DVBFE_FEC_8_9, "8/9" }, - { 910, DVBFE_FEC_9_10, "9/10" }, - { 999, DVBFE_FEC_AUTO }, + { 0, FEC_NONE }, + { 12, FEC_1_2 }, + { 23, FEC_2_3 }, + { 34, FEC_3_4 }, + { 45, FEC_4_5 }, + { 56, FEC_5_6 }, + { 67, FEC_6_7 }, + { 78, FEC_7_8 }, + { 89, FEC_8_9 }, + { 999, FEC_AUTO }, { -1 } }; const tChannelParameterMap ModulationValues[] = { - { 0, DVBFE_MOD_NONE, trNOOP("none") }, - { 4, DVBFE_MOD_QAM4, "QAM4" }, - { 16, DVBFE_MOD_QAM16, "QAM16" }, - { 32, DVBFE_MOD_QAM32, "QAM32" }, - { 64, DVBFE_MOD_QAM64, "QAM64" }, - { 128, DVBFE_MOD_QAM128, "QAM128" }, - { 256, DVBFE_MOD_QAM256, "QAM256" }, - { 512, DVBFE_MOD_QAM512, "QAM512" }, - {1024, DVBFE_MOD_QAM1024, "QAM1024" }, - { 1, DVBFE_MOD_BPSK, "BPSK" }, - { 2, DVBFE_MOD_QPSK, "QPSK" }, - { 3, DVBFE_MOD_OQPSK, "OQPSK" }, - { 5, DVBFE_MOD_8PSK, "8PSK" }, - { 6, DVBFE_MOD_16APSK, "16APSK" }, - { 7, DVBFE_MOD_32APSK, "32APSK" }, - { 8, DVBFE_MOD_OFDM, "OFDM" }, - { 9, DVBFE_MOD_COFDM, "COFDM" }, - { 10, DVBFE_MOD_VSB8, "VSB8" }, - { 11, DVBFE_MOD_VSB16, "VSB16" }, - { 998, DVBFE_MOD_QAMAUTO, "QAMAUTO" }, - { 999, DVBFE_MOD_AUTO }, - { -1 } - }; - -const tChannelParameterMap SystemValues[] = { - { 0, DVBFE_DELSYS_DVBS, "DVB-S" }, - { 1, DVBFE_DELSYS_DVBS2, "DVB-S2" }, + { 0, QPSK }, + { 16, QAM_16 }, + { 32, QAM_32 }, + { 64, QAM_64 }, + { 128, QAM_128 }, + { 256, QAM_256 }, + { 999, QAM_AUTO }, { -1 } }; const tChannelParameterMap TransmissionValues[] = { - { 2, DVBFE_TRANSMISSION_MODE_2K, "2K" }, - { 4, DVBFE_TRANSMISSION_MODE_4K, "4K" }, - { 8, DVBFE_TRANSMISSION_MODE_8K, "8K" }, - { 999, DVBFE_TRANSMISSION_MODE_AUTO }, + { 2, TRANSMISSION_MODE_2K }, + { 8, TRANSMISSION_MODE_8K }, + { 999, TRANSMISSION_MODE_AUTO }, { -1 } }; const tChannelParameterMap GuardValues[] = { - { 4, DVBFE_GUARD_INTERVAL_1_4, "1/4" }, - { 8, DVBFE_GUARD_INTERVAL_1_8, "1/8" }, - { 16, DVBFE_GUARD_INTERVAL_1_16, "1/16" }, - { 32, DVBFE_GUARD_INTERVAL_1_32, "1/32" }, - { 999, DVBFE_GUARD_INTERVAL_AUTO }, + { 4, GUARD_INTERVAL_1_4 }, + { 8, GUARD_INTERVAL_1_8 }, + { 16, GUARD_INTERVAL_1_16 }, + { 32, GUARD_INTERVAL_1_32 }, + { 999, GUARD_INTERVAL_AUTO }, { -1 } }; const tChannelParameterMap HierarchyValues[] = { - { 0, DVBFE_HIERARCHY_OFF, trNOOP("off") }, - { 1, DVBFE_HIERARCHY_ON, trNOOP("on") }, - { 999, DVBFE_HIERARCHY_AUTO }, - { -1 } - }; - -const tChannelParameterMap AlphaValues[] = { - { 0, 0 }, - { 1, DVBFE_ALPHA_1 }, - { 2, DVBFE_ALPHA_2 }, - { 4, DVBFE_ALPHA_4 }, - { -1 } - }; - -const tChannelParameterMap PriorityValues[] = { - { 0, DVBFE_STREAM_PRIORITY_HP, trNOOP("high") }, - { 1, DVBFE_STREAM_PRIORITY_LP, trNOOP("low") }, - { -1 } - }; - -const tChannelParameterMap RollOffValues[] = { - { 0, DVBFE_ROLLOFF_UNKNOWN }, - { 20, DVBFE_ROLLOFF_20, "0.20" }, - { 25, DVBFE_ROLLOFF_25, "0.25" }, - { 35, DVBFE_ROLLOFF_35, "0.35" }, + { 0, HIERARCHY_NONE }, + { 1, HIERARCHY_1 }, + { 2, HIERARCHY_2 }, + { 4, HIERARCHY_4 }, + { 999, HIERARCHY_AUTO }, { -1 } }; @@ -154,14 +107,11 @@ int DriverIndex(int Value, const tChannelParameterMap *Map) return -1; } -int MapToUser(int Value, const tChannelParameterMap *Map, const char **String) +int MapToUser(int Value, const tChannelParameterMap *Map) { int n = DriverIndex(Value, Map); - if (n >= 0) { - if (String) - *String = tr(Map[n].userString); + if (n >= 0) return Map[n].userValue; - } return -1; } @@ -173,7 +123,7 @@ int MapToDriver(int Value, const tChannelParameterMap *Map) return -1; } -// -- tChannelID ------------------------------------------------------------- +// --- tChannelID ------------------------------------------------------------ const tChannelID tChannelID::InvalidID; @@ -208,7 +158,7 @@ tChannelID &tChannelID::ClrPolarization(void) return *this; } -// -- cChannel --------------------------------------------------------------- +// --- cChannel -------------------------------------------------------------- cChannel::cChannel(void) { @@ -217,18 +167,14 @@ cChannel::cChannel(void) provider = strdup(""); portalName = strdup(""); memset(&__BeginData__, 0, (char *)&__EndData__ - (char *)&__BeginData__); - inversion = DVBFE_INVERSION_AUTO; - bandwidth = DVBFE_BANDWIDTH_AUTO; - coderateH = DVBFE_FEC_AUTO; - coderateL = DVBFE_FEC_AUTO; - modulation = DVBFE_MOD_AUTO; - system = DVBFE_DELSYS_DVBS; - transmission = DVBFE_TRANSMISSION_MODE_AUTO; - guard = DVBFE_GUARD_INTERVAL_AUTO; - hierarchy = DVBFE_HIERARCHY_AUTO; - alpha = 0; - priority = DVBFE_STREAM_PRIORITY_HP; - rollOff = DVBFE_ROLLOFF_UNKNOWN; + inversion = INVERSION_AUTO; + bandwidth = BANDWIDTH_AUTO; + coderateH = FEC_AUTO; + coderateL = FEC_AUTO; + modulation = QAM_AUTO; + transmission = TRANSMISSION_MODE_AUTO; + guard = GUARD_INTERVAL_AUTO; + hierarchy = HIERARCHY_AUTO; modification = CHANNELMOD_NONE; schedule = NULL; linkChannels = NULL; @@ -331,17 +277,13 @@ void cChannel::CopyTransponderData(const cChannel *Channel) coderateH = Channel->coderateH; coderateL = Channel->coderateL; modulation = Channel->modulation; - system = Channel->system; transmission = Channel->transmission; guard = Channel->guard; hierarchy = Channel->hierarchy; - alpha = Channel->alpha; - priority = Channel->priority; - rollOff = Channel->rollOff; } } -bool cChannel::SetSatTransponderData(int Source, int Frequency, char Polarization, int Srate, int CoderateH, int Modulation, int System, int RollOff) +bool cChannel::SetSatTransponderData(int Source, int Frequency, char Polarization, int Srate, int CoderateH) { // Workarounds for broadcaster stupidity: // Some providers broadcast the transponder frequency of their channels with two different @@ -355,22 +297,19 @@ bool cChannel::SetSatTransponderData(int Source, int Frequency, char Polarizatio if (abs(srate - Srate) <= 1) Srate = srate; - if (source != Source || frequency != Frequency || polarization != Polarization || srate != Srate || coderateH != CoderateH || modulation != Modulation || system != System || rollOff != RollOff) { - cString OldParameters = ParametersToString(); + if (source != Source || frequency != Frequency || polarization != Polarization || srate != Srate || coderateH != CoderateH) { + if (Number()) { + dsyslog("changing transponder data of channel %d from %s:%d:%c:%d:%d to %s:%d:%c:%d:%d", Number(), *cSource::ToString(source), frequency, polarization, srate, coderateH, *cSource::ToString(Source), Frequency, Polarization, Srate, CoderateH); + modification |= CHANNELMOD_TRANSP; + Channels.SetModified(); + } source = Source; frequency = Frequency; polarization = Polarization; srate = Srate; coderateH = CoderateH; - modulation = Modulation; - system = System; - rollOff = RollOff; + modulation = QPSK; schedule = NULL; - if (Number()) { - dsyslog("changing transponder data of channel %d from %d:%s:%s:%d to %d:%s:%s:%d", Number(), frequency, *OldParameters, *cSource::ToString(source), srate, Frequency, *ParametersToString(), *cSource::ToString(Source), Srate); - modification |= CHANNELMOD_TRANSP; - Channels.SetModified(); - } } return true; } @@ -378,26 +317,29 @@ bool cChannel::SetSatTransponderData(int Source, int Frequency, char Polarizatio bool cChannel::SetCableTransponderData(int Source, int Frequency, int Modulation, int Srate, int CoderateH) { if (source != Source || frequency != Frequency || modulation != Modulation || srate != Srate || coderateH != CoderateH) { - cString OldParameters = ParametersToString(); + if (Number()) { + dsyslog("changing transponder data of channel %d from %s:%d:%d:%d:%d to %s:%d:%d:%d:%d", Number(), *cSource::ToString(source), frequency, modulation, srate, coderateH, *cSource::ToString(Source), Frequency, Modulation, Srate, CoderateH); + modification |= CHANNELMOD_TRANSP; + Channels.SetModified(); + } source = Source; frequency = Frequency; modulation = Modulation; srate = Srate; coderateH = CoderateH; schedule = NULL; - if (Number()) { - dsyslog("changing transponder data of channel %d from %d:%s:%s:%d to %d:%s:%s:%d", Number(), frequency, *OldParameters, *cSource::ToString(source), srate, Frequency, *ParametersToString(), *cSource::ToString(Source), Srate); - modification |= CHANNELMOD_TRANSP; - Channels.SetModified(); - } } return true; } -bool cChannel::SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CoderateH, int CoderateL, int Guard, int Transmission, int Alpha, int Priority) +bool cChannel::SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CoderateH, int CoderateL, int Guard, int Transmission) { - if (source != Source || frequency != Frequency || bandwidth != Bandwidth || modulation != Modulation || hierarchy != Hierarchy || coderateH != CoderateH || coderateL != CoderateL || guard != Guard || transmission != Transmission || alpha != Alpha || priority != Priority) { - cString OldParameters = ParametersToString(); + if (source != Source || frequency != Frequency || bandwidth != Bandwidth || modulation != Modulation || hierarchy != Hierarchy || coderateH != CoderateH || coderateL != CoderateL || guard != Guard || transmission != Transmission) { + if (Number()) { + dsyslog("changing transponder data of channel %d from %s:%d:%d:%d:%d:%d:%d:%d:%d to %s:%d:%d:%d:%d:%d:%d:%d:%d", Number(), *cSource::ToString(source), frequency, bandwidth, modulation, hierarchy, coderateH, coderateL, guard, transmission, *cSource::ToString(Source), Frequency, Bandwidth, Modulation, Hierarchy, CoderateH, CoderateL, Guard, Transmission); + modification |= CHANNELMOD_TRANSP; + Channels.SetModified(); + } source = Source; frequency = Frequency; bandwidth = Bandwidth; @@ -407,14 +349,7 @@ bool cChannel::SetTerrTransponderData(int Source, int Frequency, int Bandwidth, coderateL = CoderateL; guard = Guard; transmission = Transmission; - alpha = Alpha; - priority = Priority; schedule = NULL; - if (Number()) { - dsyslog("changing transponder data of channel %d from %d:%s:%s to %d:%s:%s", Number(), frequency, *OldParameters, *cSource::ToString(source), Frequency, *ParametersToString(), *cSource::ToString(Source)); - modification |= CHANNELMOD_TRANSP; - Channels.SetModified(); - } } return true; } @@ -662,17 +597,13 @@ cString cChannel::ParametersToString(void) const char *q = buffer; *q = 0; ST(" S ") q += sprintf(q, "%c", polarization); - ST(" T") q += PrintParameter(q, 'A', MapToUser(alpha, AlphaValues)); - ST(" T") q += PrintParameter(q, 'B', MapToUser(bandwidth, BandwidthValues)); + ST("CST") q += PrintParameter(q, 'I', MapToUser(inversion, InversionValues)); ST("CST") q += PrintParameter(q, 'C', MapToUser(coderateH, CoderateValues)); ST(" T") q += PrintParameter(q, 'D', MapToUser(coderateL, CoderateValues)); - ST(" T") q += PrintParameter(q, 'G', MapToUser(guard, GuardValues)); - ST("CST") q += PrintParameter(q, 'I', MapToUser(inversion, InversionValues)); - ST("CST") q += PrintParameter(q, 'M', MapToUser(modulation, ModulationValues)); - ST(" S ") q += PrintParameter(q, 'O', MapToUser(rollOff, RollOffValues)); - ST(" T") q += PrintParameter(q, 'P', MapToUser(priority, PriorityValues)); - ST(" S ") q += PrintParameter(q, 'S', MapToUser(system, SystemValues)); + ST("C T") q += PrintParameter(q, 'M', MapToUser(modulation, ModulationValues)); + ST(" T") q += PrintParameter(q, 'B', MapToUser(bandwidth, BandwidthValues)); ST(" T") q += PrintParameter(q, 'T', MapToUser(transmission, TransmissionValues)); + ST(" T") q += PrintParameter(q, 'G', MapToUser(guard, GuardValues)); ST(" T") q += PrintParameter(q, 'Y', MapToUser(hierarchy, HierarchyValues)); return buffer; } @@ -697,7 +628,6 @@ bool cChannel::StringToParameters(const char *s) { while (s && *s) { switch (toupper(*s)) { - case 'A': s = ParseParameter(s, alpha, AlphaValues); break; case 'B': s = ParseParameter(s, bandwidth, BandwidthValues); break; case 'C': s = ParseParameter(s, coderateH, CoderateValues); break; case 'D': s = ParseParameter(s, coderateL, CoderateValues); break; @@ -706,11 +636,7 @@ bool cChannel::StringToParameters(const char *s) case 'I': s = ParseParameter(s, inversion, InversionValues); break; case 'L': polarization = *s++; break; case 'M': s = ParseParameter(s, modulation, ModulationValues); break; - case 'Z':// for compatibility with the original DVB-S2 patch - may be removed in future versions - case 'O': s = ParseParameter(s, rollOff, RollOffValues); break; - case 'P': s = ParseParameter(s, priority, PriorityValues); break; case 'R': polarization = *s++; break; - case 'S': s = ParseParameter(s, system, SystemValues); break; case 'T': s = ParseParameter(s, transmission, TransmissionValues); break; case 'V': polarization = *s++; break; case 'Y': s = ParseParameter(s, hierarchy, HierarchyValues); break; @@ -732,12 +658,12 @@ cString cChannel::ToText(const cChannel *Channel) q += sprintf(q, ";%s", Channel->provider); *q = 0; strreplace(FullName, ':', '|'); - char *buffer; + cString buffer; if (Channel->groupSep) { if (Channel->number) - asprintf(&buffer, ":@%d %s\n", Channel->number, FullName); + buffer = cString::sprintf(":@%d %s\n", Channel->number, FullName); else - asprintf(&buffer, ":%s\n", FullName); + buffer = cString::sprintf(":%s\n", FullName); } else { char vpidbuf[32]; @@ -759,9 +685,9 @@ cString cChannel::ToText(const cChannel *Channel) q = caidbuf; q += IntArrayToString(q, Channel->caids, 16); *q = 0; - asprintf(&buffer, "%s:%d:%s:%s:%d:%s:%s:%d:%s:%d:%d:%d:%d\n", FullName, Channel->frequency, *Channel->ParametersToString(), *cSource::ToString(Channel->source), Channel->srate, vpidbuf, apidbuf, Channel->tpid, caidbuf, Channel->sid, Channel->nid, Channel->tid, Channel->rid); + buffer = cString::sprintf("%s:%d:%s:%s:%d:%s:%s:%d:%s:%d:%d:%d:%d\n", FullName, Channel->frequency, *Channel->ParametersToString(), *cSource::ToString(Channel->source), Channel->srate, vpidbuf, apidbuf, Channel->tpid, caidbuf, Channel->sid, Channel->nid, Channel->tid, Channel->rid); } - return cString(buffer, true); + return buffer; } cString cChannel::ToText(void) const @@ -924,7 +850,7 @@ bool cChannel::Save(FILE *f) return fprintf(f, "%s", *ToText()) > 0; } -// -- cChannelSorter --------------------------------------------------------- +// --- cChannelSorter -------------------------------------------------------- class cChannelSorter : public cListObject { public: @@ -940,7 +866,7 @@ public: } }; -// -- cChannels -------------------------------------------------------------- +// --- cChannels ------------------------------------------------------------- cChannels Channels; -- cgit v1.2.3