Merge branch 'next' into attenuation
Conflicts: src/Radio/radio.cxx
This commit is contained in:
commit
451bf89f70
5 changed files with 41 additions and 4 deletions
|
@ -3198,6 +3198,30 @@
|
|||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Lib_Radio"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\src\Radio\antenna.cxx"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\src\Radio\antenna.hxx"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\src\Radio\radio.cxx"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\src\Radio\radio.hxx"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\src\Radio\itm.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Lib_Scenery"
|
||||
>
|
||||
|
|
|
@ -524,7 +524,9 @@ void FGKR_87::search() {
|
|||
xyz = adf->cart();
|
||||
|
||||
if ( _sgr->exists( "adf-ident" ) ) {
|
||||
_sgr->remove( "adf-ident" );
|
||||
// stop is required! -- remove alone wouldn't stop immediately
|
||||
_sgr->stop( "adf-ident" );
|
||||
_sgr->remove( "adf-ident" );
|
||||
}
|
||||
SGSoundSample *sound;
|
||||
sound = FGMorse::instance()->make_ident( trans_ident, FGMorse::LO_FREQUENCY );
|
||||
|
|
|
@ -1000,7 +1000,7 @@ double avar(double zzt, double zzl, double zzc, prop_type &prop, propv_type &pro
|
|||
kdv = propv.mdvar;
|
||||
no_situation_variability = kdv >= 20;
|
||||
if (no_situation_variability)
|
||||
no_situation_variability -= 20;
|
||||
kdv -= 20;
|
||||
|
||||
no_location_variability = kdv >= 10;
|
||||
if (no_location_variability)
|
||||
|
|
|
@ -362,9 +362,11 @@ double FGRadioTransmission::ITM_calculate_attenuation(SGGeod pos, double freq, i
|
|||
|
||||
_elevations.push_front(point_distance);
|
||||
_elevations.push_front(num_points -1);
|
||||
|
||||
int size = _elevations.size();
|
||||
double *itm_elev;
|
||||
itm_elev = new double[size];
|
||||
|
||||
for(int i=0;i<size;i++) {
|
||||
itm_elev[i]=_elevations[i];
|
||||
|
||||
|
@ -924,7 +926,7 @@ double FGRadioTransmission::watt_to_dbm(double power_watt) {
|
|||
}
|
||||
|
||||
double FGRadioTransmission::dbm_to_watt(double dbm) {
|
||||
return exp( (dbm-30) * log(10) / 10); // returns Watts
|
||||
return exp( (dbm-30) * log(10.0) / 10.0); // returns Watts
|
||||
}
|
||||
|
||||
double FGRadioTransmission::dbm_to_microvolt(double dbm) {
|
||||
|
|
|
@ -70,7 +70,15 @@ void AudioIdent::setVolumeNorm( double volumeNorm )
|
|||
|
||||
void AudioIdent::setIdent( const std::string & ident, double volumeNorm )
|
||||
{
|
||||
if( _ident == ident ) {
|
||||
// Signal may flicker very frequently (due to our realistic newnavradio...).
|
||||
// Avoid recreating identical sound samples all the time, instead turn off
|
||||
// volume when signal is lost, and save the most recent sample.
|
||||
if (ident.empty())
|
||||
volumeNorm = 0;
|
||||
|
||||
if(( _ident == ident )||
|
||||
(volumeNorm == 0)) // don't bother with sounds when volume is OFF anyway...
|
||||
{
|
||||
if( false == _ident.empty() )
|
||||
setVolumeNorm( volumeNorm );
|
||||
return;
|
||||
|
@ -88,6 +96,7 @@ void AudioIdent::setIdent( const std::string & ident, double volumeNorm )
|
|||
sound->set_volume( volumeNorm );
|
||||
if (!_sgr->add( sound, _fx_name )) {
|
||||
SG_LOG(SG_SOUND, SG_WARN, "Failed to add sound '" << _fx_name << "' for ident '" << ident << "'" );
|
||||
delete sound;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue