Frage(n) zur VB6 Pluginentwicklung

  • Hallo,


    ich experimentiere derzeit etwas mit VB6 und versuche ein Plugin damit für DMXC zu erstellen.


    Meine derzeit erste Frage ist: Gibt es eine Möglichkeit das Fenster zur Kanalbelegung (Beispiel: bei Submaster oder Sound Analyzer) für eigene Projekte aufrufen und nutzen zu können?
    Wenn ja wie?


    Vielen Dank,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

  • Quote

    Original von Black
    Gibt es eine Möglichkeit das Fenster zur Kanalbelegung (Beispiel: bei Submaster oder Sound Analyzer) für eigene Projekte aufrufen und nutzen zu können?


    Jein - bis eben gab es sie nicht, jetzt wird der RC3 dir den Weg frei machen ;)


    Der PluginHelper wird die neue Schnittstelle "IDialogsProvider" unterstützen, über die du an ein "Dialogs"-Objekt kommst, welches die Standard-Dialoge von DMXC (im Moment nur zwei :rolleyes:) zur Verfügung stellt.


    Stefan

  • Danke für deine schnelle Antwort!


    Besteht die Möglichkeit, dass ich einen Beat zum Beat-tool aus meinem Plugin heraus ausgebe?


    Auf welche Funktionen von DMXC kann man überhaupt derzeit zurückgreifen? (Im Sinne von ich schick irgendwohin Daten, bekomme von irgendwo Daten, oder nutze irgendwelche Fenster, wie die Kanalzuweisung, Szenenauswahl, etc...)


    Vielen Dank,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

  • Hallo,


    gibt es eine Möglichkeit, dass ich ohne die Pluginschnittstelle von RC3 nutzen zu müssen, einen Beat aus meinem Plugin heraus zum Beat-Tool schicke?
    Wie sieht diese aus?


    Vielen Dank,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

  • Hallo,


    das Senden von Messages funktioniert auch schon mit DMXControl 2.9. Um ein Beat-Signal zu senden musst du folgenden Aufruf in deinem Plugin verwenden:

    Call mHelper.MyStream.UserInteraction
    Call mHelper.Messages.Send(MSG_Beat_Detected, 2, 0)

    Ein Beispiel (fast) aller Funktionen, die mit Plugins möglich sind bietet das Plugin:
    http://www.dmxcontrol.de/wiki/…chiv#DMXC_Plugin_Tutorial
    Schau einfach mal in den Code zu den entsprechenden Themen.


    Viele Erfolg
    Frank

  • Quote

    Original von Frank Brueggemann
    Call mHelper.MyStream.UserInteraction
    Call mHelper.Messages.Send(MSG_Beat_Detected, 2, 0)


    Leider muss ich Frank minimal korrigieren:
    Der "UserInteraction"-Aufruf gehört nicht zum Beat und sollte auch nicht so verwendet werden - er sorgt dafür, dass der DMX-Mixerkanal des Tools die Markierung "zuletzt von Benutzer angefasst" bekommt (und somit ausgegeben wird). Lass ihn also weg, die "Send"-Zeile reicht.


    Stefan

  • Quote

    Original von Frank Brueggemann
    Call mHelper.Messages.Send(MSG_Beat_Detected, 2, 0)


    Was bedeuten die Variablen "MSG_Beat_Detected", "2", "0"?
    Wie muss ich diesen Befehl handhaben?
    Reicht das bloße senden dieser Zeile, damit das Beat-Tool einen Beat-"Schlag" erkennt? Oder muss ich da ein bisschen mehr senden?


    Vielen Dank,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

    Edited once, last by Black ().

  • Hallo,


    die Variablen-Bedeutung ist beim Senden des Beat-Signals folgende:


    Code
    Call mHelper.Messages.Send(MSG_Beat_Detected, 1, 0)


    bewirkt im Beat-Tool das Ausführen des "Tap-Buttons" womit DMXC dann einen Beat berechnet, während


    Code
    Call mHelper.Messages.Send(MSG_Beat_Detected, 2, 0)


    einen echten Beat-Impuls gibt und zum Beispiel alle musikgesteuerten Effekte dabei einen Schritt ausführen.


    @Weissbier:
    wie Stefan oben schon erwähnt hat muss man


    Code
    call mHelper.MyStream.UserInteraction


    nicht aufrufen (Ich habs gerade getestet).


    Gruß
    Frank

  • Quote

    Original von Frank Brueggemann

    Code
    Call mHelper.Messages.Send(MSG_Beat_Detected, 1, 0)


    bewirkt im Beat-Tool das Ausführen des "Tap-Buttons" womit DMXC dann einen Beat berechnet, während


    Code
    Call mHelper.Messages.Send(MSG_Beat_Detected, 2, 0)


    einen echten Beat-Impuls gibt und zum Beispiel alle musikgesteuerten Effekte dabei einen Schritt ausführen.


    Hallo,


    das heißt dann, dass ich mit dem ersten Befehl das Beat-Tool mit Tap ansteuere und dass ich mit dem zweiten Befehl direkt ohne Beat-Tool alle Effekte, etc... einen Schritt weiter ausführen lasse?


    Grüße,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

  • Quote

    Original von Black
    das heißt dann, dass ich mit dem ersten Befehl das Beat-Tool mit Tap ansteuere und dass ich mit dem zweiten Befehl direkt ohne Beat-Tool alle Effekte, etc... einen Schritt weiter ausführen lasse?


    Nein, nicht direkt.
    Der zweite Parameter ist eine Art Priorität. Der Wert 1 kennzeichnet "normale" Beat-Quellen (in DMXC den Sound Analyzer), während die 2 für das BeatTool steht und im Zusammenhang mi einer internen Variable dafür sorgt, dass dessen Beats statt denen vom Sound Analyzer verwendet werden.
    Für Beat-Quellen aus Plugins sollte also nur die 1 benutzt werden!


    Stefan

  • Wenn ich diese Public Sub im selben Modul anlege, wo die Public Subs "SetDMXvalue" und "GetDMXvalue" deklariert sind:

    Code
    Public Sub SetBeat()Call mHelper.Messages.Send(MSG_Beat_Detected, 1, 0)End Sub


    und dann einen Button auf meiner Form anlege, der diese Public Sub aufruft:

    Code
    Private Sub Command1_Click()
    SetBeat
    End Sub


    (dann natürlich die dll erstelle, mit DMXC starte und das Beat-Tool öffne) und dann auf den Button klicke (auch des öfteren hintereinander), tut sich nichts im Beat-Tool. Die DMX-Ausgabe mit SetDMXvalue funktioniert aber!


    Hab ich da was falsch verstanden, oder woran liegt es, dass dies nicht funtioniert?


    Vielen Dank,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

  • Mit dem BeatTool hat das auch erstmal nichts zu tun - du schreibst ja deine eigene Beat-Quelle, so wie z.B. den Sound Analyzer. Was passieren sollte ist, dass die auf "Musikgesteuert" gestellten Effekte bei deinen eingespeisten Beats weiterschalten.
    Das BeatTool interessiert sich nur für deine Beats, wenn du "vom SoundAnalyzer" aktivierst und als 2. Parameter die 1 verwendest.


    Stefan

  • Hallo,


    ich habs jetzt hinbekommen, dass ich meinen Beat ans Beat-Tool schicken kann.


    Neue Frage (hat vielleicht nicht ganz mit DMXC zu tun):
    Wo bekomm ich die gleichen Grafiken her, wo Ihr für "Hinzufügen", "Bearbeiten" und "Löschen" benutzt?
    Wär echt super, wenn ich dieselben benutzen könnte!


    Vielen Dank,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

  • Keine Ahnung, wo ich die selben Buttons herbekomm, wo ich frei für mein Projekt nutzen darf?


    Andere Frage:
    Ich hab in VB6 bei den Projekteinstellungen unter dem Reiter "Debuggen" folgende Einstellung getätigt, wie sie mir im Wiki empfolen wurde:

    Code
    Programm starten:
    C:\Software\e-Sound\DMXControl\DMXControl.exe -debugdll: eSound2Light.dll


    Wenn dann ein Fehler, beispielsweise: "Typen nicht verträglich", zeigt mir VB6 trotzdem nicht den Fehler im Quelltext an, welcher Typ nun nicht verträglich ist. Das ist manchmal sehr hinderlich... Kann man das ändern/beheben?


    Vielen Dank,


    Black

    Ein Jeder muss mal klein anfangen ...
    ... denn es ist noch kein Genie vom Himmel gefallen :D


    Und meine Lampen haben Fieber, denn sie glühen immer wie irre, bevor sie Ihren großen Auftritt haben...

  • Newly created posts will remain inaccessible for others until approved by a moderator.

    The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.