add bookmarks display
This commit is contained in:
parent
cc98c94b2b
commit
020445743c
@ -160,6 +160,51 @@ input[type=range]:focus::-ms-fill-upper
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#openwebrx-bookmarks-container
|
||||||
|
{
|
||||||
|
height: 25px;
|
||||||
|
background-color: #444;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#openwebrx-bookmarks-container .bookmark-locator {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#openwebrx-bookmarks-container .bookmark {
|
||||||
|
font-size: 10pt;
|
||||||
|
background-color: #FFFF00;
|
||||||
|
border: 1px solid #000;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 2px 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#openwebrx-bookmarks-container .bookmark:hover {
|
||||||
|
z-index: 11;
|
||||||
|
}
|
||||||
|
|
||||||
|
#openwebrx-bookmarks-container .bookmark:after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 50%;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border: 5px solid transparent;
|
||||||
|
border-top-color: #FFFF00;
|
||||||
|
border-bottom: 0;
|
||||||
|
margin-left: -5px;
|
||||||
|
margin-bottom: -5px;
|
||||||
|
}
|
||||||
|
|
||||||
#webrx-canvas-container
|
#webrx-canvas-container
|
||||||
{
|
{
|
||||||
/*background-image:url('../gfx/openwebrx-blank-background-1.jpg');*/
|
/*background-image:url('../gfx/openwebrx-blank-background-1.jpg');*/
|
||||||
|
@ -35,173 +35,174 @@
|
|||||||
<div id="webrx-page-container">
|
<div id="webrx-page-container">
|
||||||
${header}
|
${header}
|
||||||
<div id="webrx-main-container">
|
<div id="webrx-main-container">
|
||||||
<div id="openwebrx-scale-container">
|
<div id="openwebrx-bookmarks-container"></div>
|
||||||
<canvas id="openwebrx-scale-canvas" width="0" height="0"></canvas>
|
<div id="openwebrx-scale-container">
|
||||||
</div>
|
<canvas id="openwebrx-scale-canvas" width="0" height="0"></canvas>
|
||||||
<div id="openwebrx-mathbox-container"> </div>
|
</div>
|
||||||
<div id="webrx-canvas-container">
|
<div id="openwebrx-mathbox-container"> </div>
|
||||||
<div id="openwebrx-phantom-canvas"></div>
|
<div id="webrx-canvas-container">
|
||||||
<!-- add canvas here by javascript -->
|
<div id="openwebrx-phantom-canvas"></div>
|
||||||
</div>
|
<!-- add canvas here by javascript -->
|
||||||
<div id="openwebrx-panels-container">
|
</div>
|
||||||
<div class="openwebrx-panel" id="openwebrx-panel-receiver" data-panel-name="client-params" data-panel-pos="right" data-panel-order="0" data-panel-size="259,115">
|
<div id="openwebrx-panels-container">
|
||||||
<div id="webrx-actual-freq">---.--- MHz</div>
|
<div class="openwebrx-panel" id="openwebrx-panel-receiver" data-panel-name="client-params" data-panel-pos="right" data-panel-order="0" data-panel-size="259,115">
|
||||||
<div id="webrx-mouse-freq">---.--- MHz</div>
|
<div id="webrx-actual-freq">---.--- MHz</div>
|
||||||
<div class="openwebrx-panel-line">
|
<div id="webrx-mouse-freq">---.--- MHz</div>
|
||||||
<select id="openwebrx-sdr-profiles-listbox" onchange="sdr_profile_changed();">
|
<div class="openwebrx-panel-line">
|
||||||
</select>
|
<select id="openwebrx-sdr-profiles-listbox" onchange="sdr_profile_changed();">
|
||||||
</div>
|
</select>
|
||||||
<div class="openwebrx-panel-line">
|
</div>
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-nfm"
|
<div class="openwebrx-panel-line">
|
||||||
onclick="demodulator_analog_replace('nfm');">FM</div>
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-nfm"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-am"
|
onclick="demodulator_analog_replace('nfm');">FM</div>
|
||||||
onclick="demodulator_analog_replace('am');">AM</div>
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-am"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-lsb"
|
onclick="demodulator_analog_replace('am');">AM</div>
|
||||||
onclick="demodulator_analog_replace('lsb');">LSB</div>
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-lsb"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-usb"
|
onclick="demodulator_analog_replace('lsb');">LSB</div>
|
||||||
onclick="demodulator_analog_replace('usb');">USB</div>
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-usb"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-cw"
|
onclick="demodulator_analog_replace('usb');">USB</div>
|
||||||
onclick="demodulator_analog_replace('cw');">CW</div>
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-cw"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-dmr"
|
onclick="demodulator_analog_replace('cw');">CW</div>
|
||||||
style="display:none;" data-feature="digital_voice_digiham"
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-dmr"
|
||||||
onclick="demodulator_analog_replace('dmr');">DMR</div>
|
style="display:none;" data-feature="digital_voice_digiham"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-dstar"
|
onclick="demodulator_analog_replace('dmr');">DMR</div>
|
||||||
style="display:none;" data-feature="digital_voice_dsd"
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-dstar"
|
||||||
onclick="demodulator_analog_replace('dstar');">DStar</div>
|
style="display:none;" data-feature="digital_voice_dsd"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-nxdn"
|
onclick="demodulator_analog_replace('dstar');">DStar</div>
|
||||||
style="display:none;" data-feature="digital_voice_dsd"
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-nxdn"
|
||||||
onclick="demodulator_analog_replace('nxdn');">NXDN</div>
|
style="display:none;" data-feature="digital_voice_dsd"
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-ysf"
|
onclick="demodulator_analog_replace('nxdn');">NXDN</div>
|
||||||
style="display:none;" data-feature="digital_voice_digiham"
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-ysf"
|
||||||
onclick="demodulator_analog_replace('ysf');">YSF</div>
|
style="display:none;" data-feature="digital_voice_digiham"
|
||||||
</div>
|
onclick="demodulator_analog_replace('ysf');">YSF</div>
|
||||||
<div class="openwebrx-panel-line">
|
</div>
|
||||||
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-dig" onclick="demodulator_digital_replace_last();">DIG</div>
|
<div class="openwebrx-panel-line">
|
||||||
<select id="openwebrx-secondary-demod-listbox" onchange="secondary_demod_listbox_changed();">
|
<div class="openwebrx-button openwebrx-demodulator-button" id="openwebrx-button-dig" onclick="demodulator_digital_replace_last();">DIG</div>
|
||||||
<option value="none"></option>
|
<select id="openwebrx-secondary-demod-listbox" onchange="secondary_demod_listbox_changed();">
|
||||||
<option value="bpsk31">BPSK31</option>
|
<option value="none"></option>
|
||||||
<option value="ft8" data-feature="wsjt-x">FT8</option>
|
<option value="bpsk31">BPSK31</option>
|
||||||
<option value="wspr" data-feature="wsjt-x">WSPR</option>
|
<option value="ft8" data-feature="wsjt-x">FT8</option>
|
||||||
<option value="jt65" data-feature="wsjt-x">JT65</option>
|
<option value="wspr" data-feature="wsjt-x">WSPR</option>
|
||||||
<option value="jt9" data-feature="wsjt-x">JT9</option>
|
<option value="jt65" data-feature="wsjt-x">JT65</option>
|
||||||
<option value="ft4" data-feature="wsjt-x">FT4</option>
|
<option value="jt9" data-feature="wsjt-x">JT9</option>
|
||||||
<option value="packet" data-feature="packet">Packet</option>
|
<option value="ft4" data-feature="wsjt-x">FT4</option>
|
||||||
</select>
|
<option value="packet" data-feature="packet">Packet</option>
|
||||||
<div id="openwebrx-secondary-demod-dial-button" class="openwebrx-button openwebrx-dial-button" onclick="dial_button_click();">
|
</select>
|
||||||
<svg version="1.1" id="Layer_1" x="0px" y="0px" width="246px" height="246px" viewBox="0 0 246 246" xmlns="http://www.w3.org/2000/svg">
|
<div id="openwebrx-secondary-demod-dial-button" class="openwebrx-button openwebrx-dial-button" onclick="dial_button_click();">
|
||||||
<g id="ph_dial_1_" transform="matrix(1, 0, 0, 1, -45.398312, -50.931698)">
|
<svg version="1.1" id="Layer_1" x="0px" y="0px" width="246px" height="246px" viewBox="0 0 246 246" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path id="ph_dial" d="M238.875,190.125c3.853,7.148,34.267,4.219,50.242,2.145c0.891-5.977,1.508-12.043,1.508-18.27 c0-67.723-54.901-122.625-122.625-122.625c-67.723,0-122.625,54.902-122.625,122.625c0,67.723,54.902,122.625,122.625,122.625 c51.06,0,94.797-31.227,113.25-75.609c-13.969-9.668-41.625-18.891-41.625-18.891c-5.25,0-10.5-3-12.75-8.25 S233.625,180.375,238.875,190.125z M220.465,175.313c0,28.478-23.086,51.563-51.563,51.563c-28.478,0-51.563-23.086-51.563-51.563 c0-28.477,23.086-51.563,51.563-51.563C197.379,123.75,220.465,146.836,220.465,175.313z M185.25,64.125 c10.563,0,19.125,8.563,19.125,19.125s-8.563,19.125-19.125,19.125c-10.562,0-19.125-8.563-19.125-19.125 S174.688,64.125,185.25,64.125z M142.875,69C153.438,69,162,77.563,162,88.125s-8.563,19.125-19.125,19.125 c-10.562,0-19.125-8.563-19.125-19.125S132.313,69,142.875,69z M106.5,91.875c10.563,0,19.125,8.563,19.125,19.125 s-8.563,19.125-19.125,19.125c-10.562,0-19.125-8.562-19.125-19.125S95.938,91.875,106.5,91.875z M81.375,126.75 c10.563,0,19.125,8.563,19.125,19.125S91.938,165,81.375,165c-10.563,0-19.125-8.563-19.125-19.125S70.813,126.75,81.375,126.75z M58.125,188.625c0-10.559,8.563-19.125,19.125-19.125c10.563,0,19.125,8.566,19.125,19.125S87.813,207.75,77.25,207.75 C66.687,207.75,58.125,199.184,58.125,188.625z M75.75,229.875c0-10.559,8.563-19.125,19.125-19.125 c10.563,0,19.125,8.566,19.125,19.125S105.438,249,94.875,249C84.312,249,75.75,240.434,75.75,229.875z M126.375,276 c-10.563,0-19.125-8.566-19.125-19.125s8.563-19.125,19.125-19.125c10.563,0,19.125,8.566,19.125,19.125S136.938,276,126.375,276z M168,288c-10.563,0-19.125-8.566-19.125-19.125S157.438,249.75,168,249.75c10.563,0,19.125,8.566,19.125,19.125 S178.563,288,168,288z M210.375,276c-10.563,0-19.125-8.566-19.125-19.125s8.563-19.125,19.125-19.125 c10.563,0,19.125,8.566,19.125,19.125S220.938,276,210.375,276z M243.375,210.75c10.563,0,19.125,8.566,19.125,19.125 S253.938,249,243.375,249c-10.563,0-19.125-8.566-19.125-19.125S232.813,210.75,243.375,210.75z"/>
|
<g id="ph_dial_1_" transform="matrix(1, 0, 0, 1, -45.398312, -50.931698)">
|
||||||
</g>
|
<path id="ph_dial" d="M238.875,190.125c3.853,7.148,34.267,4.219,50.242,2.145c0.891-5.977,1.508-12.043,1.508-18.27 c0-67.723-54.901-122.625-122.625-122.625c-67.723,0-122.625,54.902-122.625,122.625c0,67.723,54.902,122.625,122.625,122.625 c51.06,0,94.797-31.227,113.25-75.609c-13.969-9.668-41.625-18.891-41.625-18.891c-5.25,0-10.5-3-12.75-8.25 S233.625,180.375,238.875,190.125z M220.465,175.313c0,28.478-23.086,51.563-51.563,51.563c-28.478,0-51.563-23.086-51.563-51.563 c0-28.477,23.086-51.563,51.563-51.563C197.379,123.75,220.465,146.836,220.465,175.313z M185.25,64.125 c10.563,0,19.125,8.563,19.125,19.125s-8.563,19.125-19.125,19.125c-10.562,0-19.125-8.563-19.125-19.125 S174.688,64.125,185.25,64.125z M142.875,69C153.438,69,162,77.563,162,88.125s-8.563,19.125-19.125,19.125 c-10.562,0-19.125-8.563-19.125-19.125S132.313,69,142.875,69z M106.5,91.875c10.563,0,19.125,8.563,19.125,19.125 s-8.563,19.125-19.125,19.125c-10.562,0-19.125-8.562-19.125-19.125S95.938,91.875,106.5,91.875z M81.375,126.75 c10.563,0,19.125,8.563,19.125,19.125S91.938,165,81.375,165c-10.563,0-19.125-8.563-19.125-19.125S70.813,126.75,81.375,126.75z M58.125,188.625c0-10.559,8.563-19.125,19.125-19.125c10.563,0,19.125,8.566,19.125,19.125S87.813,207.75,77.25,207.75 C66.687,207.75,58.125,199.184,58.125,188.625z M75.75,229.875c0-10.559,8.563-19.125,19.125-19.125 c10.563,0,19.125,8.566,19.125,19.125S105.438,249,94.875,249C84.312,249,75.75,240.434,75.75,229.875z M126.375,276 c-10.563,0-19.125-8.566-19.125-19.125s8.563-19.125,19.125-19.125c10.563,0,19.125,8.566,19.125,19.125S136.938,276,126.375,276z M168,288c-10.563,0-19.125-8.566-19.125-19.125S157.438,249.75,168,249.75c10.563,0,19.125,8.566,19.125,19.125 S178.563,288,168,288z M210.375,276c-10.563,0-19.125-8.566-19.125-19.125s8.563-19.125,19.125-19.125 c10.563,0,19.125,8.566,19.125,19.125S220.938,276,210.375,276z M243.375,210.75c10.563,0,19.125,8.566,19.125,19.125 S253.938,249,243.375,249c-10.563,0-19.125-8.566-19.125-19.125S232.813,210.75,243.375,210.75z"/>
|
||||||
</svg>
|
</g>
|
||||||
</div>
|
</svg>
|
||||||
</div>
|
|
||||||
<div class="openwebrx-panel-line">
|
|
||||||
<div title="Mute on/off" id="openwebrx-mute-off" class="openwebrx-button" onclick="toggleMute();"><img src="static/gfx/openwebrx-speaker.png" class="openwebrx-sliderbtn-img" id="openwebrx-mute-img"></div>
|
|
||||||
<input title="Volume" id="openwebrx-panel-volume" class="openwebrx-panel-slider" type="range" min="0" max="150" value="50" step="1" onchange="updateVolume()" oninput="updateVolume()">
|
|
||||||
<div title="Auto-adjust waterfall colors" id="openwebrx-waterfall-colors-auto" class="openwebrx-button" onclick="waterfall_measure_minmax_now=true;"><img src="static/gfx/openwebrx-waterfall-auto.png" class="openwebrx-sliderbtn-img"></div>
|
|
||||||
<input title="Waterfall minimum level" id="openwebrx-waterfall-color-min" class="openwebrx-panel-slider" type="range" min="-200" max="100" value="50" step="1" onchange="updateWaterfallColors(0);" oninput="updateVolume()">
|
|
||||||
</div>
|
|
||||||
<div class="openwebrx-panel-line">
|
|
||||||
<div title="Auto-set squelch level" id="openwebrx-squelch-default" class="openwebrx-button" onclick="setSquelchToAuto()"><img src="static/gfx/openwebrx-squelch-button.png" class="openwebrx-sliderbtn-img"></div>
|
|
||||||
<input title="Squelch" id="openwebrx-panel-squelch" class="openwebrx-panel-slider" type="range" min="-150" max="0" value="-150" step="1" onchange="updateSquelch()" oninput="updateSquelch()">
|
|
||||||
<div title="Set waterfall colors to default" id="openwebrx-waterfall-colors-default" class="openwebrx-button" onclick="waterfallColorsDefault()"><img src="static/gfx/openwebrx-waterfall-default.png" class="openwebrx-sliderbtn-img"></div>
|
|
||||||
<input title="Waterfall maximum level" id="openwebrx-waterfall-color-max" class="openwebrx-panel-slider" type="range" min="-200" max="100" value="50" step="1" onchange="updateWaterfallColors(1);" oninput="updateVolume()">
|
|
||||||
</div>
|
|
||||||
<div class="openwebrx-panel-line">
|
|
||||||
<div class="openwebrx-button openwebrx-square-button" onclick="zoomInOneStep();" title="Zoom in one step"> <img src="static/gfx/openwebrx-zoom-in.png" /></div>
|
|
||||||
<div class="openwebrx-button openwebrx-square-button" onclick="zoomOutOneStep();" title="Zoom out one step"> <img src="static/gfx/openwebrx-zoom-out.png" /></div>
|
|
||||||
<div class="openwebrx-button openwebrx-square-button" onclick="zoomInTotal();" title="Zoom in totally"><img src="static/gfx/openwebrx-zoom-in-total.png" /></div>
|
|
||||||
<div class="openwebrx-button openwebrx-square-button" onclick="zoomOutTotal();" title="Zoom out totally"><img src="static/gfx/openwebrx-zoom-out-total.png" /></div>
|
|
||||||
<div class="openwebrx-button openwebrx-square-button" onclick="mathbox_toggle();" title="Toggle 3D view"><img src="static/gfx/openwebrx-3d-spectrum.png" /></div>
|
|
||||||
<div id="openwebrx-smeter-db">0 dB</div>
|
|
||||||
</div>
|
|
||||||
<div class="openwebrx-panel-line">
|
|
||||||
<div id="openwebrx-smeter-outer">
|
|
||||||
<div id="openwebrx-smeter-bar"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="openwebrx-panel" id="openwebrx-panel-log" data-panel-name="debug" data-panel-pos="left" data-panel-order="1" data-panel-size="619,137">
|
<div class="openwebrx-panel-line">
|
||||||
<div class="openwebrx-panel-inner nano" id="openwebrx-log-scroll">
|
<div title="Mute on/off" id="openwebrx-mute-off" class="openwebrx-button" onclick="toggleMute();"><img src="static/gfx/openwebrx-speaker.png" class="openwebrx-sliderbtn-img" id="openwebrx-mute-img"></div>
|
||||||
<div class="nano-content">
|
<input title="Volume" id="openwebrx-panel-volume" class="openwebrx-panel-slider" type="range" min="0" max="150" value="50" step="1" onchange="updateVolume()" oninput="updateVolume()">
|
||||||
<div id="openwebrx-client-log-title">OpenWebRX client log</strong><span id="openwebrx-problems"></span></div>
|
<div title="Auto-adjust waterfall colors" id="openwebrx-waterfall-colors-auto" class="openwebrx-button" onclick="waterfall_measure_minmax_now=true;"><img src="static/gfx/openwebrx-waterfall-auto.png" class="openwebrx-sliderbtn-img"></div>
|
||||||
<span id="openwebrx-client-1">Author: </span><a href="http://blog.sdr.hu/about" target="_blank">András Retzler, HA7ILM</a><br />You can support OpenWebRX development via <a href="http://blog.sdr.hu/support" target="_blank">PayPal!</a><br/>
|
<input title="Waterfall minimum level" id="openwebrx-waterfall-color-min" class="openwebrx-panel-slider" type="range" min="-200" max="100" value="50" step="1" onchange="updateWaterfallColors(0);" oninput="updateVolume()">
|
||||||
<div id="openwebrx-debugdiv"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="openwebrx-panel" id="openwebrx-panel-status" data-panel-name="status" data-panel-pos="left" data-panel-order="0" data-panel-size="615,50" data-panel-transparent="true">
|
<div class="openwebrx-panel-line">
|
||||||
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-buffer"> <span class="openwebrx-progressbar-text">Audio buffer [0 ms]</span><div class="openwebrx-progressbar-bar"></div></div>
|
<div title="Auto-set squelch level" id="openwebrx-squelch-default" class="openwebrx-button" onclick="setSquelchToAuto()"><img src="static/gfx/openwebrx-squelch-button.png" class="openwebrx-sliderbtn-img"></div>
|
||||||
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-output"> <span class="openwebrx-progressbar-text">Audio output [0 sps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
<input title="Squelch" id="openwebrx-panel-squelch" class="openwebrx-panel-slider" type="range" min="-150" max="0" value="-150" step="1" onchange="updateSquelch()" oninput="updateSquelch()">
|
||||||
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-speed"> <span class="openwebrx-progressbar-text">Audio stream [0 kbps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
<div title="Set waterfall colors to default" id="openwebrx-waterfall-colors-default" class="openwebrx-button" onclick="waterfallColorsDefault()"><img src="static/gfx/openwebrx-waterfall-default.png" class="openwebrx-sliderbtn-img"></div>
|
||||||
<div class="openwebrx-progressbar" id="openwebrx-bar-network-speed"> <span class="openwebrx-progressbar-text">Network usage [0 kbps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
<input title="Waterfall maximum level" id="openwebrx-waterfall-color-max" class="openwebrx-panel-slider" type="range" min="-200" max="100" value="50" step="1" onchange="updateWaterfallColors(1);" oninput="updateVolume()">
|
||||||
<div class="openwebrx-progressbar" id="openwebrx-bar-server-cpu"> <span class="openwebrx-progressbar-text">Server CPU [0%]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
||||||
<div class="openwebrx-progressbar" id="openwebrx-bar-clients"> <span class="openwebrx-progressbar-text">Clients [1]</span><div class="openwebrx-progressbar-bar"></div></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="openwebrx-panel" data-panel-name="client-under-devel" data-panel-pos="left" data-panel-order="9" data-panel-size="245,55" style="background-color: Red;">
|
<div class="openwebrx-panel-line">
|
||||||
<span style="font-size: 15pt; font-weight: bold;">Under construction</span>
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomInOneStep();" title="Zoom in one step"> <img src="static/gfx/openwebrx-zoom-in.png" /></div>
|
||||||
<br />We're working on the code right now, so the application might fail.
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomOutOneStep();" title="Zoom out one step"> <img src="static/gfx/openwebrx-zoom-out.png" /></div>
|
||||||
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomInTotal();" title="Zoom in totally"><img src="static/gfx/openwebrx-zoom-in-total.png" /></div>
|
||||||
|
<div class="openwebrx-button openwebrx-square-button" onclick="zoomOutTotal();" title="Zoom out totally"><img src="static/gfx/openwebrx-zoom-out-total.png" /></div>
|
||||||
|
<div class="openwebrx-button openwebrx-square-button" onclick="mathbox_toggle();" title="Toggle 3D view"><img src="static/gfx/openwebrx-3d-spectrum.png" /></div>
|
||||||
|
<div id="openwebrx-smeter-db">0 dB</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="openwebrx-panel" id="openwebrx-panel-digimodes" data-panel-name="digimodes" data-panel-pos="left" data-panel-order="3" data-panel-size="619,210">
|
<div class="openwebrx-panel-line">
|
||||||
<div id="openwebrx-digimode-canvas-container">
|
<div id="openwebrx-smeter-outer">
|
||||||
<div id="openwebrx-digimode-select-channel"></div>
|
<div id="openwebrx-smeter-bar"></div>
|
||||||
</div>
|
|
||||||
<div id="openwebrx-digimode-content-container">
|
|
||||||
<div class="gradient"></div>
|
|
||||||
<div id="openwebrx-digimode-content">
|
|
||||||
<span id="openwebrx-cursor-blink"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table class="openwebrx-panel" id="openwebrx-panel-wsjt-message" data-panel-name="wsjt-message" data-panel-pos="left" data-panel-order="2" data-panel-size="619,200">
|
|
||||||
<thead><tr>
|
|
||||||
<th>UTC</th>
|
|
||||||
<th class="decimal">dB</th>
|
|
||||||
<th class="decimal">DT</th>
|
|
||||||
<th class="decimal freq">Freq</th>
|
|
||||||
<th class="message">Message</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody></tbody>
|
|
||||||
</table>
|
|
||||||
<table class="openwebrx-panel" id="openwebrx-panel-packet-message" data-panel-name="aprs-message" data-panel-pos="left" data-panel-order="2" data-panel-size="619,200">
|
|
||||||
<thead><tr>
|
|
||||||
<th>UTC</th>
|
|
||||||
<th class="callsign">Callsign</th>
|
|
||||||
<th class="coord">Coord</th>
|
|
||||||
<th class="message">Comment</th>
|
|
||||||
</tr></thead>
|
|
||||||
<tbody></tbody>
|
|
||||||
</table>
|
|
||||||
<div class="openwebrx-panel openwebrx-meta-panel" id="openwebrx-panel-metadata-ysf" data-panel-name="metadata-ysf" data-panel-pos="left" data-panel-order="2" data-panel-size="145,220">
|
|
||||||
<div class="openwebrx-meta-frame">
|
|
||||||
<div class="openwebrx-meta-slot">
|
|
||||||
<div class="openwebrx-ysf-mode openwebrx-meta-autoclear"></div>
|
|
||||||
<div class="openwebrx-meta-user-image"></div>
|
|
||||||
<div class="openwebrx-ysf-source openwebrx-meta-autoclear"></div>
|
|
||||||
<div class="openwebrx-ysf-up openwebrx-meta-autoclear"></div>
|
|
||||||
<div class="openwebrx-ysf-down openwebrx-meta-autoclear"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="openwebrx-panel openwebrx-meta-panel" id="openwebrx-panel-metadata-dmr" data-panel-name="metadata-dmr" data-panel-pos="left" data-panel-order="2" data-panel-size="300,220">
|
|
||||||
<div class="openwebrx-meta-frame">
|
|
||||||
<div class="openwebrx-meta-slot openwebrx-dmr-timeslot-panel">
|
|
||||||
<div class="openwebrx-dmr-slot">Timeslot 1</div>
|
|
||||||
<div class="openwebrx-meta-user-image"></div>
|
|
||||||
<div class="openwebrx-dmr-id openwebrx-meta-autoclear"></div>
|
|
||||||
<div class="openwebrx-dmr-name openwebrx-meta-autoclear"></div>
|
|
||||||
<div class="openwebrx-dmr-target openwebrx-meta-autoclear"></div>
|
|
||||||
</div>
|
|
||||||
<div class="openwebrx-meta-slot openwebrx-dmr-timeslot-panel">
|
|
||||||
<div class="openwebrx-dmr-slot">Timeslot 2</div>
|
|
||||||
<div class="openwebrx-meta-user-image"></div>
|
|
||||||
<div class="openwebrx-dmr-id openwebrx-meta-autoclear"></div>
|
|
||||||
<div class="openwebrx-dmr-name openwebrx-meta-autoclear"></div>
|
|
||||||
<div class="openwebrx-dmr-target openwebrx-meta-autoclear"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="openwebrx-panel" id="openwebrx-panel-log" data-panel-name="debug" data-panel-pos="left" data-panel-order="1" data-panel-size="619,137">
|
||||||
|
<div class="openwebrx-panel-inner nano" id="openwebrx-log-scroll">
|
||||||
|
<div class="nano-content">
|
||||||
|
<div id="openwebrx-client-log-title">OpenWebRX client log</strong><span id="openwebrx-problems"></span></div>
|
||||||
|
<span id="openwebrx-client-1">Author: </span><a href="http://blog.sdr.hu/about" target="_blank">András Retzler, HA7ILM</a><br />You can support OpenWebRX development via <a href="http://blog.sdr.hu/support" target="_blank">PayPal!</a><br/>
|
||||||
|
<div id="openwebrx-debugdiv"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="openwebrx-panel" id="openwebrx-panel-status" data-panel-name="status" data-panel-pos="left" data-panel-order="0" data-panel-size="615,50" data-panel-transparent="true">
|
||||||
|
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-buffer"> <span class="openwebrx-progressbar-text">Audio buffer [0 ms]</span><div class="openwebrx-progressbar-bar"></div></div>
|
||||||
|
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-output"> <span class="openwebrx-progressbar-text">Audio output [0 sps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
||||||
|
<div class="openwebrx-progressbar" id="openwebrx-bar-audio-speed"> <span class="openwebrx-progressbar-text">Audio stream [0 kbps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
||||||
|
<div class="openwebrx-progressbar" id="openwebrx-bar-network-speed"> <span class="openwebrx-progressbar-text">Network usage [0 kbps]</span><div class="openwebrx-progressbar-bar"></div></div>
|
||||||
|
<div class="openwebrx-progressbar" id="openwebrx-bar-server-cpu"> <span class="openwebrx-progressbar-text">Server CPU [0%]</span><div class="openwebrx-progressbar-bar"></div></div>
|
||||||
|
<div class="openwebrx-progressbar" id="openwebrx-bar-clients"> <span class="openwebrx-progressbar-text">Clients [1]</span><div class="openwebrx-progressbar-bar"></div></div>
|
||||||
|
</div>
|
||||||
|
<div class="openwebrx-panel" data-panel-name="client-under-devel" data-panel-pos="left" data-panel-order="9" data-panel-size="245,55" style="background-color: Red;">
|
||||||
|
<span style="font-size: 15pt; font-weight: bold;">Under construction</span>
|
||||||
|
<br />We're working on the code right now, so the application might fail.
|
||||||
|
</div>
|
||||||
|
<div class="openwebrx-panel" id="openwebrx-panel-digimodes" data-panel-name="digimodes" data-panel-pos="left" data-panel-order="3" data-panel-size="619,210">
|
||||||
|
<div id="openwebrx-digimode-canvas-container">
|
||||||
|
<div id="openwebrx-digimode-select-channel"></div>
|
||||||
|
</div>
|
||||||
|
<div id="openwebrx-digimode-content-container">
|
||||||
|
<div class="gradient"></div>
|
||||||
|
<div id="openwebrx-digimode-content">
|
||||||
|
<span id="openwebrx-cursor-blink"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="openwebrx-panel" id="openwebrx-panel-wsjt-message" data-panel-name="wsjt-message" data-panel-pos="left" data-panel-order="2" data-panel-size="619,200">
|
||||||
|
<thead><tr>
|
||||||
|
<th>UTC</th>
|
||||||
|
<th class="decimal">dB</th>
|
||||||
|
<th class="decimal">DT</th>
|
||||||
|
<th class="decimal freq">Freq</th>
|
||||||
|
<th class="message">Message</th>
|
||||||
|
</tr></thead>
|
||||||
|
<tbody></tbody>
|
||||||
|
</table>
|
||||||
|
<table class="openwebrx-panel" id="openwebrx-panel-packet-message" data-panel-name="aprs-message" data-panel-pos="left" data-panel-order="2" data-panel-size="619,200">
|
||||||
|
<thead><tr>
|
||||||
|
<th>UTC</th>
|
||||||
|
<th class="callsign">Callsign</th>
|
||||||
|
<th class="coord">Coord</th>
|
||||||
|
<th class="message">Comment</th>
|
||||||
|
</tr></thead>
|
||||||
|
<tbody></tbody>
|
||||||
|
</table>
|
||||||
|
<div class="openwebrx-panel openwebrx-meta-panel" id="openwebrx-panel-metadata-ysf" data-panel-name="metadata-ysf" data-panel-pos="left" data-panel-order="2" data-panel-size="145,220">
|
||||||
|
<div class="openwebrx-meta-frame">
|
||||||
|
<div class="openwebrx-meta-slot">
|
||||||
|
<div class="openwebrx-ysf-mode openwebrx-meta-autoclear"></div>
|
||||||
|
<div class="openwebrx-meta-user-image"></div>
|
||||||
|
<div class="openwebrx-ysf-source openwebrx-meta-autoclear"></div>
|
||||||
|
<div class="openwebrx-ysf-up openwebrx-meta-autoclear"></div>
|
||||||
|
<div class="openwebrx-ysf-down openwebrx-meta-autoclear"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="openwebrx-panel openwebrx-meta-panel" id="openwebrx-panel-metadata-dmr" data-panel-name="metadata-dmr" data-panel-pos="left" data-panel-order="2" data-panel-size="300,220">
|
||||||
|
<div class="openwebrx-meta-frame">
|
||||||
|
<div class="openwebrx-meta-slot openwebrx-dmr-timeslot-panel">
|
||||||
|
<div class="openwebrx-dmr-slot">Timeslot 1</div>
|
||||||
|
<div class="openwebrx-meta-user-image"></div>
|
||||||
|
<div class="openwebrx-dmr-id openwebrx-meta-autoclear"></div>
|
||||||
|
<div class="openwebrx-dmr-name openwebrx-meta-autoclear"></div>
|
||||||
|
<div class="openwebrx-dmr-target openwebrx-meta-autoclear"></div>
|
||||||
|
</div>
|
||||||
|
<div class="openwebrx-meta-slot openwebrx-dmr-timeslot-panel">
|
||||||
|
<div class="openwebrx-dmr-slot">Timeslot 2</div>
|
||||||
|
<div class="openwebrx-meta-user-image"></div>
|
||||||
|
<div class="openwebrx-dmr-id openwebrx-meta-autoclear"></div>
|
||||||
|
<div class="openwebrx-dmr-name openwebrx-meta-autoclear"></div>
|
||||||
|
<div class="openwebrx-dmr-target openwebrx-meta-autoclear"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="openwebrx-big-grey" onclick="iosPlayButtonClick();">
|
<div id="openwebrx-big-grey" onclick="iosPlayButtonClick();">
|
||||||
|
@ -904,6 +904,7 @@ function resize_scale()
|
|||||||
scale_ctx.canvas.width = window.innerWidth;
|
scale_ctx.canvas.width = window.innerWidth;
|
||||||
scale_ctx.canvas.height = 47;
|
scale_ctx.canvas.height = 47;
|
||||||
mkscale();
|
mkscale();
|
||||||
|
position_bookmarks();
|
||||||
}
|
}
|
||||||
|
|
||||||
function canvas_mouseover(evt)
|
function canvas_mouseover(evt)
|
||||||
@ -992,6 +993,7 @@ function canvas_mousemove(evt)
|
|||||||
canvas_drag_last_x=evt.pageX;
|
canvas_drag_last_x=evt.pageX;
|
||||||
canvas_drag_last_y=evt.pageY;
|
canvas_drag_last_y=evt.pageY;
|
||||||
mkscale();
|
mkscale();
|
||||||
|
position_bookmarks();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else e("webrx-mouse-freq").innerHTML=format_frequency("{x} MHz",canvas_get_frequency(relativeX),1e6,4);
|
else e("webrx-mouse-freq").innerHTML=format_frequency("{x} MHz",canvas_get_frequency(relativeX),1e6,4);
|
||||||
@ -1092,6 +1094,7 @@ function zoom_step(out, where, onscreen)
|
|||||||
//console.log(zoom_center_where, zoom_center_rel, where);
|
//console.log(zoom_center_where, zoom_center_rel, where);
|
||||||
resize_canvases(true);
|
resize_canvases(true);
|
||||||
mkscale();
|
mkscale();
|
||||||
|
position_bookmarks();
|
||||||
}
|
}
|
||||||
|
|
||||||
function zoom_set(level)
|
function zoom_set(level)
|
||||||
@ -1105,6 +1108,7 @@ function zoom_set(level)
|
|||||||
console.log(zoom_center_where, zoom_center_rel, -canvases[0].offsetLeft+canvas_container.clientWidth/2);
|
console.log(zoom_center_where, zoom_center_rel, -canvases[0].offsetLeft+canvas_container.clientWidth/2);
|
||||||
resize_canvases(true);
|
resize_canvases(true);
|
||||||
mkscale();
|
mkscale();
|
||||||
|
position_bookmarks();
|
||||||
}
|
}
|
||||||
|
|
||||||
function zoom_calc()
|
function zoom_calc()
|
||||||
@ -1256,6 +1260,9 @@ function on_ws_recv(evt)
|
|||||||
case "aprs_data":
|
case "aprs_data":
|
||||||
update_packet_panel(json.value);
|
update_packet_panel(json.value);
|
||||||
break;
|
break;
|
||||||
|
case "bookmarks":
|
||||||
|
update_bookmarks(json.value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
console.warn('received message of unknown type: ' + json.type);
|
console.warn('received message of unknown type: ' + json.type);
|
||||||
}
|
}
|
||||||
@ -1321,6 +1328,24 @@ function on_ws_recv(evt)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_bookmarks(bookmarks) {
|
||||||
|
$container = $('#openwebrx-bookmarks-container');
|
||||||
|
$container.empty();
|
||||||
|
bookmarks.forEach(function(b){
|
||||||
|
$bookmark = $('<div class="bookmark-locator"><div class="bookmark">' + b.name + '</div></div>');
|
||||||
|
$bookmark.data(b);
|
||||||
|
$container.append($bookmark);
|
||||||
|
});
|
||||||
|
position_bookmarks();
|
||||||
|
}
|
||||||
|
|
||||||
|
function position_bookmarks() {
|
||||||
|
range = get_visible_freq_range();
|
||||||
|
$('#openwebrx-bookmarks-container .bookmark-locator').each(function(){
|
||||||
|
$(this).css('left', scale_px_from_freq($(this).data('frequency'), range));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
var dial_frequencies = [];
|
var dial_frequencies = [];
|
||||||
|
|
||||||
function find_dial_frequencies() {
|
function find_dial_frequencies() {
|
||||||
|
Loading…
Reference in New Issue
Block a user