def createPortmidiPane(self, panel):
        portmidiPanel = wx.Panel(panel)
        portmidiPanel.SetBackgroundColour(BACKGROUND_COLOUR)

        gridSizer = wx.FlexGridSizer(5, 3, 5, 5)
        # Input
        textIn = wx.StaticText(portmidiPanel, 0, 'Input Device :')
        textIn.SetFont(self.font)       
        availableMidiIns = []
        for d in CeciliaLib.getAvailableMidiInputs():
            availableMidiIns.append(CeciliaLib.ensureNFD(d))
        if availableMidiIns != [] and 'All' not in availableMidiIns:
            availableMidiIns.append('All')
        if CeciliaLib.getMidiDeviceIn() != '':
            try:
                initInput = availableMidiIns[int(CeciliaLib.getMidiDeviceIn())]
            except:
                initInput = 'dump'    
        else:
            initInput = 'dump'    
        self.midiChoiceInput = CustomMenu(portmidiPanel, choice=availableMidiIns, 
                                      init=initInput, size=(168,20), outFunction=self.changeMidiInput)

        gridSizer.AddMany([ 
                            (textIn, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, PADDING),
                             (wx.StaticText(portmidiPanel, -1, '', size=(74,-1)), 1, wx.EXPAND),
                            (self.midiChoiceInput, 0, wx.ALIGN_CENTER_VERTICAL),
                            ])
                            
        gridSizer.AddGrowableCol(1, 1)
        portmidiPanel.SetSizerAndFit(gridSizer)
        return portmidiPanel
    def updateMidiIn(self):
        CeciliaLib.queryAudioMidiDrivers()

        inputs = CeciliaLib.getAvailableMidiInputs()

        if inputs == []:
            self.midiChoiceInput.setChoice([''])
        else:
            inputs.append('All')
            self.midiChoiceInput.setChoice(inputs)
            self.midiChoiceInput.setByIndex(int(CeciliaLib.getMidiDeviceIn()))
Beispiel #3
0
    def updateMidiIn(self):
        CeciliaLib.queryAudioMidiDrivers()

        inputs = CeciliaLib.getAvailableMidiInputs()

        if inputs == []:
            self.midiChoiceInput.setChoice([''])
        else:
            inputs.append('All')
            self.midiChoiceInput.setChoice(inputs)
            self.midiChoiceInput.setByIndex(int(CeciliaLib.getMidiDeviceIn()))
Beispiel #4
0
    def createPortmidiPane(self, panel):
        portmidiPanel = wx.Panel(panel)
        portmidiPanel.SetBackgroundColour(BACKGROUND_COLOUR)

        gridSizer = wx.FlexGridSizer(5, 3, 5, 5)
        # Input
        textIn = wx.StaticText(portmidiPanel, 0, 'Input Device :')
        textIn.SetFont(self.font)
        availableMidiIns = []
        for d in CeciliaLib.getAvailableMidiInputs():
            availableMidiIns.append(CeciliaLib.ensureNFD(d))
        if availableMidiIns != [] and 'All' not in availableMidiIns:
            availableMidiIns.append('All')
        if CeciliaLib.getMidiDeviceIn() != '':
            try:
                initInput = availableMidiIns[int(CeciliaLib.getMidiDeviceIn())]
            except:
                initInput = 'dump'
        else:
            initInput = 'dump'
        self.midiChoiceInput = CustomMenu(portmidiPanel,
                                          choice=availableMidiIns,
                                          init=initInput,
                                          size=(168, 20),
                                          outFunction=self.changeMidiInput)

        gridSizer.AddMany([
            (textIn, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, PADDING),
            (wx.StaticText(portmidiPanel, -1, '',
                           size=(74, -1)), 1, wx.EXPAND),
            (self.midiChoiceInput, 0, wx.ALIGN_CENTER_VERTICAL),
        ])

        gridSizer.AddGrowableCol(1, 1)
        portmidiPanel.SetSizerAndFit(gridSizer)
        return portmidiPanel