~ubuntu-branches/ubuntu/utopic/glame/utopic

« back to all changes in this revision

Viewing changes to src/plugins/echo2.scm

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Kobras
  • Date: 2002-04-09 17:14:12 UTC
  • Revision ID: james.westby@ubuntu.com-20020409171412-jzpnov7mbz2w6zsr
Tags: upstream-0.6.2
ImportĀ upstreamĀ versionĀ 0.6.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(let ((newplugin (glame_plugin_define (let* ((net (filter-new))
 
2
        (extend (filter-add-node net (filter-new (plugin_get "extend")) "extend"))
 
3
        (mix (filter-add-node net (filter-new (plugin_get "mix")) "mix"))
 
4
        (one2n (filter-add-node net (filter-new (plugin_get "one2n")) "one2n"))
 
5
        (delay (filter-add-node net (filter-new (plugin_get "delay")) "delay"))
 
6
        (volume-adjust (filter-add-node net (filter-new (plugin_get "volume_adjust")) "volume-adjust")))
 
7
   (let ((param (call-with-current-continuation
 
8
                  (lambda (return)
 
9
                    (map (lambda (param)
 
10
                           (if (string=? (param-label param) "time")
 
11
                                (return param)))
 
12
                          (filter-params extend))))))
 
13
     (param-set! param 600.000000)
 
14
     (set-property! param "_desc" "extend time in ms"))
 
15
   (set-property! extend "canvas_y" "5.000000")
 
16
   (set-property! extend "canvas_x" "-265.000000")
 
17
   (let ((param (call-with-current-continuation
 
18
                  (lambda (return)
 
19
                    (map (lambda (param)
 
20
                           (if (string=? (param-label param) "position")
 
21
                                (return param)))
 
22
                          (filter-params mix))))))
 
23
     (param-set! param 0.000000))
 
24
   (let ((param (call-with-current-continuation
 
25
                  (lambda (return)
 
26
                    (map (lambda (param)
 
27
                           (if (string=? (param-label param) "gain")
 
28
                                (return param)))
 
29
                          (filter-params mix))))))
 
30
     (param-set! param 1.000000))
 
31
   (set-property! mix "canvas_y" "18.000000")
 
32
   (set-property! mix "canvas_x" "-96.000000")
 
33
   (set-property! one2n "canvas_y" "18.000000")
 
34
   (set-property! one2n "canvas_x" "161.000000")
 
35
   (let ((param (call-with-current-continuation
 
36
                  (lambda (return)
 
37
                    (map (lambda (param)
 
38
                           (if (string=? (param-label param) "delay")
 
39
                                (return param)))
 
40
                          (filter-params delay))))))
 
41
     (param-set! param 200.000000))
 
42
   (set-property! delay "canvas_y" "142.000000")
 
43
   (set-property! delay "canvas_x" "161.000000")
 
44
   (let ((param (call-with-current-continuation
 
45
                  (lambda (return)
 
46
                    (map (lambda (param)
 
47
                           (if (string=? (param-label param) "factor")
 
48
                                (return param)))
 
49
                          (filter-params volume-adjust))))))
 
50
     (param-set! param 0.700000))
 
51
   (set-property! volume-adjust "canvas_y" "125.000000")
 
52
   (set-property! volume-adjust "canvas_x" "-96.000000")
 
53
   (filternetwork_add_input net extend "in" "in" "echo source")
 
54
   (filternetwork_add_param net extend "time" "extend" "time to extend")
 
55
   (filternetwork_add_param net mix "gain" "gain" "output gain")
 
56
   (filternetwork_add_output net one2n "out" "out" "source with echo")
 
57
   (filternetwork_add_param net delay "delay" "delay" "echo delay")
 
58
   (filternetwork_add_param net volume-adjust "factor" "mix" "echo mix ratio")
 
59
   (let ((pipe (filter-connect extend "out" mix "in")))
 
60
        (filterpipe_set_destparam pipe "gain" 1.000000)
 
61
        (filterpipe_set_destparam pipe "offset" 0.000000)
 
62
        #t)
 
63
   (let ((pipe (filter-connect mix "out" one2n "in")))
 
64
        #t)
 
65
   (let ((pipe (filter-connect one2n "out" delay "in")))
 
66
        #t)
 
67
   (let ((pipe (filter-connect delay "out" volume-adjust "in")))
 
68
        #t)
 
69
   (let ((pipe (filter-connect volume-adjust "out" mix "in")))
 
70
        (filterpipe_set_destparam pipe "gain" 1.000000)
 
71
        (filterpipe_set_destparam pipe "offset" 0.000000)
 
72
        #t)
 
73
   net)
 
74
 "echo2")
 
75
)) (if (filter? newplugin) newplugin 
 
76
        (begin
 
77
                (plugin_set newplugin PLUGIN_PIXMAP "echo.png")
 
78
                (plugin_set newplugin PLUGIN_LABEL "Echo (network)")
 
79
                (plugin_set newplugin PLUGIN_DESCRIPTION "echo effect")
 
80
                (plugin_set newplugin PLUGIN_CATEGORY "Effects"))))