147
147
def __len__(self):
148
148
return len(self._real_objs)
152
[obj.deleteStream() for obj in self._real_dummy]
154
[obj.deleteStream() for obj in self._imag_dummy]
156
[obj.deleteStream() for obj in self._bin_dummy]
157
self._real_dummy = []
158
self._imag_dummy = []
160
for obj in self._real_objs:
163
for obj in self._imag_objs:
166
for obj in self._bin_objs:
169
for obj in self._base_players:
173
150
def __getitem__(self, str):
174
151
if str == 'real':
175
152
self._real_dummy.append(Dummy([obj for i, obj in enumerate(self._real_objs)]))
899
857
>>> delta = FrameDelta(pol["ang"], framesize=size, overlaps=4)
900
858
>>> m_mag_rec = MatrixRec(pol["mag"], m_mag, 0, [i*hop for i in range(4)]).play()
901
859
>>> m_pha_rec = MatrixRec(delta, m_pha, 0, [i*hop for i in range(4)]).play()
902
>>> m_mag_read = MatrixPointer(m_mag, fin["bin"]/size, Randi(freq=0.51))
903
>>> m_pha_read = MatrixPointer(m_pha, fin["bin"]/size, Randi(freq=0.5))
860
>>> m_mag_read = MatrixPointer(m_mag, fin["bin"]/size, Sine(freq=0.25, mul=.5, add=.5))
861
>>> m_pha_read = MatrixPointer(m_pha, fin["bin"]/size, Sine(freq=0.25, mul=.5, add=.5))
904
862
>>> accum = FrameAccum(m_pha_read, framesize=size, overlaps=4)
905
863
>>> car = PolToCar(m_mag_read, accum)
906
864
>>> fout = IFFT(car["real"], car["imag"], size=size, overlaps=4).mix(1).out()
917
875
self._in_fader = InputFader(input)
918
876
in_fader, framesize, overlaps, mul, add, lmax = convertArgsToLists(self._in_fader, framesize, overlaps, mul, add)
919
877
num_of_mains = len(self._in_fader) / self._overlaps
920
self._main_players = []
878
self._base_players = []
921
879
for j in range(num_of_mains):
923
881
for i in range(len(self._in_fader)):
924
882
if (i % num_of_mains) == j:
925
883
objs_list.append(self._in_fader[i])
926
self._main_players.append(FrameDeltaMain_base(objs_list, wrap(framesize,j), wrap(overlaps,j)))
884
self._base_players.append(FrameDeltaMain_base(objs_list, wrap(framesize,j), wrap(overlaps,j)))
927
885
self._base_objs = []
928
886
for i in range(lmax):
929
main_player = i % num_of_mains
887
base_player = i % num_of_mains
930
888
overlap = i / num_of_mains
931
self._base_objs.append(FrameDelta_base(self._main_players[main_player], overlap, wrap(mul,i), wrap(add,i)))
889
self._base_objs.append(FrameDelta_base(self._base_players[base_player], overlap, wrap(mul,i), wrap(add,i)))
933
891
def __dir__(self):
934
892
return ['input', 'framesize', 'mul', 'add']
937
for obj in self._base_objs:
940
for obj in self._main_players:
944
def play(self, dur=0, delay=0):
945
dur, delay, lmax = convertArgsToLists(dur, delay)
946
self._main_players = [obj.play(wrap(dur,i), wrap(delay,i)) for i, obj in enumerate(self._main_players)]
947
self._base_objs = [obj.play(wrap(dur,i), wrap(delay,i)) for i, obj in enumerate(self._base_objs)]
950
894
def out(self, chnl=0, inc=1, dur=0, delay=0):
954
[obj.stop() for obj in self._main_players]
955
[obj.stop() for obj in self._base_objs]
895
return self.play(dur, delay)
958
897
def setInput(self, x, fadetime=0.05):
1059
998
>>> delta = FrameDelta(pol["ang"], framesize=size, overlaps=4)
1060
999
>>> m_mag_rec = MatrixRec(pol["mag"], m_mag, 0, [i*hop for i in range(4)]).play()
1061
1000
>>> m_pha_rec = MatrixRec(delta, m_pha, 0, [i*hop for i in range(4)]).play()
1062
>>> m_mag_read = MatrixPointer(m_mag, fin["bin"]/size, Randi(freq=0.51))
1063
>>> m_pha_read = MatrixPointer(m_pha, fin["bin"]/size, Randi(freq=0.5))
1001
>>> m_mag_read = MatrixPointer(m_mag, fin["bin"]/size, Sine(freq=0.25, mul=.5, add=.5))
1002
>>> m_pha_read = MatrixPointer(m_pha, fin["bin"]/size, Sine(freq=0.25, mul=.5, add=.5))
1064
1003
>>> accum = FrameAccum(m_pha_read, framesize=size, overlaps=4)
1065
1004
>>> car = PolToCar(m_mag_read, accum)
1066
1005
>>> fout = IFFT(car["real"], car["imag"], size=size, overlaps=4).mix(1).out()
1077
1016
self._in_fader = InputFader(input)
1078
1017
in_fader, framesize, overlaps, mul, add, lmax = convertArgsToLists(self._in_fader, framesize, overlaps, mul, add)
1079
1018
num_of_mains = len(self._in_fader) / self._overlaps
1080
self._main_players = []
1019
self._base_players = []
1081
1020
for j in range(num_of_mains):
1083
1022
for i in range(len(self._in_fader)):
1084
1023
if (i%num_of_mains) == j:
1085
1024
objs_list.append(self._in_fader[i])
1086
self._main_players.append(FrameAccumMain_base(objs_list, wrap(framesize,j), wrap(overlaps,j)))
1025
self._base_players.append(FrameAccumMain_base(objs_list, wrap(framesize,j), wrap(overlaps,j)))
1087
1026
self._base_objs = []
1088
1027
for i in range(lmax):
1089
main_player = i % num_of_mains
1028
base_player = i % num_of_mains
1090
1029
overlap = i / num_of_mains
1091
self._base_objs.append(FrameAccum_base(self._main_players[main_player], overlap, wrap(mul,i), wrap(add,i)))
1030
self._base_objs.append(FrameAccum_base(self._base_players[base_player], overlap, wrap(mul,i), wrap(add,i)))
1093
1032
def __dir__(self):
1094
1033
return ['input', 'framesize', 'mul', 'add']
1097
for obj in self._base_objs:
1100
for obj in self._main_players:
1104
def play(self, dur=0, delay=0):
1105
dur, delay, lmax = convertArgsToLists(dur, delay)
1106
self._main_players = [obj.play(wrap(dur,i), wrap(delay,i)) for i, obj in enumerate(self._main_players)]
1107
self._base_objs = [obj.play(wrap(dur,i), wrap(delay,i)) for i, obj in enumerate(self._base_objs)]
1110
1035
def out(self, chnl=0, inc=1, dur=0, delay=0):
1114
[obj.stop() for obj in self._main_players]
1115
[obj.stop() for obj in self._base_objs]
1036
return self.play(dur, delay)
1118
1038
def setInput(self, x, fadetime=0.05):
1241
1161
self._in_fader = InputFader(input)
1242
1162
in_fader, framesize, overlaps, up, down, damp, mul, add, lmax = convertArgsToLists(self._in_fader, framesize, overlaps, up, down, damp, mul, add)
1243
1163
num_of_mains = len(self._in_fader) / self._overlaps
1244
self._main_players = []
1164
self._base_players = []
1245
1165
for j in range(num_of_mains):
1247
1167
for i in range(len(self._in_fader)):
1248
1168
if (i % num_of_mains) == j:
1249
1169
objs_list.append(self._in_fader[i])
1250
self._main_players.append(VectralMain_base(objs_list, wrap(framesize,j), wrap(overlaps,j), wrap(up,j), wrap(down,j), wrap(damp,j)))
1170
self._base_players.append(VectralMain_base(objs_list, wrap(framesize,j), wrap(overlaps,j), wrap(up,j), wrap(down,j), wrap(damp,j)))
1251
1171
self._base_objs = []
1252
1172
for i in range(lmax):
1253
main_player = i % num_of_mains
1173
base_player = i % num_of_mains
1254
1174
overlap = i / num_of_mains
1255
self._base_objs.append(Vectral_base(self._main_players[main_player], overlap, wrap(mul,i), wrap(add,i)))
1175
self._base_objs.append(Vectral_base(self._base_players[base_player], overlap, wrap(mul,i), wrap(add,i)))
1257
1177
def __dir__(self):
1258
1178
return ['input', 'framesize', 'up', 'down', 'damp', 'mul', 'add']
1261
for obj in self._base_objs:
1264
for obj in self._main_players:
1268
def play(self, dur=0, delay=0):
1269
dur, delay, lmax = convertArgsToLists(dur, delay)
1270
self._main_players = [obj.play(wrap(dur,i), wrap(delay,i)) for i, obj in enumerate(self._main_players)]
1271
self._base_objs = [obj.play(wrap(dur,i), wrap(delay,i)) for i, obj in enumerate(self._base_objs)]
1274
1180
def out(self, chnl=0, inc=1, dur=0, delay=0):
1278
[obj.stop() for obj in self._main_players]
1279
[obj.stop() for obj in self._base_objs]
1181
return self.play(dur, delay)
1282
1183
def setInput(self, x, fadetime=0.05):
1350
1251
x, lmax = convertArgsToLists(x)
1351
[obj.setDamp(wrap(x,i)) for i, obj in enumerate(self._main_players)]
1252
[obj.setDamp(wrap(x,i)) for i, obj in enumerate(self._base_players)]
1353
1254
def ctrl(self, map_list=None, title=None, wxnoserver=False):
1354
1255
self._map_list = [SLMap(0., 1., "lin", "up", self._up),