AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Virtual Piano
Thema durchsuchen
Ansicht
Themen-Optionen

Virtual Piano

Ein Thema von EWeiss · begonnen am 8. Mär 2011 · letzter Beitrag vom 13. Apr 2019
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Virtual Piano

  Alt 8. Mär 2011, 21:55
Zitat:
Edit²: Könntest du vielleicht schon im OnMouseDown einen Ton auslösen, nicht erst im OnMouseUp? Erscheint mir irgendwie intuitiver und logischer.
Da gibt es kein OnMouseDown oder ähnlich ..
Sorry das ist alles NONVCL.
Ich weiß, mir fällt aber kein besserer Begriff ein. Es gibt auch eine Windows-Message die einem MouseDown-Event entspricht, genau die wird von der VCL ja auch verwendet.
Die Messagen von der Checkbox beim Clicken gehen auf WM_COMMAND..
Ich könnte drt mal versuche mit zwei hintereinander folgenden PostMessagen ein
UP und DOWN Click zu Emulieren.

Ich hab in nonvcl noch nichts so richtig hinbekommen um ein ähnliches verhalten wie in der VCL zu bekommen.

gruss

Geändert von EWeiss ( 9. Mai 2011 um 18:35 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Virtual Piano

  Alt 8. Mär 2011, 22:23
Ich weiß nicht, ob wir aneinander vorbeireden, aber ich rede von den Klaviertasten – diese werden ja beim Drücken der Maustaste schon gedrückt gezeichnet, der Ton kommt aber erst beim Loslassen der Taste. Das sollte doch auch gleichzeitig gehen, oder?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Virtual Piano

  Alt 8. Mär 2011, 22:32
Ich weiß nicht, ob wir aneinander vorbeireden, aber ich rede von den Klaviertasten – diese werden ja beim Drücken der Maustaste schon gedrückt gezeichnet, der Ton kommt aber erst beim Loslassen der Taste. Das sollte doch auch gleichzeitig gehen, oder?
Nein habe ich verstanden..
Deshalb muss ich ein upDown Event emulieren damit der Ton dann spielt wenn du auf eine Taste klickst.
Das geht aber (zumindest im moment) nur über diese beiden Windows Messagen.
Bis ich eine bessere lösung dafür finde.

Vielleicht hat ja jemand von den Profis hier noch eine Idee.
Muss aber unter nonvcl laufen.


gruss
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Virtual Piano

  Alt 8. Mär 2011, 22:49
Aber irgendwo muss eine entsprechende Mouse-Down-Message doch bereits verarbeitet werden, damit die Taste neu gezeichnet werden kann.

Ich hab mal ein kleines Knob-Beispiel angehängt, vielleicht hilft es dir ja. Durch deinen Code bin ich ehrlich gesagt nicht ganz durchgestiegen...
Angehängte Dateien
Dateityp: zip Knobs.zip (205,8 KB, 40x aufgerufen)

Geändert von Namenloser ( 8. Mär 2011 um 22:55 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Virtual Piano

  Alt 9. Mär 2011, 04:56
Zitat:
Aber irgendwo muss eine entsprechende Mouse-Down-Message doch bereits verarbeitet werden, damit die Taste neu gezeichnet werden kann.
Nö!
Ist das selbe als wenn du einen Button auf deine form legst.
Ohne die Events hast du auch keine zusätzlichen Messagen, diese mußt du auch erstmal einbinde.
Bei nonvcl Nutton ist das nicht anders. Außnahme du mußt alles von Hand (Selbst machen).

Zitat:
Ich hab mal ein kleines Knob-Beispiel angehängt, vielleicht hilft es dir ja
Danke.
Sieht fein aus und recht einfach im gegensatz zu meins.
Werd dann mal schaun ob ich das mit meinen Bildern kombinieren kann.

gruss

Geändert von EWeiss ( 9. Mär 2011 um 05:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Virtual Piano

  Alt 9. Mär 2011, 05:31
Zitat:
Aber irgendwo muss eine entsprechende Mouse-Down-Message doch bereits verarbeitet werden, damit die Taste neu gezeichnet werden kann.
Nö!
Ist das selbe als wenn du einen Button auf deine form legst.
Das erstehe ich auch nicht. Du veranlasst doch bei dir irgendwo ein Neuzeichnen der Klaviertasten. Beim "OnMouseDown" (ich nenne es mal so) zeichnest du die Taste nach unten gedrückt. D.h. du hast irgendein Ereignis, auf das du hier bereits reagierst.
Und genau dort kannst du doch auch den Wiedergabe-Aufruf einfügen oder nicht?

Das meint Philip sicher und ich sehe es momentan genauso.

Jetzt hab ich erstmal alle Tasten neu zugewiesen..
Vorher waren es Button nun sind es Checkboxen.
Wie, die Klaviertasten sind nun CheckBoxen? Darf ich fragen warum? Ganz erschließt mir der Sinn hier nicht, da ich die Tasten nicht bei einem Klick "einrasten" lassen möchte.

PS: Schade, dass die Audioausgabe bei mir nicht geht.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Virtual Piano

  Alt 9. Mär 2011, 07:10
Zitat:
Das erstehe ich auch nicht. Du veranlasst doch bei dir irgendwo ein Neuzeichnen der Klaviertasten. Beim "OnMouseDown" (ich nenne es mal so) zeichnest du die Taste nach unten gedrückt. D.h. du hast irgendein Ereignis, auf das du hier bereits reagierst.
Und genau dort kannst du doch auch den Wiedergabe-Aufruf einfügen oder nicht?

Das meint Philip sicher und ich sehe es momentan genauso.
Die Paint Methode innerhalb der DLL hat nichts mit dem Event OnMouseDown zu tun.
Und ja ich prüfe ob sich die Maus im Rect befindet

Aber diese werte kann ich nicht nach außen geben.
Das muss extern in der Anwendung ausgewerte werden.
Diese Function gilt für alle Controls welche über die Class 'BUTTON' registriert sind.
So einfach ist das nicht.

Ich werd mir was überlegen.

Zitat:
Wie, die Klaviertasten sind nun CheckBoxen? Darf ich fragen warum? Ganz erschließt mir der Sinn hier nicht,
da ich die Tasten nicht bei einem Klick "einrasten" lassen möchte.
Tun sie auch nicht.. Nur wenn der Schalter Eingeschaltet bzw. ein Preset Song gespielt wird.
Dann wird die Taste automatisch gedrückt von der jeweiligen Note halt.
Ohne jetzt SendKeys oder ein MouseDown zu emulieren.

gruss

Geändert von EWeiss (15. Mai 2011 um 08:32 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Delphi-Forum.de - Array statisch/dynamisch oder TList fr Midi-Events This thread Refback 20. Sep 2011 14:59

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz