Ticket #1945: rotor-osd.patch

File rotor-osd.patch, 2.3 KB (added by yeasah@…, 19 years ago)

Rotor OSD Patch

  • tv_play.cpp

     
    44764476    uint  sig  = 0;
    44774477    float snr  = 0.0f;
    44784478    uint  ber  = 0xffffffff;
     4479    uint  pos  = 0;
    44794480    QString pat(""), pmt(""), mgt(""), vct(""), nit(""), sdt("");
    44804481    QString err = QString::null, msg = QString::null;
    44814482    for (it = slist.begin(); it != slist.end(); ++it)
     
    45004501            snr = it->GetValue();
    45014502        else if ("ber" == it->GetShortName())
    45024503            ber = it->GetValue();
     4504        else if ("pos" == it->GetShortName())
     4505            pos = it->GetValue();
    45034506        else if ("seen_pat" == it->GetShortName())
    45044507            pat = it->IsGood() ? "a" : "_";
    45054508        else if ("matching_pat" == it->GetShortName())
     
    45384541        sigDesc += " | " + tr("S/N %1dB").arg(log10f(snr), 3, 'f', 1);
    45394542    if (ber != 0xffffffff)
    45404543        sigDesc += " | " + tr("BE %1", "Bit Errors").arg(ber, 2);
     4544    if (pos != 100)
     4545        sigDesc += " | " + tr("Rotor %1\%").arg(pos,2);
    45414546
    45424547    sigDesc = sigDesc + QString(" | (%1%2%3%4%5%6%7) %8")
    45434548        .arg(slock).arg(pat).arg(pmt).arg(mgt).arg(vct)
  • dvbsignalmonitor.cpp

     
    154154        list<<bitErrorRate.GetName()<<bitErrorRate.GetStatus();
    155155    if (HasFlags(kDVBSigMon_WaitForUB))
    156156        list<<uncorrectedBlocks.GetName()<<uncorrectedBlocks.GetStatus();
    157     if (HasFlags(kDVBSigMon_WaitForPos))
     157    if (!is_rotor_done)
    158158        list<<rotorPosition.GetName()<<rotorPosition.GetStatus();
    159159    statusLock.unlock();
    160160    return list;
     
    511511            DBG_SM("UpdateValues", "Retuning for rotor completion");
    512512            dvbchan->Retune();
    513513            is_rotor_done = true;
     514
     515            QMutexLocker locker(&statusLock);
     516            rotorPosition.SetValue(100);
    514517        }
    515518        else if (progress < 1.0)
    516519        {
    517520            if (is_rotor_done)
    518521                DBG_SM("UpdateValues", "Rotor is moving");
    519522            is_rotor_done = false;
    520         }
    521523
    522         if (HasFlags(kDVBSigMon_WaitForPos))
    523         {
    524524            QMutexLocker locker(&statusLock);
    525525            rotorPosition.SetValue((int)(progress * 100));
    526526        }