def setTime(self, val): Module_base.setTime(self, val) if self.playVar.get(): env = Envelope.fromJson(self.params['envelope']) volume = env.eval(val) * self.params['params']['maxLevel'] self.lampClient.setSoundVolume(self.hash, volume)
def __init__(self, modParams, basepath, parentColors, hash, client=None): Module_base.__init__(self, modParams, basepath, parentColors, hash, client) self.colorScheme['background'] = '#68aa83' self.colorScheme['highlightbackground'] = '#3e664e' self.envelopeScheme = {'fill': '#4e8063', 'outline': '#2f4d3c'} self.addModKeys(self.params['params']['keys']) self.gradientParams = None
def __init__(self, modParams, basepath, parentColors, hash, client=None): Module_base.__init__(self, modParams, basepath, parentColors, hash, client) self.colorScheme['background'] = '#68aa83' self.colorScheme['highlightbackground'] = '#3e664e' self.envelopeScheme = {'fill': '#4e8063', 'outline': '#2f4d3c'} self.paramFrame = None self.imgFullPath = basepath + os.sep + self.params['params']['file'] self.img = None
def collectorModWav(self): Module_base.collector(self) self.params['params']['file'] = self.var_filePath.get() self.params['params']['mode'] = self.var_loopMode.get() self.params['params']['repeatEvery']['min'] = self.toFloat( self.var_repMin.get(), self.params['params']['repeatEvery']['min']) self.params['params']['repeatEvery']['max'] = self.toFloat( self.var_repMax.get(), self.params['params']['repeatEvery']['max']) self.params['params']['randGain'][0] = self.toFloat( self.var_randGainMin.get(), self.params['params']['randGain'][0]) self.params['params']['randGain'][1] = self.toFloat( self.var_randGainMax.get(), self.params['params']['randGain'][1]) self.params['params']['xfade'] = self.toFloat( self.var_xfade.get(), self.params['params']['xfade']) if self.params['params']['maxLevel'] != self.var_level.get() / 100.0: self.params['params']['maxLevel'] = self.var_level.get() / 100.0 self.setTime(self.time) # update sound volume
def destroyParameters(self): Module_base.destroyParameters(self) if self.fileLabel: self.fileLabel.destroy() self.fileLabel = None self.filePath = None self.level = None if self.repeatLabel: self.repeatLabel.destroy() self.repeatLabel = None self.loopMode = None self.repMin = None self.repMax = None if self.xfadeLabel: self.xfadeLabel.destroy() self.xfade = None
def __init__(self, modParams, basepath, parentColors, hash, client=None): Module_base.__init__(self, modParams, basepath, parentColors, hash, client) self.colorScheme['background'] = '#687baa' self.colorScheme['highlightbackground'] = '#3e4965' self.envelopeScheme = {'fill': '#4f5d81', 'outline': '#2f384d'} self.soundFullPath = basepath + os.sep + self.params['params']['file'] self.controlsFrame = None # parameter widgets self.fileLabel = None self.filePath = None self.level = None self.repeatLabel = None self.loopMode = None self.repMin = None self.repMax = None
def collectorShiftParams(self): Module_base.collector(self) if self.params['params']['file'] != self.var_filePath.get(): self.params['params']['file'] = self.var_filePath.get() self.img = None ovr = self.toFloat(self.var_oversampling.get(), self.params['params']['oversampling']) if self.params['params']['oversampling'] != ovr: self.params['params']['oversampling'] = ovr self.img = None self.params['params']['offset'][0] = self.toFloat( self.var_offMin.get(), self.params['params']['offset'][0]) self.params['params']['offset'][1] = self.toFloat( self.var_offMax.get(), self.params['params']['offset'][1]) self.params['params']['speed'][0] = self.toFloat( self.var_speedMin.get(), self.params['params']['speed'][0]) self.params['params']['speed'][1] = self.toFloat( self.var_speedMax.get(), self.params['params']['speed'][1])
def buildParameters(self, parent, colScheme): Module_base.buildParameters(self, parent, colScheme) self.var_filePath = self.stringVar(self.params['params']['file']) self.var_level = self.intVar(self.params['params']['maxLevel'] * 100) self.var_loopMode = self.stringVar(self.params['params']['mode']) self.var_repMin = self.stringVar( self.params['params']['repeatEvery']['min']) self.var_repMax = self.stringVar( self.params['params']['repeatEvery']['max']) if not 'randGain' in self.params['params']: self.params['params']['randGain'] = [1.0, 1.0] self.var_randGainMin = self.stringVar( self.params['params']['randGain'][0]) self.var_randGainMax = self.stringVar( self.params['params']['randGain'][1]) if not 'xfade' in self.params['params']: self.params['params']['xfade'] = 1.0 self.var_xfade = self.stringVar(self.params['params']['xfade']) self.fileLabel = tk.LabelFrame(parent, text='sound file', padx=8, pady=8, **colScheme) self.fileLabel.pack(anchor='nw', fill='x', expand='yes') helper = tk.Frame(self.fileLabel, **colScheme) helper.pack(fill='x', expand='yes') self.filePath = tk.Entry(helper, textvariable=self.var_filePath, **colScheme) self.filePath.pack(side='left', fill='x', expand='yes') browseFile = tk.Button(helper, text='..', command=self.selectFile, **colScheme) browseFile.pack(side='left') helper = tk.Frame(self.fileLabel, **colScheme) helper.pack(fill='x') tk.Label(helper, text='max level', **colScheme).pack(side='left', anchor='sw') self.level = tk.Scale(helper, variable=self.var_level, orient='horizontal', **colScheme) self.level.pack(fill='x', expand='yes', side='left') self.level.set(self.params['params']['maxLevel'] * 100) self.repeatLabel = tk.LabelFrame(parent, text='repeat', padx=8, pady=8, **colScheme) self.repeatLabel.pack(anchor='nw', fill='x', expand='yes') helper = tk.Frame(self.repeatLabel, pady=8, **colScheme) helper.pack() self.loopMode = ttk.Combobox(helper, state='readonly', textvariable=self.var_loopMode) self.loopMode['values'] = ('loop', 'xfade') self.loopMode.pack() helper = tk.Frame(self.repeatLabel, **colScheme) helper.pack(fill='x', pady=8) tk.Label(helper, text='Repeat min', **colScheme).pack(side='left') self.repMin = tk.Entry(helper, width=6, textvariable=self.var_repMin, **colScheme) self.repMin.pack(side='left') tk.Label(helper, text='max', **colScheme).pack(side='left') self.repMax = tk.Entry(helper, width=6, textvariable=self.var_repMax, **colScheme) self.repMax.pack(side='left') helper = tk.Frame(self.repeatLabel, **colScheme) helper.pack(fill='x', pady=8) tk.Label(helper, text='random gain min', **colScheme).pack(side='left') self.rgainMin = tk.Entry(helper, width=6, textvariable=self.var_randGainMin, **colScheme) self.rgainMin.pack(side='left') tk.Label(helper, text='max', **colScheme).pack(side='left') self.rgainMax = tk.Entry(helper, width=6, textvariable=self.var_randGainMax, **colScheme) self.rgainMax.pack(side='left') self.xfadeLabel = tk.LabelFrame(parent, text='xfade', padx=8, pady=8, **colScheme) self.xfadeLabel.pack(anchor='nw', fill='x', expand='yes') helper = tk.Frame(self.xfadeLabel, **colScheme) helper.pack(fill='x', pady=8) tk.Label(helper, text='duration', **colScheme).pack(side='left') self.xfade = tk.Entry(helper, width=6, textvariable=self.var_xfade, **colScheme) self.xfade.pack(side='left') self.collectorCb = self.collectorModWav
def destroy(self): Module_base.destroy(self) self.controlsFrame.destroy()
def destroyParameters(self): if self.paramFrame: self.paramFrame.destroy() Module_base.destroyParameters(self)
def buildParameters(self, parent, colScheme): Module_base.buildParameters(self, parent, colScheme) self.var_filePath = self.stringVar(self.params['params']['file']) self.var_offMin = self.stringVar(self.params['params']['offset'][0]) self.var_offMax = self.stringVar(self.params['params']['offset'][1]) self.var_speedMin = self.stringVar(self.params['params']['speed'][0]) self.var_speedMax = self.stringVar(self.params['params']['speed'][1]) self.var_oversampling = self.stringVar( self.params['params']['oversampling']) self.paramFrame = tk.LabelFrame(parent, text="Parameters", padx=8, pady=8, **colScheme) self.paramFrame.pack(anchor='nw', fill='x', expand='yes') helper = tk.Frame(self.paramFrame, **colScheme) helper.pack(fill='x', expand='yes') self.filePath = tk.Entry(helper, textvariable=self.var_filePath, **colScheme) self.filePath.pack(side='left', fill='x', expand='yes') browseFile = tk.Button(helper, text='..', command=self.selectFile, **colScheme) browseFile.pack(side='left') helper = tk.Frame(self.paramFrame, **colScheme) helper.pack(fill='x', pady=8) tk.Label(helper, text='offset X', **colScheme).pack(side='left') self.offsetMinWgt = tk.Entry(helper, width=6, textvariable=self.var_offMin, **colScheme) self.offsetMinWgt.pack(side='left') tk.Label(helper, text='Y', **colScheme).pack(side='left') self.offsetMaxWgt = tk.Entry(helper, width=6, textvariable=self.var_offMax, **colScheme) self.offsetMaxWgt.pack(side='left') helper = tk.Frame(self.paramFrame, **colScheme) helper.pack(fill='x', pady=8) tk.Label(helper, text='Speed X', **colScheme).pack(side='left') self.speedMinWgt = tk.Entry(helper, width=6, textvariable=self.var_speedMin, **colScheme) self.speedMinWgt.pack(side='left') tk.Label(helper, text='Y', **colScheme).pack(side='left') self.speedMaxWgt = tk.Entry(helper, width=6, textvariable=self.var_speedMax, **colScheme) self.speedMaxWgt.pack(side='left') helper = tk.Frame(self.paramFrame, **colScheme) #helper.pack(fill='x', pady=8, anchor='w') helper.pack(fill='x', pady=8) tk.Label(helper, text='oversampling', **colScheme).pack(side='left') self.oversamplingWgt = tk.Entry(helper, width=6, textvariable=self.var_oversampling, **colScheme) self.oversamplingWgt.pack(side='left') self.collectorCb = self.collectorShiftParams