Metronom programmieren - Exakter Timer mit QueryPerformanceCounter()??
-
Hallo,
ich möchte gerne ein Metronomprogramm programmieren, bei dem man ein edit feld hat, da die bpm(beats per minutes) eingibt und dann einen button wo man das metronom starten kann. wenn man draufdrückt soll dann je nach bpm wert eine aktion ablaufen. also bei zB 60 bpm soll zB ein Button die Farbe wechseln^^.
Jedenfalls hab ich jetzt schon oft gehört, dass der normale Timer für solche Sachen sehr ungenau ist. Jetzt meine Frage: wie kann ich das mit QueryPerformanceCounter() anstellen, also so wie ich es oben beschrieben habe...ich bin noch eher anfänger und bitte daher um ein beispiel
trotzdem schonmal recht herzlichen dank!!
gruß
-JuRa-
-
Hallo
bei 60bpm ist TTimer vollkommen ausreichend.
Du stellst Intervall in Millisekunden, Enabled auf true und weist dem OnTimer-Event eine Funktion mit deinem gewünschten Code zu.
Gerade als Anfänger ist es wohl nicht angebracht, sich durch WinAPI durchzuarbeiten.bis bald
akari
-
akari schrieb:
bei 60bpm ist TTimer vollkommen ausreichend.
ab wann reicht es denn nich mehr?
kann man da was genaues sagen?
-
Soweit ich weiß, lassen sich keine Intervalle unter 55ms realisieren. (Also werden nicht mehr korrekt umgesetzt). Entspräche 18bps = 1080bpm.
-
Naja ok, 1080 BPM sind ja eh unrealistisch
Mehr als 200-250 BPM (Achtelnoten) brauch man eh nich.
-
Bei alla-breve vllt. doch.
-
Ja ok, bei nem 2/2-Takt (is das doch, oder?) da könnte man vielleicht auch noch mehr gebrauchen.
-
AFAIK geht der Timer "sogar" auf ~16ms genau.