diff --git a/htdocs/css/openwebrx.css b/htdocs/css/openwebrx.css index 833f340..2b35db9 100644 --- a/htdocs/css/openwebrx.css +++ b/htdocs/css/openwebrx.css @@ -243,6 +243,14 @@ input[type=range]:focus::-ms-fill-upper border-top-color: #0FF; } +#openwebrx-bookmarks-container .bookmark[data-source=dial_frequencies] { + background-color: #0F0; +} + +#openwebrx-bookmarks-container .bookmark[data-source=dial_frequencies]:after { + border-top-color: #0F0; +} + #webrx-canvas-container { position: relative; diff --git a/htdocs/lib/bookmarks.js b/htdocs/lib/bookmarks.js index 69ab0bb..43f7213 100644 --- a/htdocs/lib/bookmarks.js +++ b/htdocs/lib/bookmarks.js @@ -8,9 +8,13 @@ function BookmarkBar() { var $bookmark = $(e.target).closest('.bookmark'); me.$container.find('.bookmark').removeClass('selected'); var b = $bookmark.data(); - if (!b || !b.frequency || !b.modulation) return; + if (!b || !b.frequency || (!b.modulation && !b.digital_modulation)) return; demodulator_set_offset_frequency(0, b.frequency - center_freq); - demodulator_analog_replace(b.modulation); + if (b.modulation) { + demodulator_analog_replace(b.modulation); + } else if (b.digital_modulation) { + demodulator_digital_replace(b.digital_modulation); + } $bookmark.addClass('selected'); }); diff --git a/htdocs/openwebrx.js b/htdocs/openwebrx.js index a76ba4d..d39eb3a 100644 --- a/htdocs/openwebrx.js +++ b/htdocs/openwebrx.js @@ -1261,6 +1261,14 @@ function on_ws_recv(evt) case "dial_frequencies": dial_frequencies = json.value; update_dial_button(); + var as_bookmarks = dial_frequencies.map(function(d){ + return { + name: d.mode.toUpperCase(), + digital_modulation: d.mode, + frequency: d.frequency + }; + }); + bookmarks.replace_bookmarks(as_bookmarks, 'dial_frequencies'); break; case "aprs_data": update_packet_panel(json.value);