39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
import mido
|
|
import time
|
|
|
|
# Définir le nom de votre Launchpad MK2
|
|
launchpad_name = "Launchpad MK2"
|
|
|
|
# Rechercher le périphérique MIDI correspondant au Launchpad
|
|
output_port = None
|
|
for port in mido.get_output_names():
|
|
if launchpad_name in port:
|
|
output_port = mido.open_output(port)
|
|
break
|
|
|
|
|
|
# Fonction pour envoyer un message MIDI pour allumer la lumière avec une vélocité variable
|
|
def allumer_lumiere(note, velocity):
|
|
message = mido.Message("note_on", note=note, velocity=velocity) # Utilisez la vélocité passée en argument
|
|
output_port.send(message)
|
|
|
|
# Fonction pour envoyer un message MIDI pour éteindre la lumière
|
|
def eteindre_lumiere(note):
|
|
message = mido.Message("note_off", note=note, velocity=0) # Utilisez la note passée en argument
|
|
output_port.send(message)
|
|
|
|
|
|
# Exemple d'utilisation
|
|
if __name__ == "__main__":
|
|
print("Le programme a démarré. Appuyez sur Ctrl+C pour arrêter.")
|
|
try:
|
|
for note in range(11, 90): # Parcourir les notes de 11 à 89 inclus
|
|
for velocity in range(0, 128): # Varier la vélocité de 0 à 127
|
|
allumer_lumiere(note, velocity)
|
|
time.sleep(1/50) # Attendre 0.01 seconde entre chaque vélocité
|
|
eteindre_lumiere(note)
|
|
time.sleep(1/10) # Attendre 0.1 seconde entre chaque vélocité
|
|
|
|
except KeyboardInterrupt:
|
|
print("Le programme a été interrompu. Arrêt de l'envoi de messages MIDI.")
|