def jouer_album(nom_fichier): album = alb.creer_album(nom_fichier) maj_tempo(album, 500000) ## 500000 micros/noire correspond à 120bpm (noire/minute) album['midi'] = son.connecter_sortie() for chanson in album['chansons']: for evenement in chanson: time.sleep(evenement[0] * album['micros/tick'] / 10**6) message = evenement[2] traiter_message(message, album) son.deconnecter(album['midi'])
def cacher_texte(piano, note): try: touche = piano.touches[note] touche.itemconfigure(touche.texte, state="hidden") except KeyError: pass def montrer_texte(piano, note): try: touche = piano.touches[note] touche.itemconfigure(touche.texte, state="disabled") except KeyError: pass def quitter(fenetre, midi): son.deconnecter(midi) fenetre.destroy() if __name__ == "__main__": fenetre = tk.Tk() fenetre.title("py@Note") midi = son.connecter_sortie() canal = 8 piano = creer_piano(fenetre, midi, canal, 3, 5, 40, 180) piano.pack() piano.accord = "aucun" fenetre.wm_protocol('WM_DELETE_WINDOW', lambda: quitter(fenetre, midi)) fenetre.mainloop()
if len(message) == 1: # systeme mod.executer_modificateurs_message_systeme(controleur, num_piste, message) elif len(message) == 3: # controle mod.executer_modificateurs_message_controle(controleur, num_piste, message) else: # meta mod.executer_modificateurs_message_meta(controleur, num_piste, message) if message[0] == 0x51: # changement tempo controleur["micros/tick"] = maj_tempo(controleur, message[1]) if __name__ == "__main__": import pyanote.son as son nom_fichier = 'fichiersMidi/Madness - Baggy Trousers.kar' sortie_son = son.connecter_sortie() s1 = time.time() controleur = creer_controleur(nom_fichier, midi=sortie_son) #mod.preparer_modificateurs(controleur, midi = sortie_son) s2 = time.time() print("Temps écoulé par la creation du controleur:", s2 - s1) controleur['vitesse'] = float('inf') t1 = time.time() demarrer(controleur) t2 = time.time() print("Temps écoulé par la lecture vitesse infinie:", t2 - t1) reinitialiser_controleur(controleur) print('**********************************************') print('Demarrage du controleur dans un thread') print('**********************************************') demarrer(controleur, True)