diff --git a/src/Network/fgcom.cxx b/src/Network/fgcom.cxx index 2cf67e8..378bbac 100644 --- a/src/Network/fgcom.cxx +++ b/src/Network/fgcom.cxx @@ -260,7 +260,7 @@ void FGCom::postinit() const_cast(_password.c_str()), const_cast(_server.c_str()) ); if( _regId == -1 ) { - SG_LOG(SG_IO, SG_ALERT, "FGCom: cannot register iaxclient"); + SG_LOG(SG_SOUND, SG_ALERT, "FGCom: cannot register iaxclient"); return; } } @@ -358,7 +358,7 @@ void FGCom::setupCommFrequency(int channel) { if (channel < 1) { if (_currentCallIdent != -1) { iaxc_dump_call_number(_currentCallIdent); - SG_LOG(SG_IO, SG_INFO, "FGCom: disconnect as channel 0 " << _currentCallIdent); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: disconnect as channel 0 " << _currentCallIdent); _currentCallIdent = -1; } _currentCommFrequency = 0.0; @@ -389,12 +389,12 @@ void FGCom::setupCommFrequency(int channel) { } } } - SG_LOG(SG_IO, SG_INFO, "FGCom: setupCommFrequency node listener failed: channel " << channel); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: setupCommFrequency node listener failed: channel " << channel); } if (_commFrequencyNode) _commFrequencyNode->removeChangeListener(this); - SG_LOG(SG_IO, SG_INFO, "FGCom: setupCommFrequency invalid channel " << channel); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: setupCommFrequency invalid channel " << channel); _currentCommFrequency = 0.0; } @@ -402,7 +402,7 @@ void FGCom::setupCommFrequency(int channel) { void FGCom::connectToCommFrequency() { // ensure that the current comm is still in range if ((_currentCallFrequency > 0.0) && !isInRange(_currentCallFrequency)) { - SG_LOG(SG_IO, SG_WARN, "FGCom: call out of range of: " << _currentCallFrequency); + SG_LOG(SG_SOUND, SG_WARN, "FGCom: call out of range of: " << _currentCallFrequency); _currentCallFrequency = 0.0; } @@ -410,7 +410,7 @@ void FGCom::connectToCommFrequency() { if (_currentCommFrequency < 1.0) { if (_currentCallIdent != -1) { iaxc_dump_call_number(_currentCallIdent); - SG_LOG(SG_IO, SG_INFO, "FGCom: disconnect as freq 0: current call " << _currentCallIdent); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: disconnect as freq 0: current call " << _currentCallIdent); _currentCallIdent = -1; } return; @@ -419,7 +419,7 @@ void FGCom::connectToCommFrequency() { if (_currentCallFrequency != _currentCommFrequency || _currentCallIdent == -1) { if (_currentCallIdent != -1) { iaxc_dump_call_number(_currentCallIdent); - SG_LOG(SG_IO, SG_INFO, "FGCom: dump_call_number " << _currentCallIdent); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: dump_call_number " << _currentCallIdent); _currentCallIdent = -1; } @@ -429,7 +429,7 @@ void FGCom::connectToCommFrequency() { _processingTimer.stamp(); if (!isInRange(_currentCommFrequency)) { if (_currentCallIdent != -1) { - SG_LOG(SG_IO, SG_INFO, "FGCom: disconnect call as not in range " << _currentCallIdent); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: disconnect call as not in range " << _currentCallIdent); if (_currentCallIdent != -1) { iaxc_dump_call_number(_currentCallIdent); _currentCallIdent = -1; @@ -440,14 +440,14 @@ void FGCom::connectToCommFrequency() { if (!num.empty()) { _currentCallIdent = iaxc_call(num.c_str()); if (_currentCallIdent == -1) - SG_LOG(SG_IO, SG_DEBUG, "FGCom: cannot call " << num.c_str()); + SG_LOG(SG_SOUND, SG_DEBUG, "FGCom: cannot call " << num.c_str()); else { - SG_LOG(SG_IO, SG_DEBUG, "FGCom: call established " << num.c_str() << " Freq: " << _currentCommFrequency); + SG_LOG(SG_SOUND, SG_DEBUG, "FGCom: call established " << num.c_str() << " Freq: " << _currentCommFrequency); _currentCallFrequency = _currentCommFrequency; } } else - SG_LOG(SG_IO, SG_WARN, "FGCom: frequency " << _currentCommFrequency << " does not map to valid IAX address"); + SG_LOG(SG_SOUND, SG_WARN, "FGCom: frequency " << _currentCommFrequency << " does not map to valid IAX address"); } } } @@ -519,24 +519,25 @@ void FGCom::valueChanged(SGPropertyNode *prop) if (prop == _commVolumeNode && _enabled) { if (_ptt_node->getIntValue()) { - SG_LOG(SG_IO, SG_INFO, "FGCom: ignoring change comm volume as PTT pressed"); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: ignoring change comm volume as PTT pressed"); } else { iaxc_input_level_set(0.0); - iaxc_output_level_set(getCurrentCommVolume()); - SG_LOG(SG_IO, SG_INFO, "FGCom: change comm volume=" << _commVolumeNode->getFloatValue()); +// iaxc_output_level_set(getCurrentCommVolume()); + iaxc_output_level_set(1.0); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: change comm volume=" << _commVolumeNode->getFloatValue()); } } if (prop == _selected_comm_node && _enabled) { setupCommFrequency(); - SG_LOG(SG_IO, SG_INFO, "FGCom: change comm frequency (selected node): set to " << _currentCommFrequency); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: change comm frequency (selected node): set to " << _currentCommFrequency); } if (prop == _commFrequencyNode && _enabled) { setupCommFrequency(); - SG_LOG(SG_IO, SG_INFO, "FGCom: change comm frequency (property updated): set to " << _currentCommFrequency); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: change comm frequency (property updated): set to " << _currentCommFrequency); } if (prop == _ptt_node && _enabled) { @@ -547,12 +548,15 @@ void FGCom::valueChanged(SGPropertyNode *prop) iaxc_input_level_set(_micLevel_node->getFloatValue()); //0.0 = min , 1.0 = max _mpTransmitFrequencyNode->setValue(_currentCallFrequency * 1000000); _mpTransmitPowerNode->setValue(1.0); - SG_LOG(SG_IO, SG_INFO, "FGCom: PTT active: " << _currentCallFrequency); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: PTT active: " << _currentCallFrequency); } else { - iaxc_output_level_set(getCurrentCommVolume()); +// iaxc_output_level_set(getCurrentCommVolume()); + + iaxc_output_level_set(1.0); + iaxc_input_level_set(0.0); - SG_LOG(SG_IO, SG_INFO, "FGCom: PTT release: " << _currentCallFrequency << " vol=" << getCurrentCommVolume()); + SG_LOG(SG_SOUND, SG_INFO, "FGCom: PTT release: " << _currentCallFrequency << " vol=" << getCurrentCommVolume()); _mpTransmitFrequencyNode->setValue(0); _mpTransmitPowerNode->setValue(0); } @@ -594,6 +598,9 @@ void FGCom::valueChanged(SGPropertyNode *prop) if (prop == _speakerLevel_node && _enabled) { float speakerLevel = prop->getFloatValue(); SG_CLAMP_RANGE( speakerLevel, 0.0, 1.0 ); + + speakerLevel=1.0; + _speakerLevel_node->setFloatValue(speakerLevel); iaxc_output_level_set(speakerLevel); } @@ -623,13 +630,17 @@ void FGCom::testMode(bool testMode) _currentCallIdent = iaxc_call(num.c_str()); } if( _currentCallIdent == -1 ) - SG_LOG( SG_IO, SG_DEBUG, "FGCom: cannot call " << num.c_str() ); + SG_LOG( SG_SOUND, SG_DEBUG, "FGCom: cannot call " << num.c_str() ); } else { if( _initialized ) { iaxc_dump_all_calls(); iaxc_millisleep(IAX_DELAY); iaxc_input_level_set( 0.0 ); - iaxc_output_level_set(getCurrentCommVolume()); + //iaxc_output_level_set(getCurrentCommVolume()); + + iaxc_output_level_set(1.0); + + _currentCallIdent = -1; _enabled = true; } @@ -714,7 +725,7 @@ std::string FGCom::computePhoneNumber(const double& freq, const std::string& ica _password.c_str(), _server.c_str(), exten); - + SG_LOG(SG_SOUND, SG_INFO, "FGCom: computePhoneNumber:" << phoneNumber); return phoneNumber; }