@@ -10,7 +10,7 @@ import { PlayerCore, ICoreOptions, PlayerSound, ISoundAttributes } from 'web-aud
1010// library
1111import { PlayerUI } from './library/player/ui' ;
1212
13- /*function transformToVisualBins(array: [] ) {
13+ /*function transformToVisualBins(array: any ) {
1414
1515 let i;
1616 let spectrumSize = 63; // number of bars in the spectrum
@@ -33,15 +33,6 @@ import { PlayerUI } from './library/player/ui';
3333
3434}*/
3535
36- function transformToVisualBins ( Array : any ) {
37- Array = AverageTransform ( Array ) ;
38- Array = tailTransform ( Array ) ;
39- Array = exponentialTransform ( Array ) ;
40-
41- return Array ;
42- }
43-
44-
4536// canvas
4637let canvas = document . getElementById ( 'visualizer' ) as HTMLCanvasElement ;
4738let ctx = canvas . getContext ( '2d' ) ;
@@ -75,6 +66,54 @@ var headMarginSlope = (1 - minMarginWeight) / Math.pow(headMargin, marginDecay);
7566var spectrumHeight = 255 ;
7667var tailMarginSlope : number = 0 ;
7768
69+ function SpectrumEase ( Value : number ) {
70+ return Math . pow ( Value , SpectrumLogScale )
71+ }
72+
73+ function GetVisualBins ( Array : any ) {
74+ /*var NewArray = []
75+ for (var i = 0; i < SpectrumBarCount; i++) {
76+ var Bin = SpectrumEase(i / SpectrumBarCount) * (SpectrumEnd - SpectrumStart) + SpectrumStart;
77+ NewArray[i] = Array[Math.floor(Bin) + SpectrumStart] //* (Bin % 1)
78+ //+ Array[Math.floor(Bin + 1) + SpectrumStart] * (1 - (Bin % 1))
79+ }
80+ UpdateParticleAttributes(NewArray)
81+ return NewArray*/
82+
83+ var SamplePoints = [ ]
84+ var NewArray = [ ]
85+ for ( var i = 0 ; i < SpectrumBarCount ; i ++ ) {
86+ var Bin = SpectrumEase ( i / SpectrumBarCount ) * ( SpectrumEnd - SpectrumStart ) + SpectrumStart ;
87+ SamplePoints [ i ] = Math . floor ( Bin )
88+ }
89+
90+ for ( var i = 0 ; i < SpectrumBarCount ; i ++ ) {
91+ var CurSpot = SamplePoints [ i ]
92+ var NextSpot = SamplePoints [ i + 1 ]
93+ if ( NextSpot == null ) {
94+ NextSpot = SpectrumEnd
95+ }
96+
97+ var CurMax = Array [ CurSpot ]
98+ var Dif = NextSpot - CurSpot
99+ for ( var j = 1 ; j < Dif ; j ++ ) {
100+ CurMax = ( Array [ CurSpot + j ] + CurMax ) / 2
101+ }
102+ NewArray [ i ] = CurMax
103+ }
104+
105+ //UpdateParticleAttributes(NewArray)
106+ return NewArray
107+ }
108+
109+ function transformToVisualBins ( Array : any ) {
110+ Array = AverageTransform ( Array ) ;
111+ Array = tailTransform ( Array ) ;
112+ Array = exponentialTransform ( Array ) ;
113+
114+ return Array ;
115+ }
116+
78117function AverageTransform ( Array : any ) {
79118 var Values = [ ]
80119 var Length = Array . length
@@ -151,6 +190,7 @@ $(function () {
151190 visualizerAudioGraph . analyserNode . minDecibels = - 100 ;
152191 visualizerAudioGraph . analyserNode . maxDecibels = - 33 ;
153192 visualizerAudioGraph . analyserNode . fftSize = 16384 ;
193+ //visualizerAudioGraph.analyserNode.fftSize = 2048;
154194
155195 // connect the nodes
156196 visualizerAudioGraph . delayNode . connect ( audioContext . destination ) ;
@@ -180,9 +220,14 @@ $(function () {
180220
181221 console . log ( initialArray ) ;
182222
183- var binsArray = transformToVisualBins ( initialArray ) ;
223+ //var binsArray = transformToVisualBins(initialArray);
224+
225+ //console.log(binsArray);
226+
227+ var VisualData = GetVisualBins ( initialArray )
228+ var TransformedVisualData = transformToVisualBins ( VisualData )
184229
185- console . log ( binsArray ) ;
230+ console . log ( TransformedVisualData ) ;
186231
187232 ctx . clearRect ( 0 , 0 , canvas . width , canvas . height ) ; // Clear the canvas
188233 ctx . fillStyle = 'red' ; // Color of the bars
@@ -191,7 +236,7 @@ $(function () {
191236
192237 let bar_x = y * barWidth ;
193238 let bar_width = barWidth ;
194- let bar_height = binsArray [ y ] ;
239+ let bar_height = TransformedVisualData [ y ] ;
195240
196241 // fillRect( x, y, width, height ) // Explanation of the parameters below
197242 //ctx.fillRect(0, 0, canvas.width, canvas.height);
@@ -210,6 +255,8 @@ $(function () {
210255 let firstSoundAttributes : ISoundAttributes = {
211256 sources : '1314412&format=mp31' ,
212257 id : 1314412 ,
258+ //sources: '1214935&format=ogg1',
259+ //id: 1214935,
213260 playlistId : 0 ,
214261 onLoading : ( loadingProgress , maximumValue , currentValue ) => {
215262
0 commit comments