void V4LRadioControl::setBand(QRadioTuner::Band b) { if(freqMin <= 87500000 && freqMax >= 108000000 && b == QRadioTuner::FM) { // FM 87.5 to 108.0 MHz, except Japan 76-90 MHz currentBand = (QRadioTuner::Band)b; step = 100000; // 100kHz steps emit bandChanged(currentBand); } else if(freqMin <= 148500 && freqMax >= 283500 && b == QRadioTuner::LW) { // LW 148.5 to 283.5 kHz, 9kHz channel spacing (Europe, Africa, Asia) currentBand = (QRadioTuner::Band)b; step = 1000; // 1kHz steps emit bandChanged(currentBand); } else if(freqMin <= 520000 && freqMax >= 1610000 && b == QRadioTuner::AM) { // AM 520 to 1610 kHz, 9 or 10kHz channel spacing, extended 1610 to 1710 kHz currentBand = (QRadioTuner::Band)b; step = 1000; // 1kHz steps emit bandChanged(currentBand); } else if(freqMin <= 1711000 && freqMax >= 30000000 && b == QRadioTuner::SW) { // SW 1.711 to 30.0 MHz, divided into 15 bands. 5kHz channel spacing currentBand = (QRadioTuner::Band)b; step = 500; // 500Hz steps emit bandChanged(currentBand); } playTime.restart(); }
void Band::selectBand(int b) { int previousBand=currentBand; currentBand=b; qDebug() << "Band::selectBand: previousBand:" << previousBand << " currentBand:" << currentBand << " currentStack:" << currentStack; if(previousBand==currentBand) { // step through band stack currentStack++; if(currentStack == BANDSTACK_ENTRIES) { currentStack = 0; } else if (bandstack[currentBand][currentStack].getFrequency() == 0LL) { currentStack = 0; } stack[currentBand]=currentStack; } else { // new band qDebug() << "Band::selectBand: new band: stack: " << stack[currentBand]; currentStack=stack[currentBand]; } qDebug() << "selectBand " << currentBand << ":" << currentStack << " f=" << bandstack[currentBand][currentStack].getFrequency(); emit bandChanged(previousBand,currentBand); }
void S60RadioTunerControl::setBand(QRadioTuner::Band b) { QRadioTuner::Band tempBand = b; if (tempBand != m_currentBand) { m_currentBand = b; emit bandChanged(m_currentBand); } }
void S60RadioTunerControl::setBand(QRadioTuner::Band b) { QRadioTuner::Band tempBand = b; if (tempBand != m_currentBand) { TRACE("S60RadioTunerControl::setBand" << qtThisPtr() << "band" << b); m_currentBand = b; emit bandChanged(m_currentBand); } }
QRadioTuner::QRadioTuner(QObject *parent, QMediaServiceProvider* provider): QMediaObject(*new QRadioTunerPrivate, parent, provider->requestService(Q_MEDIASERVICE_RADIO)) { Q_D(QRadioTuner); d->provider = provider; if (d->service != 0) { d->control = qobject_cast<QRadioTunerControl*>(d->service->requestControl(QRadioTunerControl_iid)); if (d->control != 0) { connect(d->control, SIGNAL(stateChanged(QRadioTuner::State)), SIGNAL(stateChanged(QRadioTuner::State))); connect(d->control, SIGNAL(bandChanged(QRadioTuner::Band)), SIGNAL(bandChanged(QRadioTuner::Band))); connect(d->control, SIGNAL(frequencyChanged(int)), SIGNAL(frequencyChanged(int))); connect(d->control, SIGNAL(stereoStatusChanged(bool)), SIGNAL(stereoStatusChanged(bool))); connect(d->control, SIGNAL(searchingChanged(bool)), SIGNAL(searchingChanged(bool))); connect(d->control, SIGNAL(signalStrengthChanged(int)), SIGNAL(signalStrengthChanged(int))); connect(d->control, SIGNAL(volumeChanged(int)), SIGNAL(volumeChanged(int))); connect(d->control, SIGNAL(mutedChanged(bool)), SIGNAL(mutedChanged(bool))); connect(d->control, SIGNAL(error(QRadioTuner::Error)), SIGNAL(error(QRadioTuner::Error))); }
void tst_QRadioTuner::testBand() { QVERIFY(radio->isBandSupported(QRadioTuner::FM)); QVERIFY(!radio->isBandSupported(QRadioTuner::SW)); if(radio->isBandSupported(QRadioTuner::AM)) { QSignalSpy readSignal(radio, SIGNAL(bandChanged(QRadioTuner::Band))); radio->setBand(QRadioTuner::AM); QTestEventLoop::instance().enterLoop(1); QVERIFY(radio->band() == QRadioTuner::AM); QVERIFY(readSignal.count() == 1); } }
QXARadioControl::QXARadioControl(QXARadioSession *session, QObject *parent) :QRadioTunerControl(parent), m_session(session) { connect(m_session, SIGNAL(stateChanged(QRadioTuner::State)), this, SIGNAL(stateChanged(QRadioTuner::State))); connect(m_session, SIGNAL(bandChanged(QRadioTuner::Band)), this, SIGNAL(bandChanged(QRadioTuner::Band))); connect(m_session, SIGNAL(frequencyChanged(int)), this, SIGNAL(frequencyChanged(int))); connect(m_session, SIGNAL(stereoStatusChanged(bool)), this, SIGNAL(stereoStatusChanged(bool))); connect(m_session, SIGNAL(searchingChanged(bool)), this, SIGNAL(searchingChanged(bool))); connect(m_session, SIGNAL(signalStrengthChanged(int)), this, SIGNAL(signalStrengthChanged(int))); connect(m_session, SIGNAL(volumeChanged(int)), this, SIGNAL(volumeChanged(int))); connect(m_session, SIGNAL(mutedChanged(bool)), this, SIGNAL(mutedChanged(bool))); // connect(m_session, SIGNAL(error(int,QString)), this,SIGNAL(error(int,QString))); }
void tst_QXARadio_xa::testBand() { qRegisterMetaType<QRadioTuner::Band>("QRadioTuner::Band"); QVERIFY(radio->isBandSupported(QRadioTuner::FM)); QVERIFY(!radio->isBandSupported(QRadioTuner::SW)); radio->setBand(QRadioTuner::FM); QVERIFY(radio->band() == QRadioTuner::FM); if(radio->isBandSupported(QRadioTuner::AM)) { QSignalSpy readSignal(radio, SIGNAL(bandChanged(QRadioTuner::Band))); radio->setBand(QRadioTuner::AM); QTRY_COMPARE(readSignal.count(), 1); // wait for callbacks to complete in symbian API QVERIFY(radio->band() == QRadioTuner::AM); } }
void Band::initBand(int b) { currentBand=b; emit bandChanged(currentBand, currentBand); }
void tst_QRadioTuner::testNullControl() { const QPair<int, int> nullRange(0, 0); MockMediaService service(0, 0); MockMediaServiceProvider provider(&service); QRadioTuner radio(0, &provider); QVERIFY(!radio.isAvailable()); radio.start(); QCOMPARE(radio.error(), QRadioTuner::ResourceError); QCOMPARE(radio.errorString(), QString()); QCOMPARE(radio.band(), QRadioTuner::FM); QCOMPARE(radio.isBandSupported(QRadioTuner::AM), false); QCOMPARE(radio.isBandSupported(QRadioTuner::FM), false); QCOMPARE(radio.frequency(), 0); QCOMPARE(radio.frequencyStep(QRadioTuner::AM), 0); QCOMPARE(radio.frequencyStep(QRadioTuner::FM), 0); QCOMPARE(radio.frequencyRange(QRadioTuner::AM), nullRange); QCOMPARE(radio.frequencyRange(QRadioTuner::FM), nullRange); { QSignalSpy bandSpy(&radio, SIGNAL(bandChanged(QRadioTuner::Band))); QSignalSpy frequencySpy(&radio, SIGNAL(frequencyChanged(int))); radio.setFrequency(107500); QCOMPARE(radio.band(), QRadioTuner::FM); QCOMPARE(radio.frequency(), 0); QCOMPARE(bandSpy.count(), 0); QCOMPARE(frequencySpy.count(), 0); radio.setBand(QRadioTuner::AM); QCOMPARE(radio.band(), QRadioTuner::FM); QCOMPARE(radio.frequency(), 0); QCOMPARE(bandSpy.count(), 0); QCOMPARE(frequencySpy.count(), 0); } QCOMPARE(radio.isStereo(), false); QCOMPARE(radio.stereoMode(), QRadioTuner::Auto); radio.setStereoMode(QRadioTuner::ForceStereo); QCOMPARE(radio.stereoMode(), QRadioTuner::Auto); QCOMPARE(radio.signalStrength(), 0); QCOMPARE(radio.volume(), 0); QCOMPARE(radio.isMuted(), false); { QSignalSpy volumeSpy(&radio, SIGNAL(volumeChanged(int))); QSignalSpy muteSpy(&radio, SIGNAL(mutedChanged(bool))); radio.setVolume(76); QCOMPARE(radio.volume(), 0); QCOMPARE(volumeSpy.count(), 0); radio.setMuted(true); QCOMPARE(radio.isMuted(), false); QCOMPARE(muteSpy.count(), 0); } QCOMPARE(radio.isSearching(), false); { QSignalSpy spy(&radio, SIGNAL(searchingChanged(bool))); radio.searchBackward(); QCOMPARE(radio.isSearching(), false); QCOMPARE(spy.count(), 0); radio.searchForward(); QCOMPARE(radio.isSearching(), false); QCOMPARE(spy.count(), 0); radio.cancelSearch(); QCOMPARE(radio.isSearching(), false); QCOMPARE(spy.count(), 0); } radio.stop(); }
void QXARadioSession::CBBandChanged(QRadioTuner::Band band) { emit bandChanged(band); }