update hash when demodulator params change

This commit is contained in:
Jakob Ketterl 2020-01-25 21:15:05 +01:00
parent 34312dd402
commit 92254c8c4d

View File

@ -558,6 +558,7 @@ function demodulator_analog_replace(subtype, for_digital) { //this function shou
demodulator_add(new Demodulator_default_analog(temp_offset, subtype)); demodulator_add(new Demodulator_default_analog(temp_offset, subtype));
demodulator_buttons_update(); demodulator_buttons_update();
update_digitalvoice_panels("openwebrx-panel-metadata-" + subtype); update_digitalvoice_panels("openwebrx-panel-metadata-" + subtype);
updateHash();
} }
Demodulator.prototype.set_offset_frequency = function(to_what) { Demodulator.prototype.set_offset_frequency = function(to_what) {
@ -566,6 +567,11 @@ Demodulator.prototype.set_offset_frequency = function(to_what) {
this.set(); this.set();
mkenvelopes(get_visible_freq_range()); mkenvelopes(get_visible_freq_range());
tunedFrequencyDisplay.setFrequency(center_freq + to_what); tunedFrequencyDisplay.setFrequency(center_freq + to_what);
updateHash();
}
Demodulator.prototype.get_offset_frequency = function() {
return this.offset_frequency;
} }
function waterfallWidth() { function waterfallWidth() {
@ -1525,6 +1531,16 @@ function validateHash() {
return params; return params;
} }
function updateHash() {
var demod = demodulators[0];
window.location.hash = $.map({
freq: demod.get_offset_frequency() + center_freq,
mod: demod.subtype
}, function(value, key){
return key + '=' + value;
}).join(',');
}
function onAudioStart(success, apiType){ function onAudioStart(success, apiType){
divlog('Web Audio API succesfully initialized, using ' + apiType + ' API, sample rate: ' + audioEngine.getSampleRate() + " Hz"); divlog('Web Audio API succesfully initialized, using ' + apiType + ' API, sample rate: ' + audioEngine.getSampleRate() + " Hz");
@ -1543,12 +1559,13 @@ function onAudioStart(success, apiType){
function initialize_demodulator(initialParams) { function initialize_demodulator(initialParams) {
mkscale(); mkscale();
var params = $.extend(initialParams || {}, validateHash()); var params = $.extend(initialParams || {}, validateHash());
console.info(params); if (params.mod) {
if (!params.mod) return;
demodulator_analog_replace(params.mod); demodulator_analog_replace(params.mod);
if (!params.offset_frequency) return; }
if (params.offset_frequency) {
demodulators[0].set_offset_frequency(params.offset_frequency); demodulators[0].set_offset_frequency(params.offset_frequency);
} }
}
var reconnect_timeout = false; var reconnect_timeout = false;
@ -1807,6 +1824,9 @@ function openwebrx_init() {
init_header(); init_header();
bookmarks = new BookmarkBar(); bookmarks = new BookmarkBar();
initSliders(); initSliders();
window.addEventListener('hashchange', function() {
initialize_demodulator();
});
} }
function initSliders() { function initSliders() {