public void AddMessage(string receiverName, float value) { Hv_metronome_AudioLib.FloatMessage msg = new Hv_metronome_AudioLib.FloatMessage(receiverName, value); lock (_msgQueueSync) { _msgQueue.Enqueue(msg); } }
void UpdateMetronome(Hv_metronome_AudioLib.FloatMessage mes) { switch (mes.receiverName) { case "metroMesureCount": int nouvelleMesure = (int)mes.value; //TODO: on devrait pas avoir à checker si la mesure est nouvelle, pourtant on reçoit deux fois l'évènement... if (nouvelleMesure > this.metroMesureCount) { //enregistre la nouvelle valeur this.metroMesureCount = nouvelleMesure; //préviens les objets enregistrés foreach (EnregistrementMesure obj in this.enregistrementsMesure) { obj.ChangementDeMesure(); } } break; case "periodeNoire": //enregistre la nouvelle valeur this.periodeNoire = mes.value; //préviens les objets enregistrés foreach (EnregistrementPeriodeNoire obj in this.enregistrementsPeriodeNoire) { obj.ChangementDePeriodeNoire(this.periodeNoire); } break; case "staticNoire": //enregistre la nouvelle valeur this.staticNoire = (int)mes.value; //préviens les objets enregistrés foreach (EnregistrementStaticNoire obj in this.enregistrementsStaticNoire) { obj.ChangementDeStaticNoire(this.staticNoire); Debug.Log("metro " + this.staticNoire); } break; case "staticMesure": this.staticMesure = (int)mes.value; break; default: break; } }