def createPortaudioPane(self, panel): portaudioPanel = wx.Panel(panel) portaudioPanel.SetBackgroundColour(BACKGROUND_COLOUR) gridSizer = wx.FlexGridSizer(5, 3, 5, 5) # Input textIn = wx.StaticText(portaudioPanel, 0, 'Input Device :') textIn.SetFont(self.font) availableAudioIns = [] for d in CeciliaLib.getAvailableAudioInputs(): availableAudioIns.append(CeciliaLib.ensureNFD(d)) if CeciliaLib.getAudioInput() != '': try: initInput = availableAudioIns[int(CeciliaLib.getAudioInput())] except: initInput = 'dump' else: initInput = 'dump' self.choiceInput = CustomMenu(portaudioPanel, choice=availableAudioIns, init=initInput, size=(168, 20), outFunction=self.changeAudioInput) if CeciliaLib.getAudioInput() == '' or CeciliaLib.getEnableAudioInput( ) == 0: initInputState = 0 else: initInputState = 1 self.inputToggle = Toggle(portaudioPanel, initInputState, outFunction=self.enableAudioInput) # Output textOut = wx.StaticText(portaudioPanel, 0, 'Output Device :') textOut.SetFont(self.font) availableAudioOuts = [] for d in CeciliaLib.getAvailableAudioOutputs(): availableAudioOuts.append(CeciliaLib.ensureNFD(d)) try: initOutput = availableAudioOuts[int(CeciliaLib.getAudioOutput())] except: initOutput = availableAudioOuts[0] self.choiceOutput = CustomMenu(portaudioPanel, choice=availableAudioOuts, init=initOutput, size=(168, 20), outFunction=self.changeAudioOutput) gridSizer.AddMany([ (textIn, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, PADDING), (self.inputToggle, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 45), (self.choiceInput, 0, wx.ALIGN_CENTER_VERTICAL), (textOut, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, PADDING), (wx.StaticText(portaudioPanel, -1, '', size=(65, -1)), 1, wx.EXPAND), (self.choiceOutput, 0, wx.ALIGN_CENTER_VERTICAL), ]) gridSizer.AddGrowableCol(1, 1) portaudioPanel.SetSizerAndFit(gridSizer) return portaudioPanel
def createPortaudioPane(self, panel): portaudioPanel = wx.Panel(panel) portaudioPanel.SetBackgroundColour(BACKGROUND_COLOUR) gridSizer = wx.FlexGridSizer(5, 3, 5, 5) # Input textIn = wx.StaticText(portaudioPanel, 0, 'Input Device :') textIn.SetFont(self.font) availableAudioIns = [] for d in CeciliaLib.getAvailableAudioInputs(): availableAudioIns.append(CeciliaLib.ensureNFD(d)) if CeciliaLib.getAudioInput() != '': try: initInput = availableAudioIns[int(CeciliaLib.getAudioInput())] except: initInput = 'dump' else: initInput = 'dump' self.choiceInput = CustomMenu(portaudioPanel, choice=availableAudioIns, init=initInput, size=(168,20), outFunction=self.changeAudioInput) if CeciliaLib.getAudioInput() == '' or CeciliaLib.getEnableAudioInput() == 0: initInputState = 0 else: initInputState = 1 self.inputToggle = Toggle(portaudioPanel, initInputState, outFunction=self.enableAudioInput) # Output textOut = wx.StaticText(portaudioPanel, 0, 'Output Device :') textOut.SetFont(self.font) availableAudioOuts = [] for d in CeciliaLib.getAvailableAudioOutputs(): availableAudioOuts.append(CeciliaLib.ensureNFD(d)) try: initOutput = availableAudioOuts[int(CeciliaLib.getAudioOutput())] except: initOutput = availableAudioOuts[0] self.choiceOutput = CustomMenu(portaudioPanel, choice=availableAudioOuts, init=initOutput, size=(168,20), outFunction=self.changeAudioOutput) gridSizer.AddMany([ (textIn, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, PADDING), (self.inputToggle, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 45), (self.choiceInput, 0, wx.ALIGN_CENTER_VERTICAL), (textOut, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, PADDING), (wx.StaticText(portaudioPanel, -1, '', size=(65,-1)), 1, wx.EXPAND), (self.choiceOutput, 0, wx.ALIGN_CENTER_VERTICAL), ]) gridSizer.AddGrowableCol(1, 1) portaudioPanel.SetSizerAndFit(gridSizer) return portaudioPanel
def updateAudioInOut(self): CeciliaLib.queryAudioMidiDrivers() inputs = CeciliaLib.getAvailableAudioInputs() outputs = CeciliaLib.getAvailableAudioOutputs() if inputs == []: self.choiceInput.setChoice(['']) else: self.choiceInput.setChoice(inputs) if CeciliaLib.getAudioInput()=='': self.inputToggle.setValue(0) else: self.inputToggle.setValue(1) self.choiceInput.setByIndex(int(CeciliaLib.getAudioInput())) if outputs == []: self.choiceOutput.setChoice(['']) else: self.choiceOutput.setChoice(outputs) self.choiceOutput.setByIndex(int(CeciliaLib.getAudioOutput()))
def updateAudioInOut(self): CeciliaLib.queryAudioMidiDrivers() inputs = CeciliaLib.getAvailableAudioInputs() outputs = CeciliaLib.getAvailableAudioOutputs() if inputs == []: self.choiceInput.setChoice(['']) else: self.choiceInput.setChoice(inputs) if CeciliaLib.getAudioInput() == '': self.inputToggle.setValue(0) else: self.inputToggle.setValue(1) self.choiceInput.setByIndex(int(CeciliaLib.getAudioInput())) if outputs == []: self.choiceOutput.setChoice(['']) else: self.choiceOutput.setChoice(outputs) self.choiceOutput.setByIndex(int(CeciliaLib.getAudioOutput()))