Freitag, 17. April 2009

Maussteuerung

Ein Weiterer Subpatch in Eigenkreation ist eine Maussteuerung die einem ermöglicht die Bewegungsrichtung der Maus zu erfassen. Die Geschwindigkeit wird hierbei nicht berücksichtigt, auch die neue Position der Maus wird nicht ausgelesen.
Durch das drücken der Taste M wird die Maus Zentriert (da dies leider nicht hunder prozentig funktioniert ist im nachhinein etwas mehr Mathe nötig).

mouse control_2009.04.17-16.22.58

Die Taste M soll als Ein- und Ausschalter funktionieren. Da ich noch nicht rausgefunden hab wie das Programierbar ist nutze ich einen Counter der duch etwas feintunig des Maximum Wertes und dem Modus 'Wrap' in etwa das Prinzip eines einfach Ein- und Ausschalters den man nur kurz drücken muss damit sich der modus verändert. (Dafür gibt es mit sicherheit viel einfachere Lösungen, wenn man sie den kennt) Das ganze fixiert dem Cursor über die Funktion 'Set Cursor Position' des Cursor.
Da Mouse von Cursor beeinflusst wird wird somit nur die Bewegung der Maus Ausgegeben. Hier kommten nun ein + und ein - zum einsatz da 'Set Cursor Position' den Cursor nicht genau auf 0, 0 setzt.
Durch
>= wird verhindert das leichtes Zittern schon als Bewegung wahrgenommen wird (den richtigen Wert dafür muss man Austesten).
Sobald als eine Bewegung der Maus wahrgenommen wird und diese (egal wie schnell oder weit die Bewegung ist) als 1 aus >= weitergeleitet wird tritt das gleiche Prinzip in Kraft wie bei der Tastatursteuerung. Über einen Counter und mehrere Multiplikatoren entsteht auch aus der kürzesten Mausbewegung eine frei wählbare Dauer in der ein Sound Abgespielt werden kann.
Da die X und Y Bewegung aus der Mitte des Bildschirms ausgelesen wird wie diese im Bereich von -1 bis 1 angegeben.
Der X und Y Wert kann also doppelt genutzt werden (einmal direkt und einmal mit -1 Multipliziert) somit kann jede Richtung einzeln ausgelesen werden. Dadurch entstehen 8 Mögliche Richtungsangaben welche für eine solch klassische Maussteuerung ausreichen.

Hier gibt es den Patch zum Download: mouse control

Und hier gehts zur vvvv Comunity: vvvv.org

Legende:
Kursiv und Rot = Nood
Kursiv = Pins

0 Kommentare:

Kommentar veröffentlichen