File: freej_equalizer.js

package info (click to toggle)
freej 0.10git20100110-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 32,080 kB
  • ctags: 22,705
  • sloc: cpp: 156,254; ansic: 25,531; sh: 13,538; perl: 4,624; makefile: 3,278; python: 2,889; objc: 1,284; asm: 1,125; ruby: 126
file content (54 lines) | stat: -rw-r--r-- 1,207 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// simple audio test reading out harmonics
// make sure jack is running and have a look at the connections
// also check the values (samplesize and samplerate) to match your conf
// -jrml

//set_resolution(W,H);

audio = new AudioJack("xine/out_1", 2048, 44100);

img = new ImageLayer();
img.open("../doc/ipernav.png");
img.activate(true);
img.set_fps();
img.start();
add_layer(img);
vtg = new Filter("vertigo");
img.add_filter(vtg);

kbd = new KeyboardController();
register_controller(kbd);
kbd.released_q = function() { quit(); }
kbd.released_r = function() {
    if(reset("freej_equalizer.js")) {
        rem_controller(this);
        echo("reset ok");
    }
    return true;
}

bang = new TriggerController();
bang.frame = function() {

    audio.fft();

    flash = 0;
    phase = (((audio.get_harmonic(8)
           + audio.get_harmonic(1) )
	     / 2 )
	      * 3 ) / 128;
    if(phase<1) phase = 0;
    zoom = (((audio.get_harmonic(8)
           + audio.get_harmonic(16) )
	     / 2 )
	      * 3 ) / 64;
    zoom = (audio.get_harmonic(16)*3)/64;
    if(zoom<1) zoom = 1;
    vtg.set_parameter("PhaseIncrement", phase);
    vtg.set_parameter("ZoomRate", zoom);
}


register_controller(bang);

gc();