You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
331 lines
14 KiB
331 lines
14 KiB
/***************************************************************************
|
|
radiodevice_interfaces.cpp - description
|
|
-------------------
|
|
begin : Sam Apr 19 2003
|
|
copyright : (C) 2003 by Martin Witte
|
|
email : witte@kawo1.rwth-aachen.de
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
|
|
#include "include/radiodevice_interfaces.h"
|
|
#include "include/radiostation.h"
|
|
|
|
#include <kurl.h>
|
|
|
|
// IRadioDevice
|
|
|
|
IF_IMPL_SENDER ( IRadioDevice::notifyPowerChanged(bool on),
|
|
noticePowerChanged(on, this) );
|
|
IF_IMPL_SENDER ( IRadioDevice::notifyStationChanged (const RadioStation &s),
|
|
noticeStationChanged (s, this) );
|
|
IF_IMPL_SENDER ( IRadioDevice::notifyDescriptionChanged (const TQString&s),
|
|
noticeDescriptionChanged (s, this) );
|
|
IF_IMPL_SENDER ( IRadioDevice::notifyCurrentSoundStreamIDChanged(SoundStreamID id),
|
|
noticeCurrentSoundStreamIDChanged(id, this) );
|
|
|
|
// IRadioDeviceClient
|
|
|
|
IF_IMPL_SENDER ( IRadioDeviceClient::sendPower(bool on),
|
|
setPower(on) );
|
|
IF_IMPL_SENDER ( IRadioDeviceClient::sendPowerOn(),
|
|
powerOn() );
|
|
IF_IMPL_SENDER ( IRadioDeviceClient::sendPowerOff(),
|
|
powerOff() );
|
|
IF_IMPL_SENDER ( IRadioDeviceClient::sendActivateStation(const RadioStation &rs),
|
|
activateStation(rs) );
|
|
|
|
IF_IMPL_QUERY ( bool IRadioDeviceClient::queryIsPowerOn(),
|
|
isPowerOn(),
|
|
false );
|
|
IF_IMPL_QUERY ( bool IRadioDeviceClient::queryIsPowerOff(),
|
|
isPowerOff(),
|
|
true );
|
|
IF_IMPL_QUERY ( const RadioStation & IRadioDeviceClient::queryCurrentStation(),
|
|
getCurrentStation(),
|
|
undefinedRadioStation );
|
|
|
|
static TQString IRadioDeviceClient_unknown("unknown");
|
|
IF_IMPL_QUERY ( const TQString & IRadioDeviceClient::queryDescription(),
|
|
getDescription(),
|
|
IRadioDeviceClient_unknown );
|
|
|
|
IF_IMPL_QUERY ( SoundStreamID IRadioDeviceClient::queryCurrentSoundStreamID(),
|
|
getCurrentSoundStreamID(),
|
|
SoundStreamID::InvalidID );
|
|
|
|
void IRadioDeviceClient::noticeConnectedI (cmplInterface *c, bool pointer_valid)
|
|
{
|
|
noticePowerChanged(queryIsPowerOn());
|
|
noticeStationChanged(queryCurrentStation(), pointer_valid ? c : NULL);
|
|
noticeDescriptionChanged(queryDescription(), pointer_valid ? c : NULL);
|
|
}
|
|
|
|
void IRadioDeviceClient::noticeDisconnectedI (cmplInterface *c, bool pointer_valid)
|
|
{
|
|
noticePowerChanged(queryIsPowerOn());
|
|
noticeStationChanged(queryCurrentStation(), pointer_valid ? c : NULL);
|
|
noticeDescriptionChanged(queryDescription(), pointer_valid ? c : NULL);
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Deprecated
|
|
// IRadioSound
|
|
|
|
IF_IMPL_SENDER ( IRadioSound::notifyVolumeChanged(float v),
|
|
noticeVolumeChanged(v) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifyTrebleChanged(float v),
|
|
noticeTrebleChanged(v) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifyBassChanged(float v),
|
|
noticeBassChanged(v) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifyBalanceChanged(float v),
|
|
noticeBalanceChanged(v) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifySignalQualityChanged(float q),
|
|
noticeSignalQualityChanged(q) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifySignalQualityBoolChanged(bool good),
|
|
noticeSignalQualityChanged(good) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifySignalMinQualityChanged(float q),
|
|
noticeSignalMinQualityChanged(q) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifyStereoChanged(bool s),
|
|
noticeStereoChanged(s) )
|
|
IF_IMPL_SENDER ( IRadioSound::notifyMuted(bool m),
|
|
noticeMuted(m) )
|
|
|
|
// IRadioSoundClient
|
|
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendVolume (float v),
|
|
setVolume (v) )
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendTreble (float v),
|
|
setTreble (v) )
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendBass (float v),
|
|
setBass (v) )
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendBalance (float v),
|
|
setBalance (v) )
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendMute (bool mute),
|
|
mute (mute) )
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendUnmute (bool unmute),
|
|
unmute (unmute) )
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendSignalMinQuality (float q),
|
|
setSignalMinQuality (q) )
|
|
IF_IMPL_SENDER ( IRadioSoundClient::sendStereo(bool s),
|
|
setStereo(s) )
|
|
|
|
IF_IMPL_QUERY ( float IRadioSoundClient::queryVolume(),
|
|
getVolume(),
|
|
0.0 )
|
|
IF_IMPL_QUERY ( float IRadioSoundClient::queryTreble(),
|
|
getTreble(),
|
|
0.0 )
|
|
IF_IMPL_QUERY ( float IRadioSoundClient::queryBass(),
|
|
getBass(),
|
|
0.0 )
|
|
IF_IMPL_QUERY ( float IRadioSoundClient::queryBalance(),
|
|
getBalance(),
|
|
0.0 )
|
|
IF_IMPL_QUERY ( float IRadioSoundClient::querySignalQuality(),
|
|
getSignalQuality(),
|
|
0.0 )
|
|
IF_IMPL_QUERY ( float IRadioSoundClient::querySignalMinQuality(),
|
|
getSignalMinQuality(),
|
|
0.75 )
|
|
IF_IMPL_QUERY ( bool IRadioSoundClient::queryHasGoodQuality(),
|
|
hasGoodQuality(),
|
|
false )
|
|
IF_IMPL_QUERY ( bool IRadioSoundClient::queryIsStereo(),
|
|
isStereo(),
|
|
false )
|
|
IF_IMPL_QUERY ( bool IRadioSoundClient::queryIsMuted(),
|
|
isMuted(),
|
|
true )
|
|
|
|
|
|
void IRadioSoundClient::noticeConnectedI (cmplInterface *, bool pointer_valid)
|
|
{
|
|
noticeVolumeChanged (queryVolume());
|
|
noticeTrebleChanged (queryTreble());
|
|
noticeBassChanged (queryBass());
|
|
noticeBalanceChanged (queryBalance());
|
|
noticeSignalQualityChanged (querySignalQuality());
|
|
noticeSignalQualityChanged (queryHasGoodQuality());
|
|
noticeSignalMinQualityChanged(querySignalMinQuality());
|
|
noticeStereoChanged (queryIsStereo());
|
|
noticeMuted (queryIsMuted());
|
|
}
|
|
|
|
|
|
void IRadioSoundClient::noticeDisconnectedI (cmplInterface *, bool pointer_valid)
|
|
{
|
|
noticeVolumeChanged (queryVolume());
|
|
noticeTrebleChanged (queryTreble());
|
|
noticeBassChanged (queryBass());
|
|
noticeBalanceChanged (queryBalance());
|
|
noticeSignalQualityChanged (querySignalQuality());
|
|
noticeSignalQualityChanged (queryHasGoodQuality());
|
|
noticeSignalMinQualityChanged(querySignalMinQuality());
|
|
noticeStereoChanged (queryIsStereo());
|
|
noticeMuted (queryIsMuted());
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
|
|
// ISeekRadio
|
|
|
|
IF_IMPL_SENDER ( ISeekRadio::notifySeekStarted (bool up),
|
|
noticeSeekStarted (up) );
|
|
IF_IMPL_SENDER ( ISeekRadio::notifySeekStopped (),
|
|
noticeSeekStopped () );
|
|
IF_IMPL_SENDER ( ISeekRadio::notifySeekFinished (const RadioStation &s, bool goodQuality),
|
|
noticeSeekFinished (s, goodQuality) );
|
|
IF_IMPL_SENDER ( ISeekRadio::notifyProgress (float f),
|
|
noticeProgress (f) );
|
|
|
|
|
|
// ISeekRadioClient
|
|
|
|
IF_IMPL_SENDER ( ISeekRadioClient::sendToBeginning(),
|
|
toBeginning() );
|
|
IF_IMPL_SENDER ( ISeekRadioClient::sendToEnd(),
|
|
toEnd() );
|
|
IF_IMPL_SENDER ( ISeekRadioClient::sendStartSeek (bool up),
|
|
startSeek (up) );
|
|
IF_IMPL_SENDER ( ISeekRadioClient::sendStartSeekUp(),
|
|
startSeekUp() );
|
|
IF_IMPL_SENDER ( ISeekRadioClient::sendStartSeekDown(),
|
|
startSeekDown() );
|
|
IF_IMPL_SENDER ( ISeekRadioClient::sendStopSeek(),
|
|
stopSeek() );
|
|
|
|
IF_IMPL_QUERY ( bool ISeekRadioClient::queryIsSeekRunning(),
|
|
isSeekRunning(),
|
|
false );
|
|
IF_IMPL_QUERY ( bool ISeekRadioClient::queryIsSeekUpRunning(),
|
|
isSeekUpRunning(),
|
|
false );
|
|
IF_IMPL_QUERY ( bool ISeekRadioClient::queryIsSeekDownRunning(),
|
|
isSeekDownRunning(),
|
|
false );
|
|
IF_IMPL_QUERY ( float ISeekRadioClient::queryProgress(),
|
|
getProgress(),
|
|
1.0 );
|
|
|
|
|
|
void ISeekRadioClient::noticeConnectedI (cmplInterface *, bool /*pointer_valid*/)
|
|
{
|
|
if (queryIsSeekRunning()) {
|
|
noticeSeekStarted(queryIsSeekUpRunning());
|
|
} else {
|
|
noticeSeekStopped();
|
|
}
|
|
noticeProgress(queryProgress());
|
|
}
|
|
|
|
|
|
void ISeekRadioClient::noticeDisconnectedI (cmplInterface *, bool /*pointer_valid*/)
|
|
{
|
|
noticeSeekStopped();
|
|
noticeProgress(queryProgress());
|
|
}
|
|
|
|
|
|
// IFrequencyRadio
|
|
|
|
IF_IMPL_SENDER ( IFrequencyRadio::notifyFrequencyChanged(float f, const RadioStation *s),
|
|
noticeFrequencyChanged(f, s) )
|
|
IF_IMPL_SENDER ( IFrequencyRadio::notifyMinMaxFrequencyChanged(float min, float max),
|
|
noticeMinMaxFrequencyChanged(min, max) )
|
|
IF_IMPL_SENDER ( IFrequencyRadio::notifyDeviceMinMaxFrequencyChanged(float min, float max),
|
|
noticeDeviceMinMaxFrequencyChanged(min, max) )
|
|
IF_IMPL_SENDER ( IFrequencyRadio::notifyScanStepChanged(float s),
|
|
noticeScanStepChanged(s) )
|
|
|
|
// IFrequencyRadioClient
|
|
|
|
IF_IMPL_SENDER ( IFrequencyRadioClient::sendFrequency(float f),
|
|
setFrequency(f) )
|
|
IF_IMPL_SENDER ( IFrequencyRadioClient::sendMinFrequency(float mf),
|
|
setMinFrequency(mf) )
|
|
IF_IMPL_SENDER ( IFrequencyRadioClient::sendMaxFrequency(float mf),
|
|
setMaxFrequency(mf) )
|
|
IF_IMPL_SENDER ( IFrequencyRadioClient::sendScanStep(float s),
|
|
setScanStep(s) )
|
|
|
|
IF_IMPL_QUERY ( float IFrequencyRadioClient::queryFrequency(),
|
|
getFrequency(),
|
|
0 )
|
|
IF_IMPL_QUERY ( float IFrequencyRadioClient::queryMinFrequency(),
|
|
getMinFrequency(),
|
|
0 )
|
|
IF_IMPL_QUERY ( float IFrequencyRadioClient::queryMinDeviceFrequency(),
|
|
getMinDeviceFrequency(),
|
|
0 )
|
|
IF_IMPL_QUERY ( float IFrequencyRadioClient::queryMaxFrequency(),
|
|
getMaxFrequency(),
|
|
0 )
|
|
IF_IMPL_QUERY ( float IFrequencyRadioClient::queryMaxDeviceFrequency(),
|
|
getMaxDeviceFrequency(),
|
|
0 )
|
|
IF_IMPL_QUERY ( float IFrequencyRadioClient::queryScanStep(),
|
|
getScanStep(),
|
|
0.05 )
|
|
|
|
void IFrequencyRadioClient::noticeConnectedI (cmplInterface *, bool /*pointer_valid*/)
|
|
{
|
|
noticeFrequencyChanged(queryFrequency(), NULL);
|
|
noticeMinMaxFrequencyChanged(queryMinFrequency(), queryMaxFrequency());
|
|
noticeDeviceMinMaxFrequencyChanged(queryMinDeviceFrequency(), queryMaxDeviceFrequency());
|
|
noticeScanStepChanged(queryScanStep());
|
|
}
|
|
|
|
|
|
void IFrequencyRadioClient::noticeDisconnectedI (cmplInterface *, bool /*pointer_valid*/)
|
|
{
|
|
noticeFrequencyChanged(queryFrequency(), NULL);
|
|
noticeMinMaxFrequencyChanged(queryMinFrequency(), queryMaxFrequency());
|
|
noticeDeviceMinMaxFrequencyChanged(queryMinDeviceFrequency(), queryMaxDeviceFrequency());
|
|
noticeScanStepChanged(queryScanStep());
|
|
}
|
|
|
|
|
|
|
|
// IInternetRadio
|
|
|
|
IF_IMPL_SENDER ( IInternetRadio::notifyURLChanged(const KURL &u),
|
|
noticeURLChanged(u) )
|
|
|
|
// IInternetRadioClient
|
|
|
|
IF_IMPL_SENDER ( IInternetRadioClient::sendURL(const KURL &url),
|
|
setURL(url) )
|
|
|
|
|
|
static KURL emptyURL;
|
|
|
|
IF_IMPL_QUERY ( const KURL &IInternetRadioClient::queryURL(),
|
|
getURL(),
|
|
emptyURL )
|
|
|
|
void IInternetRadioClient::noticeConnectedI (cmplInterface *, bool /*pointer_valid*/)
|
|
{
|
|
noticeURLChanged(queryURL());
|
|
}
|
|
|
|
|
|
void IInternetRadioClient::noticeDisconnectedI (cmplInterface *, bool /*pointer_valid*/)
|
|
{
|
|
noticeURLChanged(queryURL());
|
|
}
|
|
|
|
|