Rearranged some code into getY
This commit is contained in:
parent
726ba4023b
commit
3e833b3bdc
@ -1795,17 +1795,28 @@ var mathbox_clear_data = function()
|
|||||||
mathbox_data_current_depth = 0;
|
mathbox_data_current_depth = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
var mathbox_get_data_line = function(x) //x counts from 0 to mathbox_data_current_depth
|
//var mathbox_get_data_line = function(x) //x counts from 0 to mathbox_data_current_depth
|
||||||
|
//{
|
||||||
|
// return (mathbox_data_max_depth + mathbox_data_index - mathbox_data_current_depth + x - 1) % mathbox_data_max_depth;
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//var mathbox_data_index_valid = function(x) //x counts from 0 to mathbox_data_current_depth
|
||||||
|
//{
|
||||||
|
// return x<mathbox_data_current_depth;
|
||||||
|
//}
|
||||||
|
|
||||||
|
var mathbox_get_data_line = function(x)
|
||||||
{
|
{
|
||||||
return (mathbox_data_max_depth + mathbox_data_index - mathbox_data_current_depth + x - 1) % mathbox_data_max_depth;
|
return (mathbox_data_max_depth + mathbox_data_index + x - 1) % mathbox_data_max_depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
var mathbox_data_index_valid = function(x) //x counts from 0 to mathbox_data_current_depth
|
var mathbox_data_index_valid = function(x)
|
||||||
{
|
{
|
||||||
return x<mathbox_data_current_depth;
|
return x>mathbox_data_max_depth-mathbox_data_current_depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function waterfall_add(data)
|
function waterfall_add(data)
|
||||||
{
|
{
|
||||||
if(!waterfall_setup_done) return;
|
if(!waterfall_setup_done) return;
|
||||||
@ -1998,23 +2009,31 @@ function mathbox_init()
|
|||||||
|
|
||||||
//var remap = function (v) { return Math.sqrt(.5 + .5 * v); };
|
//var remap = function (v) { return Math.sqrt(.5 + .5 * v); };
|
||||||
|
|
||||||
var points = view.area({
|
var getY = function(x,z)
|
||||||
expr: function (emit, x, z, i, j, t) {
|
{
|
||||||
var xIndex = ((x+1)/2.0)*fft_size; //x: frequency
|
var xIndex = Math.trunc(((x+1)/2.0)*fft_size); //x: frequency
|
||||||
var zIndex = z*(mathbox_data_max_depth-1); //z: time
|
var zIndex = Math.trunc(z*(mathbox_data_max_depth-1)); //z: time
|
||||||
var realZIndex = mathbox_get_data_line(zIndex);
|
var realZIndex = mathbox_get_data_line(zIndex);
|
||||||
if(!mathbox_data_index_valid(zIndex)) return;
|
if(!mathbox_data_index_valid(zIndex)) return undefined;
|
||||||
if(realZIndex>=(mathbox_data_max_depth-1)) console.log("realZIndexundef", realZIndex, zIndex);
|
//if(realZIndex>=(mathbox_data_max_depth-1)) console.log("realZIndexundef", realZIndex, zIndex);
|
||||||
var index = Math.trunc(xIndex + realZIndex * fft_size);
|
var index = Math.trunc(xIndex + realZIndex * fft_size);
|
||||||
if(mathbox_data[index]==undefined) console.log("Undef", index, mathbox_data.length, zIndex,
|
/*if(mathbox_data[index]==undefined) console.log("Undef", index, mathbox_data.length, zIndex,
|
||||||
realZIndex, mathbox_data_max_depth,
|
realZIndex, mathbox_data_max_depth,
|
||||||
mathbox_data_current_depth, mathbox_data_index);
|
mathbox_data_current_depth, mathbox_data_index);*/
|
||||||
var dBValue = mathbox_data[index];
|
var dBValue = mathbox_data[index];
|
||||||
|
//y=1;
|
||||||
if(dBValue>waterfall_max_level) y = 1;
|
if(dBValue>waterfall_max_level) y = 1;
|
||||||
else if(dBValue<waterfall_min_level) y = 0;
|
else if(dBValue<waterfall_min_level) y = 0;
|
||||||
else y = (dBValue-waterfall_min_level)/(waterfall_max_level-waterfall_min_level);
|
else y = (dBValue-waterfall_min_level)/(waterfall_max_level-waterfall_min_level);
|
||||||
if(!y) y=0;
|
|
||||||
mathbox_dbg = { dbv: dBValue, indexval: index, mbd: mathbox_data.length, yval: y };
|
mathbox_dbg = { dbv: dBValue, indexval: index, mbd: mathbox_data.length, yval: y };
|
||||||
|
if(!y) y=0;
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
var points = view.area({
|
||||||
|
expr: function (emit, x, z, i, j, t) {
|
||||||
|
var y;
|
||||||
|
if(!(y=getY(x,z))) return;
|
||||||
emit(x, y, z);
|
emit(x, y, z);
|
||||||
},
|
},
|
||||||
width: 32,
|
width: 32,
|
||||||
|
Loading…
Reference in New Issue
Block a user