Revision 592:e7c5b55aab9a

View differences:

src/may/stream/framer.yeti
82 82
    var padded = true;
83 83
    var windower = id;
84 84
    var transform = id;
85
    var mixer = id;
85 86
    for options \case of
86 87
        Hop h: hop := h;
87 88
        Padded p: padded := p;
......
92 93
            if f then
93 94
                transform := mat.mapRows (fft.realForwardMagnitude framesize);
94 95
            fi;
96
        MixedTo c:
97
            mixer := manip.mixedTo c;
95 98
    esac;
96 99
    map transform
97 100
       (map windower
98
           (frames' framesize hop padded stream)));
101
           (frames' framesize hop padded
102
               (mixer stream))));
99 103

  
100 104
complexFrames framesize options stream =
101 105
   (var hop = framesize;
......
103 107
    var windower = id;
104 108
    var rowTransform = 
105 109
        do r: complex.complexArray r (vec.zeros (vec.length r)) done;
110
    var mixer = id;
106 111
    for options \case of
107 112
        Hop h: hop := h;
108 113
        Padded p: padded := p;
......
114 119
            if f then 
115 120
                rowTransform := fft.realForward framesize;
116 121
            fi;
122
        MixedTo c:
123
            mixer := manip.mixedTo c;
117 124
    esac;
118 125
    map do m:
119 126
        cm.fromRows (map rowTransform (mat.asRows m))
120 127
        done
121 128
       (map windower
122
           (frames' framesize hop padded stream)));
129
           (frames' framesize hop padded 
130
               (mixer stream))));
123 131

  
124 132
streamContiguous rate framesize frames =
125 133
   (var remaining = frames;

Also available in: Unified diff