예제 #1
0
    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)
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
    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
예제 #5
0
    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
예제 #6
0
    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
예제 #7
0
    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])
예제 #8
0
    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
예제 #9
0
 def destroy(self):
     Module_base.destroy(self)
     self.controlsFrame.destroy()
예제 #10
0
    def destroyParameters(self):

        if self.paramFrame:
            self.paramFrame.destroy()
        Module_base.destroyParameters(self)
예제 #11
0
    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