fix profile switching

This commit is contained in:
Jakob Ketterl 2020-05-02 15:07:47 +02:00
parent 6ff1b7d20a
commit 3405bc485b
3 changed files with 12 additions and 13 deletions

View File

@ -140,7 +140,8 @@ DemodulatorPanel.prototype.getDemodulator = function() {
};
DemodulatorPanel.prototype.startDemodulator = function() {
var params = $.extend(this.initialParams || {}, this.transformHashParams(validateHash()));
if (!Modes.initComplete()) return;
var params = $.extend({}, this.initialParams || {}, this.transformHashParams(validateHash()));
this._apply(params);
};
@ -197,14 +198,11 @@ DemodulatorPanel.prototype.updateButtons = function() {
DemodulatorPanel.prototype.setCenterFrequency = function(center_freq) {
if (this.center_freq === center_freq) {
return ;
return;
}
this.stopDemodulator();
this.center_freq = center_freq;
var demod = this.getDemodulator();
if (demod) {
this.tuneableFrequencyDisplay.setFrequency(center_freq + demod.get_offset_frequency());
}
updateHash();
this.startDemodulator();
};
$.fn.demodulatorPanel = function(){

View File

@ -20,13 +20,13 @@ var Modes = {
registerModePanel: function(el) {
this.panels.push(el);
},
initComplete: function() {
return this.modes.length && Object.keys(this.features).length;
},
updatePanels: function() {
var init_complete = this.modes.length && Object.keys(this.features).length;
this.panels.forEach(function(p) {
p.render();
if (init_complete) {
p.startDemodulator();
}
p.startDemodulator();
});
}
};

View File

@ -745,7 +745,6 @@ function on_ws_recv(evt) {
bandwidth = config['samp_rate'];
center_freq = config['center_freq'];
$('#openwebrx-panel-receiver').demodulatorPanel().setCenterFrequency(center_freq);
fft_size = config['fft_size'];
var audio_compression = config['audio_compression'];
audioEngine.setCompression(audio_compression);
@ -758,7 +757,9 @@ function on_ws_recv(evt) {
updateSquelch();
waterfall_init();
$('#openwebrx-panel-receiver').demodulatorPanel().setInitialParams(initial_demodulator_params);
var demodulatorPanel = $('#openwebrx-panel-receiver').demodulatorPanel();
demodulatorPanel.setInitialParams(initial_demodulator_params);
demodulatorPanel.setCenterFrequency(center_freq);
bookmarks.loadLocalBookmarks();
waterfall_clear();