Hallo Markus,
Mein Problem ist die Abbruchbedingung des Tons. Wie soll ich diese einbauen? Bis jetzt hat das nicht so richtig funktioniert.
Lg DOM
Hey,
Ich hab jetzt mal mein Programm angehängt. Könntest du mir helfen den Fehler bei der state-machine zu finden, warum das nicht funktioniert?
Lg DOM
was funktioniert denn nicht, bei mir scheint das Programm zu gehen.
Gruß
Hallo,
wenn einer der Buttons Linke- oder Rechte Seite gedrückt wird, soll die Tonausgabe abgebrochen werden, auch schon bevor die Amplitude 0,5 ist.
Lg DOM
Die schnelle Info:
Das kann nicht gehen, da ja dass Event "Nächste Frequenz" noch abgearbeitet wird. Der Button "linker/rechter Kanal" ist ein anderes Ereignis. Nach meiner Meinung wäre es am besten mit einer Consumer/Producer-Struktur: Du hast eine Consumer-Loop, die sich um das Ton-Ausgabe kümmert und dazu Befehle bekommt, wie "Ton ausgeben mit folgender Frequenz", oder "Ton abbrechen". Die Befehle kommen, von deiner EventStruktur (Producer) die dem "Tonerzeuger" sagt was er (neues) zu tun hat.
Kennst du die Producer/Consumer-Architectur? Wenn nein, schau mal in die Beispiele. Außerdem gibts ein "New... VI-Pattern" dass bei Neuerstellung eines VIs die Grundstruktur auslegt.
Bei Fragen einfach weiterfragen...
Gruß
Hey,
Ok, das leuchtet mir ein.
Von einer Consumer/Producer - Struktur hab ich bis jetzt noch nie etwas gehört. Ich hab mir das mal angesehen und eigentlich besteht diese Struktur ja nur aus 2 While-Schleifen und einer Queue. Trotzdem habe ich keine Ahnung wie ich das in mein Programm einbauen soll.
Kannst du mir bitte helfen?
Oder gibt es eventuell eine andere bzw. einfachere Möglichkeit?
Lg DOM
Hallo DOM88,
also ich hab die Struktur ein wenig umgeändert. Jedoch habe ich keine Vollwertige Producer/Consumer-Struktur implementiert. Vielleicht wär das eine Lernaufgabe für dich. Die Einstellungen für die "SoundMaschine" werden per lokale Variable weitergegeben, das ließe sich verbessern.
Ansonsten hab ich ein wenig aufgeräumt. Trotzdem ist noch nicht ganz rund...
Was denkst du?
[
attachment=38016]
[
attachment=38015]
Gruß
Hallo,
Erst mal danke für deine Hilfe.
Leider bin ich nahezu blutiger Anfänger und brauche immer ein bisschen länger um etwas zu verstehen, aber mit deinem Umbau des Programms und der eingebauten Cosumer/Producer - Struktur komm ich nicht mehr mit. Ich hab mir dass jetzt öfters durchgesehen, aber ich verstehe es einfach nicht.
Gibt es wirklich keine einfachere Möglichkeit als eine Consumer/Producer - Struktur?
Lg DOM
Hallo Dom,
Keine Angst vor dem QuellCode! Ich hab ja gar keine Producer/Consumer-Struktur gebaut. Nur 2 parallele Schleifen. In der oberen Schleife werden die Benutzereingaben verarbeitet und in der unteren werkelt die Tonerzeugung.
Wenn jetzt der Benutzer die Parameter zur Tonerzeugung ändert, dann reagiert die Tonerzeugung darauf...
Die Frage ist, was du nicht verstehst: Du kennst die Strukturen WhileSchleife, Case, For, Event usw. Soweit so gut. Nun also ist es am besten du erklärst/zeigst was genau du nicht verstehst. Versuche auch mal mit Sonden zu untersuchen welche Daten wo lang fließen.
Und das Programm ist noch lange nicht perfekt. Sobald du verstehst, was da genau passiert, kannst du es verbessern und optimieren. Das wird schneller gehen als du jetzt denkst.
Gruß
Hey,
Ich hab mir das jetzt öfters mit der "Highlight Funktion" angesehen und es ist doch nicht so schwierig wie es aussieht. Aber ein paar Fragen hätt ich trotzdem noch:
1) Bei der Toneinstellung in der zweiten Schleife (Bild 1), sollte meiner Gedankenfolge nach das Ergebnis, da die beiden Werte eigentlich immer gleich sind, auch immer False sein (was für die Funktion des Programmes eigentlich unlogisch wäre), aber das ist nicht der Fall. Warum?
2) Welchen Zweck erfüllt bzw. welche Funktion hat eigentlich dieser "Cluster" (Bild 2)? Ich hab mir die Info in der Hilfe zwar durchgelesen, aber die hilft mir auch nicht wirklich weiter.
Bitte um dein Hilfe.
Lg DOM