Autor Beitrag
Zyrano
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 15.03.11 22:29 
Hallo liebe Leutz,

nachdem ich gestern so riesen Hilfe bekommen habe, möchte ich euch gern das Resultat meiner ersten Arbeit mit Delphi zeigen.
Es ist ein Metronom, indem man die BPM-Zahl eingeben kann, und das Programm anhand dessen mit einem Klickgeräusch den Takt vorgibt. Sehr praktisch für Musiker die einen Metronom verwenden.

Bitte berücksichtigt, dass das wirklich mein erstes Programm ist was ich fertiggestellt habe (nach der Lehrzeit mit "Delphi für Kids").

Ich hoffe es gefällt =)

EDIT1:
Habe das Programm grade auf Version 0.2 geupdated.

Hier der Changelog (v 0.2):
Buttons zur Korrektur der BPM hinzugefügt. Nun kann während des laufenden Programms die Variable neu berechnet werden und passt somit die Geschwindigkeit an.

Greetz Zyrano (KC-Worx)
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Zyrano am Mi 16.03.11 00:33, insgesamt 5-mal bearbeitet
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 15.03.11 22:39 
Gefällt :)

Auch die Animation ist ganz nett - Bedingt durch den Timer gibt es zwar nicht gerade 100%ige Taktgenauigkeit, aber da kann man nun wirklich nichts so einfach dran ändern. Was jetzt noch ein super Feature wäre, wäre die betonten Zählzeiten für verschiedene Taktarten durch einen anderen Ton zu kennzeichnen, beispielsweise ein Piep - im 4/4 Takt wäre das dann auf der eins und auf der 3....

LG,

Finn Ole
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Di 15.03.11 22:58 
jo, gefällt :)
Beim start gibt es ne Verzögerung.
Alles andere hat Finno gesagt.

Weiter so 8)

Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Zyrano Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 16.03.11 00:25 
Neue Version hochgeladen !
Changelog siehe Post#1 =)
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Mi 16.03.11 00:37 
kleinen Bug gefunden :wink:
Wenn auf Stop und die Led rechts ist an und ich gehe auf Start, kommt erst sound, Led rechts bleibt obwohl links kommen müsste. Musste noch mal schauen.

ALf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 16.03.11 14:12 
Ich auch:

Bei hoher CPU-Last hört man den Sound nach dem Zufallsprinzip.
Hast Du den Multimedia-Timer genommen?
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Mi 16.03.11 14:32 
naja, glaube selbst ein Mediaplayer würde bei hoher CPUlast nicht mehr sauber abspielen.
Wobei ich gerade mal getestet habe, 70% Last auf 3 kerne gab es mal kurz nen aussetzter(WinXP pro)
Ansonsten keine Probleme damit, lief danach sauber weiter :nixweiss:
Es wird sicherlich kein Musiker ein Metronom starten, neben bei COD4 spielen und ein riesen Prog compilieren und was was ich noch alles machen :wink:

ALf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Zyrano Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 16.03.11 19:34 
user profile iconhathor hat folgendes geschrieben Zum zitierten Posting springen:
Ich auch:

Bei hoher CPU-Last hört man den Sound nach dem Zufallsprinzip.
Hast Du den Multimedia-Timer genommen?


Hi,

nein ich habe Timer benutzt.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 17.03.11 10:39 
Ich habe eine interessante Komponente gefunden: ThreadedTimer.
Die ThreadPriority lässt sich einstellen.
Beispielprogramm incl. Komponente (incl.Core2MaxPerf11.exe von ct) im Anhang.
Man stellt auch hier "Anomalien" fest, aber nicht so extrem!
Der Timer nutzt diese Funktion:
msdn.microsoft.com/e...32%28v=vs.85%29.aspx


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ThdTimer, StdCtrls;

type
  TForm1 = class(TForm)
    ThreadedTimer1: TThreadedTimer;
    Label1: TLabel;
    procedure ThreadedTimer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ThreadedTimer1Timer(Sender: TObject);
begin
//ThreadedTimer1.ThreadPriority:=tpHighest;
Windows.Beep(1500,25);
If Label1.color=clLime then Label1.color:= clYellow else Label1.color:=clLime;
end;

end.
Einloggen, um Attachments anzusehen!
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Do 17.03.11 17:53 
Mh... da kann er Windowsbordmittel nehmen. Seine Exe hihgprior setzen :zwinker:
Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!