Merge remote branch 'remotes/origin/acid-burn/bug_439_dvdplayer_missing_titlestring'
authorghost <andreas.monzner@multimedia-labs.de>
Mon, 13 Dec 2010 12:18:48 +0000 (13:18 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Mon, 13 Dec 2010 12:18:48 +0000 (13:18 +0100)
data/skin_default.xml
lib/dvb/sec.cpp
lib/dvb/tstools.cpp
lib/gui/elistboxcontent.cpp
lib/python/Components/NimManager.py

index dcd2e8b..376a4fd 100755 (executable)
@@ -29,6 +29,9 @@
                <color name="WindowTitleForeground" color="#ffffff" />
                <color name="WindowTitleBackground" color="#000000" />
        </windowstyle>
+       <fonts>
+               <font filename="nmsbd.ttf" name="Display" scale="90"/>
+       </fonts>
        <!-- Screwed Stone II skin (skin_default.xml) /Nemesis -->
        <!-- About screen -->
        <screen name="About" position="center,center" size="420,350" title="About">
@@ -1166,43 +1169,43 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
 
        <!-- LCD screen (channelselection) -->
        <screen name="ChannelSelection_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.ServiceEvent" render="Label" position="6,0" size="120,25" font="Regular;14" halign="center" valign="center" >
+               <widget source="parent.ServiceEvent" render="Label" position="6,0" size="120,25" font="Display;14" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="parent.ServiceEvent" render="Progress" position="16,27" size="100,5" borderWidth="1">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Regular;32" halign="right" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Display;32" halign="right" valign="top">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Regular;16" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Display;16" valign="top">
                        <convert type="ClockToText">Format:%S</convert>
                </widget>
        </screen> 
        <!-- Color OLED screen (ChannelSelection) -->
        <screen name="ChannelSelection_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.ServiceEvent" render="Label" position="0,0" size="96,28" font="Regular;16" halign="center" valign="center" >
+               <widget source="parent.ServiceEvent" render="Label" position="0,0" size="96,28" font="Display;16" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="0,30" size="96,8" borderWidth="1" backgroundColor="dark">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Regular;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
+               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Display;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
        </screen>
        <!-- LCD screen (main) -->
        <screen name="InfoBarSummary" position="0,0" size="132,64" id="1">
-               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Regular;14" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Display;14" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="16,27" size="100,5" borderWidth="1">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Regular;32" halign="right" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Display;32" halign="right" valign="top">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Regular;16" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Display;16" valign="top">
                        <convert type="ClockToText">Format:%S</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" text=" " position="6,32" zPosition="1" size="126,32">
@@ -1212,13 +1215,13 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- Color OLED screen (main) -->
        <screen name="InfoBarSummary" position="0,0" size="96,64" id="2">
-               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Regular;16" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Display;16" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="0,30" size="96,8" borderWidth="1" backgroundColor="dark">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Regular;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
+               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Display;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" text=" " position="0,38" zPosition="1" size="96,26">
@@ -1228,13 +1231,13 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- LCD screen (movieplayer) -->
        <screen name="InfoBarMoviePlayerSummary" position="0,0" size="132,64" id="1">
-               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Regular;14" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Display;14" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.CurrentService" render="Progress" position="16,27" size="100,5" borderWidth="1">
                        <convert type="ServicePosition">Position</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="6,32" size="120,32" font="Regular;32" halign="center" valign="center">
+               <widget source="global.CurrentTime" render="Label" position="6,32" size="120,32" font="Display;32" halign="center" valign="center">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" text=" " position="6,32" zPosition="1" size="120,32">
@@ -1244,13 +1247,13 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- Color OLED screen (movieplayer) -->
        <screen name="InfoBarMoviePlayerSummary" position="0,0" size="96,64" id="2">
-               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Regular;16" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Display;16" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="0,30" size="96,8" borderWidth="1" backgroundColor="dark">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Regular;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
+               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Display;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" text=" " position="0,38" zPosition="1" size="96,26">
@@ -1260,71 +1263,71 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- LCD screen (ChoiceBox) -->
        <screen name="ChoiceBox_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.summary_list" render="Label" position="6,0" size="126,64" font="Regular;11" />
+               <widget source="parent.summary_list" render="Label" position="6,0" size="126,64" font="Display;11" />
        </screen>
        <!-- Color OLED screen (ChoiceBox) -->
        <screen name="ChoiceBox_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.summary_list" render="Label" position="0,0" size="96,64" font="Regular;10" />
+               <widget source="parent.summary_list" render="Label" position="0,0" size="96,64" font="Display;10" />
        </screen>       
        <!-- LCD screen (MessageBox) -->
        <screen name="MessageBox_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.Text" render="Label" position="0,0" size="132,52" font="Regular;11" halign="center" valign="center" />
-               <widget source="parent.selectedChoice" render="Label" position="6,50" size="120,14" font="Regular;14" halign="center" valign="center" />
+               <widget source="parent.Text" render="Label" position="0,0" size="132,52" font="Display;11" halign="center" valign="center" />
+               <widget source="parent.selectedChoice" render="Label" position="6,50" size="120,14" font="Display;14" halign="center" valign="center" />
        </screen>
        <!-- Color OLED screen (MessageBox) -->
        <screen name="MessageBox_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.Text" render="Label" position="0,0" size="96,52" font="Regular;10" halign="center" valign="center" />
-               <widget source="parent.selectedChoice" render="Label" position="0,50" size="96,14" font="Regular;12" halign="center" valign="center" />
+               <widget source="parent.Text" render="Label" position="0,0" size="96,52" font="Display;10" halign="center" valign="center" />
+               <widget source="parent.selectedChoice" render="Label" position="0,50" size="96,14" font="Display;12" halign="center" valign="center" />
        </screen>
        <!-- LCD screen (menus) -->
        <screen name="MenuSummary" position="0,0" size="132,64" id="1">
-               <widget source="parent.title" render="Label" position="6,0" size="120,32" font="Regular;14" halign="center" valign="center"/>
-               <widget source="parent.menu" render="Label" position="6,32" size="120,32" font="Regular;16" halign="center" valign="center">
+               <widget source="parent.title" render="Label" position="6,0" size="120,32" font="Display;14" halign="center" valign="center"/>
+               <widget source="parent.menu" render="Label" position="6,32" size="120,32" font="Display;16" halign="center" valign="center">
                        <convert type="StringListSelection" />
                </widget>
        </screen> 
        <!-- Color OLED screen (menus) -->
        <screen name="MenuSummary" position="0,0" size="96,64" id="2">
-               <widget source="parent.title" render="Label" position="0,0" size="96,32" font="Regular;15" halign="center" valign="center"/>
-               <widget source="parent.menu" render="Label" position="0,32" size="96,32" font="Regular;16" halign="center" valign="top">
+               <widget source="parent.title" render="Label" position="0,0" size="96,32" font="Display;15" halign="center" valign="center"/>
+               <widget source="parent.menu" render="Label" position="0,32" size="96,32" font="Display;16" halign="center" valign="top">
                        <convert type="StringListSelection" />
                </widget>
        </screen>       
        <!-- LCD screen (ServiceScan) -->
        <screen name="ServiceScanSummary" position="0,0" size="132,64" id="1">
-               <widget name="Title" position="6,4" size="120,42" font="Regular;16" transparent="1" />
-               <widget name="Service" position="6,22" size="120,26" font="Regular;12" transparent="1" />
+               <widget name="Title" position="6,4" size="120,42" font="Display;16" transparent="1" />
+               <widget name="Service" position="6,22" size="120,26" font="Display;12" transparent="1" />
                <widget name="scan_progress" position="6,50" zPosition="1" borderWidth="1" size="56,12" backgroundColor="dark" />
        </screen>
        <!-- Color OLED screen (ServiceScan) -->
        <screen name="ServiceScanSummary" position="0,0" size="96,64" id="2">
-               <widget name="Title" position="0,0" size="96,30" font="Regular;14" transparent="1" />
-               <widget name="Service" position="0,30" size="96,20" font="Regular;10" transparent="1" />
+               <widget name="Title" position="0,0" size="96,30" font="Display;14" transparent="1" />
+               <widget name="Service" position="0,30" size="96,20" font="Display;10" transparent="1" />
                <widget name="scan_progress" position="0,50" zPosition="1" borderWidth="1" size="96,12" backgroundColor="dark" />
        </screen>
        <!-- LCD screen (setup) -->
        <screen name="SetupSummary" position="0,0" size="132,64" id="1">
-               <widget source="SetupTitle" render="Label" position="6,0" size="120,16" font="Regular;12" />
-               <widget source="SetupEntry" render="Label" position="6,16" size="120,32" font="Regular;12" />
-               <widget source="SetupValue" render="Label" position="6,48" size="120,16" font="Regular;12" />
+               <widget source="SetupTitle" render="Label" position="6,0" size="120,16" font="Display;12" />
+               <widget source="SetupEntry" render="Label" position="6,16" size="120,32" font="Display;12" />
+               <widget source="SetupValue" render="Label" position="6,48" size="120,16" font="Display;12" />
        </screen>
        <!-- Color OLED screen (setup) -->
        <screen name="SetupSummary" position="0,0" size="96,64" id="2">
-               <widget source="SetupTitle" render="Label" position="0,0" size="96,16" font="Regular;10" />
-               <widget source="SetupEntry" render="Label" position="0,16" size="96,32" font="Regular;10" />
-               <widget source="SetupValue" render="Label" position="0,48" size="96,16" font="Regular;10" />
+               <widget source="SetupTitle" render="Label" position="0,0" size="96,16" font="Display;10" />
+               <widget source="SetupEntry" render="Label" position="0,16" size="96,32" font="Display;10" />
+               <widget source="SetupValue" render="Label" position="0,48" size="96,16" font="Display;10" />
        </screen>
        <!-- LCD screen (misc) -->
        <screen name="SimpleSummary" position="0,0" size="132,64" id="1">
-               <widget source="parent.Title" render="Label" position="6,0" size="120,64" font="Regular;16" halign="center" valign="center" />
+               <widget source="parent.Title" render="Label" position="6,0" size="120,64" font="Display;16" halign="center" valign="center" />
        </screen>
        <!-- Color OLED screen (misc) -->
        <screen name="SimpleSummary" position="0,0" size="96,64" id="2">
-               <widget source="parent.Title" render="Label" position="0,0" size="96,64" font="Regular;14" halign="center" valign="center" />
+               <widget source="parent.Title" render="Label" position="0,0" size="96,64" font="Display;14" halign="center" valign="center" />
        </screen>
        <!-- LCD screen (standby) -->
        <screen name="StandbySummary" position="0,0" size="132,64" id="1">
-               <widget source="global.CurrentTime" render="Label" position="6,0" size="120,64" font="Regular;40" halign="center" valign="center">
+               <widget source="global.CurrentTime" render="Label" position="6,0" size="120,64" font="Display;40" halign="center" valign="center">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" position="6,0" zPosition="1" size="120,64" text=" ">
@@ -1334,7 +1337,7 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- Color OLED screen (standby) -->
        <screen name="StandbySummary" position="0,0" size="96,64" id="2">
-               <widget source="global.CurrentTime" render="Label" position="0,0" size="96,64" font="Regular;38" halign="center" valign="center">
+               <widget source="global.CurrentTime" render="Label" position="0,0" size="96,64" font="Display;38" halign="center" valign="center">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" position="0,0" zPosition="1" size="96,64" text=" ">
@@ -1344,33 +1347,33 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- LCD screen (JobView) -->
        <screen name="JobView_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.summary_job_name" render="Label" position="6,4" size="120,42" font="Regular;16" />
-               <widget source="parent.summary_job_task" render="Label" position="6,22" size="120,26" font="Regular;12" />
+               <widget source="parent.summary_job_name" render="Label" position="6,4" size="120,42" font="Display;16" />
+               <widget source="parent.summary_job_task" render="Label" position="6,22" size="120,26" font="Display;12" />
                <widget source="parent.summary_job_progress" render="Progress" position="6,50" size="60,12" borderWidth="1" zPosition="1" />
-               <widget source="parent.summary_job_progress" render="Label" position="66,50" size="50,12" font="Regular;12" zPosition="2" halign="center" transparent="1"  >
+               <widget source="parent.summary_job_progress" render="Label" position="66,50" size="50,12" font="Display;12" zPosition="2" halign="center" transparent="1"  >
                        <convert type="ProgressToText" />
                </widget>
        </screen>
        <!-- Color OLED screen (JobView) -->
        <screen name="JobView_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.summary_job_name" render="Label" position="0,4" size="96,42" font="Regular;14" />
-               <widget source="parent.summary_job_task" render="Label" position="0,22" size="96,26" font="Regular;10" />
+               <widget source="parent.summary_job_name" render="Label" position="0,4" size="96,42" font="Display;14" />
+               <widget source="parent.summary_job_task" render="Label" position="0,22" size="96,26" font="Display;10" />
                <widget source="parent.summary_job_progress" render="Progress" position="0,50" size="60,12" borderWidth="1" zPosition="1" />
-               <widget source="parent.summary_job_progress" render="Label" position="60,50" size="36,12" font="Regular;10" zPosition="2" halign="center" transparent="1"  >
+               <widget source="parent.summary_job_progress" render="Label" position="60,50" size="36,12" font="Display;10" zPosition="2" halign="center" transparent="1"  >
                        <convert type="ProgressToText" />
                </widget>
        </screen>
        <!-- LCD screen (Wizard) -->
        <screen name="WizardSummary" position="0,0" size="132,64" id="1">
-               <widget source="text" render="Label" position="6,0" size="120,16" font="Regular;16" transparent="1" />
-               <widget source="parent.list" render="Label" position="6,18" size="120,46" font="Regular;12">
+               <widget source="text" render="Label" position="6,0" size="120,16" font="Display;16" transparent="1" />
+               <widget source="parent.list" render="Label" position="6,18" size="120,46" font="Display;12">
                        <convert type="StringListSelection" />
                </widget>
        </screen>
        <!-- Color OLED screen (Wizard) -->
        <screen name="WizardSummary" position="0,0" size="96,64" id="2">
-               <widget source="text" render="Label" position="0,0" size="96,16" font="Regular;14" transparent="1" />
-               <widget source="parent.list" render="Label" position="0,18" size="96,46" font="Regular;12">
+               <widget source="text" render="Label" position="0,0" size="96,16" font="Display;14" transparent="1" />
+               <widget source="parent.list" render="Label" position="0,18" size="96,46" font="Display;12">
                        <convert type="StringListSelection" />
                </widget>
        </screen>
index d48d44e..a2bc886 100644 (file)
@@ -212,7 +212,7 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
 
                                eSecDebugNoSimulate("ret5 %d", ret);
 
-                               if (ret && lnb_param.SatCR_idx == -1)
+                               if (ret && !is_unicable)
                                {
                                        int lof = sat.frequency > lnb_param.m_lof_threshold ?
                                                lnb_param.m_lof_hi : lnb_param.m_lof_lo;
@@ -300,11 +300,6 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                if ( sit != lnb_param.m_satellites.end())
                {
                        eSecCommandList sec_sequence;
-
-                       lnb_param.guard_offset = 0; //HACK
-
-                       frontend.setData(eDVBFrontend::SATCR, lnb_param.SatCR_idx);
-                       
                        eDVBSatelliteSwitchParameters &sw_param = sit->second;
                        bool doSetFrontend = true;
                        bool doSetVoltageToneFrontend = true;
@@ -327,6 +322,11 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                        eDVBSatelliteDiseqcParameters::t_diseqc_mode diseqc_mode = di_param.m_diseqc_mode;
                        eDVBSatelliteSwitchParameters::t_voltage_mode voltage_mode = sw_param.m_voltage_mode;
                        bool diseqc13V = voltage_mode == eDVBSatelliteSwitchParameters::HV_13;
+                       bool is_unicable = lnb_param.SatCR_idx != -1;
+
+                       lnb_param.guard_offset = 0; //HACK
+
+                       frontend.setData(eDVBFrontend::SATCR, lnb_param.SatCR_idx);
 
                        if (diseqc13V)
                                voltage_mode = eDVBSatelliteSwitchParameters::HV;
@@ -371,13 +371,10 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
 
                        int lof = (band&1)?lnb_param.m_lof_hi:lnb_param.m_lof_lo;
 
-                       int local=0;
-
-
-                       if(lnb_param.SatCR_idx == -1)
+                       if(!is_unicable)
                        {
-                       // calc Frequency
-                               local = abs(sat.frequency 
+                               // calc Frequency
+                               int local= abs(sat.frequency 
                                        - lof);
                                parm.FREQUENCY = ((((local * 2) / 125) + 1) / 2) * 125;
                                frontend.setData(eDVBFrontend::FREQ_OFFSET, sat.frequency - parm.FREQUENCY);
@@ -551,6 +548,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
 
                                        if ( send_mask )
                                        {
+                                               int diseqc_repeats = diseqc_mode > eDVBSatelliteDiseqcParameters::V1_0 ? di_param.m_repeats : 0;
                                                int vlt = iDVBFrontend::voltageOff;
                                                eSecCommand::pair compare;
                                                compare.steps = +3;
@@ -623,7 +621,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                        if ( send_mask & 2 )
                                                                ++loops;
 
-                                                       loops <<= di_param.m_repeats;
+                                                       loops <<= diseqc_repeats;
 
                                                        for ( int i = 0; i < loops;)  // fill commands...
                                                        {
@@ -660,7 +658,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                                        int tmp = m_params[DELAY_BETWEEN_DISEQC_REPEATS];
                                                                        if (cmd)
                                                                        {
-                                                                               int delay = di_param.m_repeats ? (tmp - 54) / 2 : tmp;  // standard says 100msek between two repeated commands
+                                                                               int delay = diseqc_repeats ? (tmp - 54) / 2 : tmp;  // standard says 100msek between two repeated commands
                                                                                sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, delay) );
                                                                                diseqc.data[2]=cmd;
                                                                                diseqc.data[3]=(cmd==0x38) ? csw : ucsw;
@@ -693,7 +691,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                        if ( RotorCmd != -1 && RotorCmd != lastRotorCmd )
                                        {
                                                eSecCommand::pair compare;
-                                               if (!send_mask && lnb_param.SatCR_idx == -1)
+                                               if (!send_mask && !is_unicable)
                                                {
                                                        compare.steps = +3;
                                                        compare.tone = iDVBFrontend::toneOff;
@@ -747,10 +745,10 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                        diseqc.data[3] = RotorCmd;
                                                        diseqc.data[4] = 0x00;
                                                }
-//                                             if(lnb_param.SatCR_idx == -1)
+//                                             if(!is_unicable)
                                                {
                                                        int mrt = m_params[MOTOR_RUNNING_TIMEOUT]; // in seconds!
-                                                       if ( rotor_param.m_inputpower_parameters.m_use || lnb_param.SatCR_idx == -1)
+                                                       if ( rotor_param.m_inputpower_parameters.m_use && !is_unicable)
                                                        { // use measure rotor input power to detect rotor state
                                                                bool turn_fast = need_turn_fast(rotor_param.m_inputpower_parameters.m_turning_speed);
                                                                eSecCommand::rotor cmd;
@@ -882,7 +880,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                        sec_fe->setData(eDVBFrontend::NEW_UCSW, ucsw);
                        sec_fe->setData(eDVBFrontend::NEW_TONEBURST, di_param.m_toneburst_param);
 
-                       if ((doSetVoltageToneFrontend) && (lnb_param.SatCR_idx == -1))
+                       if (doSetVoltageToneFrontend && !is_unicable)
                        {
                                eSecCommand::pair compare;
                                compare.voltage = voltage;
@@ -898,7 +896,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
 
                        sec_sequence.push_back( eSecCommand(eSecCommand::UPDATE_CURRENT_SWITCHPARMS) );
 
-                       if(lnb_param.SatCR_idx != -1)
+                       if(is_unicable)
                        {
                                // check if voltage is disabled
                                eSecCommand::pair compare;
index cfea3fd..1403059 100644 (file)
@@ -40,7 +40,7 @@ int eDVBTSTools::openFile(const char *filename, int nostreaminfo)
        if (f->open(filename, 1) < 0)
                return -1;
 
-       setSource(src, filename);
+       setSource(src, nostreaminfo ? NULL : filename);
 
        return 0;
 }
index 97e2cc6..a19e11a 100644 (file)
@@ -501,6 +501,7 @@ eListboxPythonMultiContent::~eListboxPythonMultiContent()
 {
        Py_XDECREF(m_buildFunc);
        Py_XDECREF(m_selectableFunc);
+       Py_XDECREF(m_template);
 }
 
 void eListboxPythonMultiContent::setSelectionClip(eRect &rect, bool update)
@@ -1158,5 +1159,7 @@ void eListboxPythonMultiContent::entryRemoved(int idx)
 
 void eListboxPythonMultiContent::setTemplate(ePyObject tmplate)
 {
+       Py_XDECREF(m_template);
        m_template = tmplate;
+       Py_XINCREF(m_template);
 }
index d8a7c5c..7f7dd5c 100644 (file)
@@ -390,6 +390,7 @@ class SecConfigure:
 
                                        if currLnb.diseqcMode.value == "1_0":
                                                currCO = currLnb.commandOrder1_0.value
+                                               sec.setRepeats(0)
                                        else:
                                                currCO = currLnb.commandOrder.value