000
16.06.2008, 17:43 Uhr
~spudubi
Gast
|
hallo, ich arbeite mich gerade in die midi programmierung per low-level winmm ein. daten ausgeben per "midiOutShortMsg()" ist ja relativ simpel. ich möchte einen kleinen sequenzer bauen und komm da grad mit dem timing nicht weiter. wie kann ich noten mit einem >stabielen< timing versenden? wenn ich das einfach mit den systemtimern mache, z.B. so:
C++: |
timeBeginPeriod(1); timer = timeGetTime() - startZeit; timeEndPeriod(1);
if(timer >= 200) { midiOutShortMsg(outHandle, 0x00403C90); timeBeginPeriod(1); startZeit = timeGetTime(); timeEndPeriod(1); }
|
schwankt das timing der notenausgabe hörbar. Die Benutzung von "QueryPerformanceCounter" statt "timeGetTime" bringt zwar ein wenig, das timing ist aber dennoch nicht wirklich straight.
hat jemand ahnung, wie man in c++ (visual v++ 2005, winXP 32) einen stabilen timer programmieren kann?
ich wäre über antworten sehr dankbar, da ich ein wenig in zeitdruck stehe (studienprojekt). |