more jquery magic for progressbars
This commit is contained in:
		| @@ -134,12 +134,12 @@ | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div class="openwebrx-panel" id="openwebrx-panel-status" data-panel-name="status" style="width: 615px;" data-panel-transparent="true"> | ||||
|                 <div class="openwebrx-progressbar" id="openwebrx-bar-audio-buffer" data-type="audiobuffer"> <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" data-type="audiooutput"> <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" data-type="audiospeed"> <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" data-type="networkspeed"> <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" data-type="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" data-type="clients"> <span class="openwebrx-progressbar-text">Clients [1]</span><div class="openwebrx-progressbar-bar"></div></div> | ||||
|                 <div class="openwebrx-progressbar" id="openwebrx-bar-audio-buffer" data-type="audiobuffer"></div> | ||||
|                 <div class="openwebrx-progressbar" id="openwebrx-bar-audio-output" data-type="audiooutput"></div> | ||||
|                 <div class="openwebrx-progressbar" id="openwebrx-bar-audio-speed" data-type="audiospeed"></div> | ||||
|                 <div class="openwebrx-progressbar" id="openwebrx-bar-network-speed" data-type="networkspeed"></div> | ||||
|                 <div class="openwebrx-progressbar" id="openwebrx-bar-server-cpu" data-type="cpu"></div> | ||||
|                 <div class="openwebrx-progressbar" id="openwebrx-bar-clients" data-type="clients"></div> | ||||
|             </div> | ||||
|         </div> | ||||
|         <div id="openwebrx-panels-container-right"> | ||||
|   | ||||
| @@ -1,10 +1,15 @@ | ||||
| ProgressBar = function(el) { | ||||
|     this.$el = $(el); | ||||
|     this.$innerText = this.$el.find('.openwebrx-progressbar-text'); | ||||
|     this.$innerBar = this.$el.find('.openwebrx-progressbar-bar'); | ||||
|     this.$innerText = $('<span class="openwebrx-progressbar-text">' + this.getDefaultText() + '</span>'); | ||||
|     this.$innerBar = $('<div class="openwebrx-progressbar-bar"></div>'); | ||||
|     this.$el.empty().append(this.$innerText, this.$innerBar); | ||||
|     this.$innerBar.css('width', '0%'); | ||||
| }; | ||||
|  | ||||
| ProgressBar.prototype.getDefaultText = function() { | ||||
|     return ''; | ||||
| } | ||||
|  | ||||
| ProgressBar.prototype.set = function(val, text, over) { | ||||
|     this.setValue(val); | ||||
|     this.setText(text); | ||||
| @@ -31,6 +36,10 @@ AudioBufferProgressBar = function(el) { | ||||
|  | ||||
| AudioBufferProgressBar.prototype = new ProgressBar(); | ||||
|  | ||||
| AudioBufferProgressBar.prototype.getDefaultText = function() { | ||||
|     return 'Audio buffer [0 ms]'; | ||||
| }; | ||||
|  | ||||
| AudioBufferProgressBar.prototype.setSampleRate = function(sampleRate) { | ||||
|     this.sampleRate = sampleRate; | ||||
| }; | ||||
| @@ -56,6 +65,10 @@ NetworkSpeedProgressBar = function(el) { | ||||
|  | ||||
| NetworkSpeedProgressBar.prototype = new ProgressBar(); | ||||
|  | ||||
| NetworkSpeedProgressBar.prototype.getDefaultText = function() { | ||||
|     return 'Network usage [0 kbps]'; | ||||
| }; | ||||
|  | ||||
| NetworkSpeedProgressBar.prototype.setSpeed = function(speed) { | ||||
|     var speedInKilobits = speed * 8 / 1000; | ||||
|     this.set(speedInKilobits / 2000, "Network usage [" + speedInKilobits.toFixed(1) + " kbps]", false); | ||||
| @@ -67,6 +80,10 @@ AudioSpeedProgressBar = function(el) { | ||||
|  | ||||
| AudioSpeedProgressBar.prototype = new ProgressBar(); | ||||
|  | ||||
| AudioSpeedProgressBar.prototype.getDefaultText = function() { | ||||
|     return 'Audio stream [0 kbps]'; | ||||
| }; | ||||
|  | ||||
| AudioSpeedProgressBar.prototype.setSpeed = function(speed) { | ||||
|     this.set(speed / 500000, "Audio stream [" + (speed / 1000).toFixed(0) + " kbps]", false); | ||||
| }; | ||||
| @@ -77,6 +94,10 @@ AudioOutputProgressBar = function(el, sampleRate) { | ||||
|  | ||||
| AudioOutputProgressBar.prototype = new ProgressBar(); | ||||
|  | ||||
| AudioOutputProgressBar.prototype.getDefaultText = function() { | ||||
|     return 'Audio output [0 sps]'; | ||||
| }; | ||||
|  | ||||
| AudioOutputProgressBar.prototype.setSampleRate = function(sampleRate) { | ||||
|     this.maxRate = sampleRate * 1.25; | ||||
|     this.minRate = sampleRate * .25; | ||||
| @@ -94,6 +115,10 @@ ClientsProgressBar = function(el) { | ||||
|  | ||||
| ClientsProgressBar.prototype = new ProgressBar(); | ||||
|  | ||||
| ClientsProgressBar.prototype.getDefaultText = function() { | ||||
|     return 'Clients [1]'; | ||||
| }; | ||||
|  | ||||
| ClientsProgressBar.prototype.setClients = function(clients) { | ||||
|     this.clients = clients; | ||||
|     this.render(); | ||||
| @@ -114,6 +139,10 @@ CpuProgressBar = function(el) { | ||||
|  | ||||
| CpuProgressBar.prototype = new ProgressBar(); | ||||
|  | ||||
| CpuProgressBar.prototype.getDefaultText = function() { | ||||
|     return 'Server CPU [0%]'; | ||||
| }; | ||||
|  | ||||
| CpuProgressBar.prototype.setUsage = function(usage) { | ||||
|     this.set(usage, "Server CPU [" + Math.round(usage * 100) + "%]", usage > .85); | ||||
| }; | ||||
|   | ||||
| @@ -1353,9 +1353,12 @@ function init_header() { | ||||
| } | ||||
|  | ||||
| function initProgressBars() { | ||||
|     $('#openwebrx-bar-audio-buffer, #openwebrx-bar-audio-output').each(function() { | ||||
|         $(this).progressbar().setSampleRate(audioEngine.getSampleRate()); | ||||
|     }); | ||||
|     $(".openwebrx-progressbar").each(function(){ | ||||
|         var bar = $(this).progressbar(); | ||||
|         if ('setSampleRate' in bar) { | ||||
|             bar.setSampleRate(audioEngine.getSampleRate()); | ||||
|         } | ||||
|     }) | ||||
| } | ||||
|  | ||||
| function audioReporter(stats) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jakob Ketterl
					Jakob Ketterl