Ich bin eine kleine Musikanwendung writting und ich spiele jeden 88 Tasten auf diese Weise:Logical LOOP in Visual C#
if (nutka == "A0" && msg.Velocity < 28)
{
PlayEngine.Instance.PlaySound("-12dB_01");
}
else if (nutka == "A0" && msg.Velocity < 55 && msg.Velocity > 27)
{
PlayEngine.Instance.PlaySound("-9dB_01");
}
else if (nutka == "A0" && msg.Velocity < 82 && msg.Velocity > 54)
{
PlayEngine.Instance.PlaySound("-6dB_01");
}
else if (nutka == "A0" && msg.Velocity < 106 && msg.Velocity > 81)
{
PlayEngine.Instance.PlaySound("-3dB_01");
}
else if (nutka == "A0" && msg.Velocity < 128 && msg.Velocity > 105)
{
PlayEngine.Instance.PlaySound("0dB_01");
}
Wie Sie sehen können, ich habe 5 Geschwindigkeitsbereiche für einen Schlüssel für Signale von meiner externen MIDI Regler. Und ich habe ähnliche 88 wenn Statements, die einzige Thins ist ändern: Name von "Nutka" und die letzte Ziffer im Namen der Wiedergabe von Datei
(zum Beispiel können wir hier eine Note "A0" durch die Verwendung von spielen 5 Dateien hängen von der Geschwindigkeit ab: -12dB_01, -9dB_01, -6dB_01, -3dB_01 und 0dB_01, und das sieht wirklich schlecht im Code für 88 Noten aus ...
Keine Ahnung, wie man kürzere Version oder vielleicht kurze Schleife machen kann .. jede Hilfe ist apprreciated.
Eine Liste und einige Lamdas werden dein Freund hier sein! – Sean
Und was, wenn 'Nutka == "A1" 'oder' Nutka == "B4" '? Können Sie * die letzte Zeichenfolge berechnen? –