File: echo.tcl

package info (click to toggle)
snack 2.2.10.20090623-dfsg-8
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,764 kB
  • sloc: ansic: 32,662; sh: 8,558; tcl: 1,086; python: 761; makefile: 582
file content (57 lines) | stat: -rwxr-xr-x 1,516 bytes parent folder | download | duplicates (12)
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
55
56
57
#!/bin/sh
# the next line restarts using wish \
exec wish8.3 "$0" "$@"

package require -exact snack 2.2

set f [snack::filter echo 0.6 0.6 30 0.4 50 0.3]

snack::sound s

pack [frame .f]

set v(iGain) 0.6
pack [scale .f.s1 -label InGain -from 1.0 -to 0.0 -resolution .01 \
	-variable v(iGain) -command Config] -side left

set v(oGain) 0.6
pack [scale .f.s2 -label OutGain -from 1.0 -to 0.0 -resolution .01 \
	-variable v(oGain) -command Config] -side left

set v(delay1) 30.0
pack [scale .f.s3 -label Delay1 -from 250.0 -to 10.0 -variable v(delay1) \
	-command Config] -side left 

set v(decay1) 0.4
pack [scale .f.s4 -label Decay1 -from 1.0 -to 0.0 -resolution .01 \
	-variable v(decay1) -command Config] -side left 

set v(delay2) 50.0
pack [scale .f.s5 -label Delay2 -from 250.0 -to 10.0 -variable v(delay2) \
	-command Config] -side left 

set v(decay2) 0.3
pack [scale .f.s6 -label Decay2 -from 1.0 -to 0.0 -resolution .01 \
	-variable v(decay2) -command Config] -side left 

snack::createIcons
pack [frame .fb]
pack [button .fb.a -image snackOpen -command Load] -side left
pack [button .fb.b -bitmap snackPlay -command Play] -side left
pack [button .fb.c -bitmap snackStop -command "s stop"] -side left

proc Config {args} {
  global f v
  $f configure $v(iGain) $v(oGain) $v(delay1) $v(decay1) $v(delay2) $v(decay2)
}

proc Play {} {
  s stop
  s play -filter $::f
}

proc Load {} {
  set file [snack::getOpenFile -initialdir [file dirname [s cget -file]]]
  if {$file == ""} return
  s config -file $file
}