def play_tone(self, wob): wob.set_wrong_flag(False) self.__talk('You chose Play Tone Based on Note') note = self.__valid_input('Note') music = Music(note) if music.valid_note(note)[1]: if music != None: music.note_beep(note) else: self.Study_Music_Theory() else: self.Study_Music()
def show_result(self): # Result Handle if self.option_menu.text != "Select" and self.input_menu.text != "Select": output_text = self.output_text if self.option_menu.text == self.options_spinner_vals[0]: # "Major Scale" note = self.input_menu.text music = Music(note) result = music.major_scale() output_text = ' '.join(result) + '\n\n\n' + self.output_text.split('\n')[-1] elif self.option_menu.text == self.options_spinner_vals[1]: # "Major Chord" note = self.input_menu.text music = Music(note) result = music.major_chord() output_text = ' '.join(result) + '\n\n\n' + self.output_text.split('\n')[-1] elif self.option_menu.text == self.options_spinner_vals[2]: # "Chords in Major Scale" note = self.input_menu.text music = Music(note) result = music.chords_in_major_scale() output_text = ' '.join(result) + '\n\n\n' + self.output_text.split('\n')[-1] elif self.option_menu.text == self.options_spinner_vals[3]: # "Scale shift with capo position (Guitar)" ## Implement Code from 'update_input_spinner_vals()'print(self.sub_menu_selected) print(self.sub_menu_selected) rem_lst = ('Select', self.options_spinner_vals[3]) print(rem_lst) sub_val = self.sub_menu_selected[self.options_spinner_vals[3]] print(sub_val) new_val = [i for i in sub_val if i not in rem_lst] print(new_val) self.sub_menu_selected[self.options_spinner_vals[3]] = new_val # Take the 'Note' and 'Capo Position' and call "Music.capo_pos_scale_shift(capo_pos)" # Take help from "Relative Major/Minor" condition pass # M/m --> Capo Pos --> Notes(m) elif self.option_menu.text == self.options_spinner_vals[4]: # "Minor Scale" note = self.input_menu.text music = Music(note) result = music.minor_scale() output_text = ' '.join(result) + '\n\n\n' + self.output_text.split('\n')[-1] elif self.option_menu.text == self.options_spinner_vals[5]: # "Minor Chord" note = self.input_menu.text music = Music(note) result = music.minor_chord() output_text = ' '.join(result) + '\n\n\n' + self.output_text.split('\n')[-1] elif self.option_menu.text == self.options_spinner_vals[6]: # "Chords in Minor Scale" note = self.input_menu.text music = Music(note[:-1]) result = music.chords_in_minor_scale() output_text = ' '.join(result) + '\n\n\n' + self.output_text.split('\n')[-1] elif self.option_menu.text == self.options_spinner_vals[7]: # "Relative Major/Minor" print(self.sub_menu_selected) rem_lst = ('Select', self.options_spinner_vals[7]) sub_val = self.sub_menu_selected[self.options_spinner_vals[7]] new_val = [i for i in sub_val if i not in rem_lst] self.sub_menu_selected[self.options_spinner_vals[7]] = new_val if self.sub_menu_selected[self.options_spinner_vals[7]][-2] == self.rel_maj_min_options[0] and self.sub_menu_selected[self.options_spinner_vals[7]][-1] is not None: scale = self.sub_menu_selected[self.options_spinner_vals[7]][-1] music = Music() result = music.relative_major(scale[:-1]) output_text = result + '\n\n\n' + self.output_text.split('\n')[-1] elif self.sub_menu_selected[self.options_spinner_vals[7]][-2] == self.rel_maj_min_options[1] and self.sub_menu_selected[self.options_spinner_vals[7]][-1] is not None: scale = self.sub_menu_selected[self.options_spinner_vals[7]][-1] music = Music() result = music.relative_minor(scale) output_text = result + '\n\n\n' + self.output_text.split('\n')[-1] self.ids.input_menu.values = self.rel_maj_min_options #self.sub_menu_selected[self.options_spinner_vals[7]] = list(set(new_val)) elif self.option_menu.text == self.options_spinner_vals[8]: # "Scale from Chords" pass elif self.option_menu.text == self.options_spinner_vals[9]: # "Play Tone Based on Note" self.output.text = "Playing..." note = self.input_menu.text music = Music(note) music.note_beep(note) self.output.text = self.output_text output_text = self.output_text + '\n\n\n' + self.output_text.split('\n')[-1] elif self.option_menu.text == self.options_spinner_vals[10]: # "Play Tone in Sequence (Scale / Note Sequence)" self.output.text = "Playing..." scale = self.input_menu.text music = Music(scale) if self.nS.active: music.note_beep_scale('M', scale) elif self.nb.active: music.note_beep_scale('m', scale) output_text = self.output_text + '\n\n\n' + self.output_text.split('\n')[-1] pass # Incomplete (Sequence Playing Pending; Use multiple selection feature) self.output.text = output_text