chordcalc.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:ccMVC 作者: polymerchm 项目源码 文件源码
def onNewInstrument(self,sender):
        ''' allow editing of new instrument based on current instrument'''
        if model._InstrumentTuning:
            notes = model._InstrumentTuning
        else:
            console.hud_alert('Please select an instrument as the base for new one','error',2)
            return

        mainViewShield.conceal()
        numStrings = len(notes)
        self.span = model._Span
        self.octave = model._InstrumentOctave
        self.textField.text = model._InstrumentName
        self.octaveTextField.text = "{}".format(self.octave)
        spinnerWidth = min(75,int(self.width/float(numStrings)))
        space = self.width - numStrings*spinnerWidth
        spacer = int(space/float(numStrings + 1))
        self.notes = [note for note in notes]
        self.octaves = [divmod(note,12)[0] for note in notes]
        self.spinnerFactor = 0.17
        for i in range(numStrings):
            temp = Spinner(name="string{}".format(i),
                            initialValue = ccc['NOTE_NAMES'],
                            spinnerSize = (spinnerWidth,40),
                            fontSize = 16,
                            action=self.onSpinner,
                            limitAction=self.onSpinnerLimit
                            )
            temp.pointer = self.notes[i] % 12

            tempOctave = ui.TextField(name='octave{}'.format(i),
                                    frame=(0,0,40,32),
                                    )
            tempOctave.text = "{}".format(self.octaves[i])
            temp.position = (spacer+i*(spacer+spinnerWidth), int(self.spinnerFactor*self.height))
            location = (spacer+i*(spacer+spinnerWidth),int(self.spinnerFactor*self.height+42),0.0,0.0)
            tempOctave.frame = tuple(map(add,tuple(location),tuple(tempOctave.frame)))
            self.add_subview(temp)
            self.add_subview(tempOctave)
            self.spinnerArray.append(temp)
            self.octaveTextArray.append(tempOctave)
        self.SpanSpinner = Spinner(name='EIspanSpinner',
                                                            initialValue = self.span,
                                                            limits=(2,self.span+2),
                                                            spinnerSize = (spinnerWidth,32),
                                                            fontSize = 16
                                                            )
        self.SpanSpinner.position = (240,185)           
        self.add_subview(self.SpanSpinner)
        self.tuningButton.action = self.playTuning
        self.update_tuning_label()
        self.hidden  = False
        self.bring_to_front()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号