Ich habe die Werte anhand einer Tabelle vorher festgelegt.
Delphi-Quellcode:
BeatProMaes[0].Name := '2/2';
BeatProMaes[0].Value := 4;
BeatProMaes[1].Name := '3/2';
BeatProMaes[1].Value := 6;
BeatProMaes[2].Name := '4/2';
BeatProMaes[2].Value := 8;
BeatProMaes[3].Name := '2/4';
BeatProMaes[3].Value := 2;
BeatProMaes[4].Name := '3/4';
BeatProMaes[4].Value := 3;
BeatProMaes[5].Name := '4/4';
BeatProMaes[5].Value := 4;
BeatProMaes[6].Name := '5/4';
BeatProMaes[6].Value := 5;
BeatProMaes[7].Name := '6/4';
BeatProMaes[7].Value := 6;
BeatProMaes[8].Name := '7/4';
BeatProMaes[8].Value := 7;
BeatProMaes[9].Name := '9/4';
BeatProMaes[9].Value := 9;
Wenn ich jetzt ein midifile importiere bekomme ich die Geschwindigkeit mitgeliefert.
Wenn ich es eingeladen habe möchte ich nicht in den Takten rumklicken müssen um die passende
Taktart zu dem Stück passend zur Geschwindigkeit einstellen.
Wenn ich vorher den 4/4 Takt eingestellt habe und die Geschwindigkeit passt nicht
dann schalte ich runter auf 2/4 usw.. bis es halt passt.
Und das möchte ich vermeiden.
Es ist also abhängig von BeatProMaes[BeatPMSelected].Value
Bei 2/4 würde die Geschwindigkeit quasi um 2 heruntergesetzt.
Wenn der Index = 3
Nur um das zu berechnen finde ich keinen Anhaltspunkt.
EDIT:
Es geht um den Takt nicht um die Note.
Vorher war die Geschwindigkeit MidiTracker.Tempo = 120
Nun liefert das MidiFile eine von 100 also
MidiTracker.Tempo = 100
Und damit muss ich jetzt auf den Takt schließen.
Das ist mein Problem
gruss