Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
> Nein die rennt nicht ungestört weiter die beendet wenn die letzte note gespielt wurde.
Es ging doch aber ums Beenden der Anwendung (während gespielt wird) ;) Nacht!
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
procedure WinProcessMessages;
var
ProcMsg: TMsg;
begin
while PeekMessage(ProcMsg, 0, 0, 0, PM_REMOVE) do
begin
if (ProcMsg.message = WM_QUIT) then
Exit;
TranslateMessage(ProcMsg);
DispatchMessage(ProcMsg);
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
Ach, ich sehe gerade. Du hast derzeit nur eine Spur und stellst damit eine Klaviatur dar. Ist auch eine Idee. Ich dachte erst die schwarzen und weißen Linien sind bereits die Spuren und sind nur zur optischen Kennung eingefärbt.
Was machst du wenn eine zweite Spur hinzukommen soll? Zum Beispiel ein zweites Instrument?
Dann wäre es doch praktisch, wenn es sie mal geben sollte, den Grafik-...
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
> EDit:
> Forte 180.00EUR Euronen .. ;)
Leider... ich habe daher auch nur die Free-Version. Aber auch in dieser kann man Fenster durch die Gegend bewegen während die Musik spielt. Ich vermute jedoch die Nutzen den Miditreiber für solche Spielchen.
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
> Eingabegeräte verwende ich keine.
Schade :)
D.h. PlayNotes startet nur, aber wartet nicht auf das Ende der Note.
Die Nachrichtenbehandlung wirst du für den Empfang von CloseQueries usw. schon brauchen. Nur solltest du das mit dem Sleep () kombinieren um deinen Wunsch nach weniger Auslastung gerecht zu werden.
Ich habe die Erfahrung gemacht, wenn im Formular z.B. ein Button gedrückt...
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
Verarbeitest du auch Eingabegeräte? Soweit ich gelesen habe haben die bei der Echtzeitverarbeitung von Musik die gleichen Probleme.
Meiner Meinung nach Schreit das nach einen Thread pro Aufgabe.
Ein Thread für das Formular und Nachrichtenbehandlung.
Einer für die Grafik womit das Formular gefüttert wird (auch wenn du Fenster bewegst).
Und einer für den Ton.
Sagt dir Lugert Verlag Forte...
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
Aber ob deine Anwendung 1000 ms schläft oder 1000 ms in einer Schleife rennt, anstatt Musik zu spielen, das ist aus meiner Sicht das gleiche.
Und dass die 1000 ms nur der Platzhalter für das Tempo sind, ich dachte das wäre auch ohne Kommentar zu erkennen gewesen.
Ich weiß ja nun immer noch nicht ob PlayNotes Zeit verbrät oder gleich zurück kommt.
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
Meinst du?
Was macht denn
while true do
begin
end;
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
Und was macht
// Starte den Song
while PlayingSong do
begin
//Weiterlaufen bis die 16.tel Note (Pause) abgelaufen ist
// while GetTickCount < Tick + TempoWait do
sleep (1000);
Forum: Programmieren allgemein
by Trebxson,
8. Apr 2011
Ich verstehe noch nicht so ganz die Logik.
Was passiert während des Waits? (per was auch immer) Stell die Zeit doch mal extrem hoch und schau ob die Hänger gleichmäßig sind.
Ich meine es gibt ja auch halbe, ganze Noten. Ganz zu schweigen von verschiedenen Akzenten Legato oder das Gegenstück Staccato.
Vielleicht musst du am Ende die Schleife durch rennen lassen. Wenn die Funktionen...
Forum: Programmieren allgemein
by Trebxson,
7. Apr 2011
Was passiert denn, wenn du alles was nicht mit dem Sound zu tun hat, raus haust. Hängt es dann immer noch?
timeout := 10000;
while (PlayingSong) do
begin
sleep (1000);
PlayNotes;