Autor Beitrag
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 30.03.07 23:16 
Hallo Leute!
Wie so oft, hab ich ein relativ sinnbefreites Programm geschrieben, das mir irgendwann mal in den Sinn kam. Ich wusste sofort einen wundervollen Namen:
Das Jaytronom

Was tut es?
Es ist vorallem ein Taktgeber. Es soll, ähnlich einem richtigen Metronom, für Musiker eine Orientierung für eine gleichbleibende Spielgeschwindigkeit bieten.

...aber?
Nun. Es ist sehr ungenau, trotz Einsatz des TDXTimers. Die Ungenauigkeit erkennt man am deutlichsten, wenn man eine Frequenz von 60 bpm einstellt und das Interval, welches in ms angegeben wird, betrachtet: Es schwankt zwischen 1100 und 1200 ms! Bei 60 bpm sollte es natürlich konstant bei 1000 ms sein.

...ja, aber ist es dann nicht ... Schwachsinn?
Nein. Zumindest nicht unbedingt. Man kann auch mit einer kleinen Toleranz im Frequenzbereich leben ;)
Ausserdem wars ein interessantes Stück Geometrie den Zeiger zu zeichnen. Bei der Gelegenheit: Die Paintbox, auf die gezeichnet wird, kann man in der IDE beliebig vergrößern/-kleinern, alle Punkte werden zur Laufzeit aus den Width/Height-Eigenschaften errechnet.

Eine Anmerkung noch: Man erkennt ab und zu ein Flimmern. Bevor jemand fragt: DoubleBuffered ist true. ;)
Einloggen, um Attachments anzusehen!
_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



BeitragVerfasst: Sa 31.03.07 23:09 
ich kann die exe nicht entpacken nur die wave und die bass.dll ...
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Sa 31.03.07 23:30 
Also bei mir klappt das Entpacken und das Programm :gruebel:

JayEff, hast du Doublebuffered auf true? Weil bei mir flackert das ab und zu! :mrgreen: (nein, spass ;) )


Funktioniert gut, ich hab keine Fehler entdecken können. Ist bestimmt für Musiker sehr nützlich, wenn sie ihr metronom mal grad nich dabei haben.

@Ironwolf: Ich hab mit Winrar keine Probleme. Liegt wohl an deinem Packprogramm.


Zuletzt bearbeitet von Karlson am Sa 31.03.07 23:43, insgesamt 1-mal bearbeitet
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Sa 31.03.07 23:36 
user profile iconKarlson hat folgendes geschrieben:
Ist bestimmt für Musiker sehr nützlich, wenn sie ihr metronom mal grad nich dabei haben.

Aber zufällig den Desktop ;o)
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



BeitragVerfasst: Sa 31.03.07 23:37 
ich hab die fehler beim entpacken

! Pfad\Jaytronom[1].zip: Unknown method in Jaytronom.exe
! Cannot execute "Pfad\Jaytronom.exe"
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Sa 31.03.07 23:40 
user profile iconSaubäär hat folgendes geschrieben:
user profile iconKarlson hat folgendes geschrieben:
Ist bestimmt für Musiker sehr nützlich, wenn sie ihr metronom mal grad nich dabei haben.

Aber zufällig den Desktop ;o)


Hey, da gibts ne richtig coole Erfindung jetzt. Du wirst es nicht glauben, aber da braucht man nicht mal mehr den Monitor mitzuschleppen! :lol:

Ne echt jetzt...gibt genug Leute (wohl hauptsächlich Studenten) die ihren Laptop oft mit rumschleppen - und wenn man sich dann das Metronom sparen kann ist das doch okay. Zumindest war das Teil meiner Schwester ziemlich schwer und unhandlich. Die wär bestimmt froh wenn sie sowas gehabt hätte!
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Sa 31.03.07 23:42 
user profile iconKarlson hat folgendes geschrieben:
Hey, da gibts ne richtig coole Erfindung jetzt :lol:


Cool was das denn?? :wink:

Aber als Musiker kann ich dir sagen, dass man sowas wie ein Metronom nie und nimmer brauch! (meine Meinung)

Gruß
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



BeitragVerfasst: Sa 31.03.07 23:43 
schwer un unhandlich? die passn heutzutage in jede hosentasche :D
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Sa 31.03.07 23:44 
Ja, schön toll! Ich wollte nur nett sein. Leck mich :lol: :mrgreen:

@Saubäär: Ich hab keine Ahnung wofür man das brauchen könnte - aber ich hab auch nur 6 Wochen Blockflöte in der Grundschule gespielt ;)


Zuletzt bearbeitet von Karlson am Sa 31.03.07 23:46, insgesamt 1-mal bearbeitet
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Sa 31.03.07 23:45 
user profile iconKarlson hat folgendes geschrieben:
Ja, schön toll! Ich wollte nur nett sein. Leck mich :lol:

War das jetzt erst gemeint? Ich scherze doch nur. :wink:
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Sa 31.03.07 23:46 
Ach was! Ich hab doch extra den LoL Smiley dazu gemacht ;)
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Sa 31.03.07 23:48 
Dann bin ich beruhigt.

Gute Nacht Freunde :D
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 01.04.07 18:02 
user profile iconSaubäär hat folgendes geschrieben:
Aber als Musiker kann ich dir sagen, dass man sowas wie ein Metronom nie und nimmer brauch! (meine Meinung)
Lass mich raten: E-Gitarre nach Tabulatur? :roll: Ich spiele seit über 10 Jahren Klavier und Saxophon und ich garantiere dir, ohne Metronom kannst du kein "anständiges" Instrument auf teamfähige Art und Weise lernen, da du nie lernst, im Takt zu spielen. Kaum kommst du in ein Orchester/Band und sollst dich z.B. am Schlagzeuger orientieren, wirst du nur Chaos verursachen :(

Edit: Aber das ist ja OT, also einich gehts hier ums Programm ;)

Wenn jemand ne Idee hat, wie man das leichte Flimmern wegbekommt, immer her damit. Ich hab einen DXTimer in dem per sinus/cosinus etc. immer die Linien per MoveTo/LineTo gezeichnet werden, mit einem Interval von 10 ms. Die Routine wird allerdings nicht bei jedem onTimer-Event ausgeführt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
//Increment: Lokal Extended, Alpha: Global Extended, Interval: Global Integer

    Increment := 500 / Interval;

    If ToRight Then
        alpha := alpha + Increment
    Else
        alpha := alpha - Increment;

    If round(alpha * 3) <> round(prev_alpha * 3Then Zeichnen;

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
MrSaint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: So 01.04.07 18:55 
Hmm.. ich brauch sowas zwar nicht, aber ich würde zuerst versuchen, das ding genauer zu bekommen bevor ich versuch das flackern zu eliminieren ;) Ich schätze jetzt einfach mal, dass das laggen durch die zeichen-Methode erzeugt wird.. Dann würde ich einfach mal den Timer in einen eigenen Thread packen und im OnTimer das Klack-Geräusch abspielen lassen. Im Main-Thread würde ich dann mit einem zweiten Timer das Zeichnen machen. Den zusätzlichen Thread kannst du ja noch auf Realtime-Priority setzen und dann sollte es, denke ich, besser laufen. Dann hast du nämlich einen eigenen Thread, der häufiger Zeit bekommt als der Main-Thread und der gibt dein Geräusch aus. Und der Thread kann dann seine Timer-Messages (ich geh jetzt mal davon aus, dass OnTimer-Ereignisse per Message abgearbeitet werden) immer möglichst schnell abarbeiten, weil er ja sonst nix zu tun hat. Der Main-Thread muss ja nebenher auch immer noch malen und auf Klicks, MouseMoves etc. reagieren...
Wenn du aber Pech hast, sind die Timer einfach so ungenau :( Das wär natürlich blöd ;)


MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 01.04.07 19:03 
user profile iconMrSaint hat folgendes geschrieben:
Ich schätze jetzt einfach mal, dass das laggen durch die zeichen-Methode erzeugt wird..
Nope, schon ausprobiert.
Das Klicken wird übrigens dann ausgelöst, wenn der Zeiger die Mitte erreicht, nicht per Interval eines Timers.
Übrigens, wenn man die BPM auf ca 65 stellt, bekommt man recht genau 1000ms auf dem Hin- und 1015ms auf dem Rückweg des Zeigers. Also die Ungenauigkeit sollte sich "wegrechnen" lassen, muss mal sehn, ob das geht. Aber eigentlich ist die Ungenauigkeit kein Problem: Beim Spielen soll man nicht sich eine genaue Geschwindigkeit perfekt einprägen, sondern lernen, nach einer Vorgegebenen "Richtgeschwindigeit" zu spielen. Der Dirigent variiert am Ende sowieso.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: So 01.04.07 20:07 
Also, der fehler beim Entpacken kommt bei mir auch. Als ich es dann mit Winrar gemacht habe, funktionierte es plötzlich. na egal.
Bei mir wird kein Bild angezeigt,zumindest, wenn man das programm erst kleingezuogen und dann wieder großgezogen hat; Mein Vorschlag: Größe ändern verhindern.
Und noch was: Pausiert man das Programm und stellt man einen anderen wert ein, so wird der Interval addiert.
P.S. Du solltest den Timer nur laufen lassen, wenn das Programm aktiv ist.
Einloggen, um Attachments anzusehen!
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 01.04.07 22:36 
user profile iconRegan hat folgendes geschrieben:
Als ich es dann mit Winrar gemacht habe, funktionierte es plötzlich.
Nun, ich habs mit Winzip verpackt :gruebel:
user profile iconRegan hat folgendes geschrieben:
Bei mir wird kein Bild angezeigt, [...]zumindest, wenn man das programm erst kleingezuogen und dann wieder großgezogen hat; Mein Vorschlag: Größe ändern verhindern[/...]

Klar, bsSingle war schon geplant, nur... Dass dann das Bild nicht mehr angezeigt wird ...? :gruebel: Das find ich echt seltsam. Die Paintbox wächst beim Verändern der Fenstergröße nämlich nicht mit, oder so.
user profile iconRegan hat folgendes geschrieben:
Und noch was: Pausiert man das Programm und stellt man einen anderen wert ein, so wird der Interval addiert.
P.S. Du solltest den Timer nur laufen lassen, wenn das Programm aktiv ist.

Das ist seltsam... Wenn man auf Start/Stop klickt wird der Timer normalerweise Enabled:= not Enabled. :gruebel:

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.