Einbindung Novation Launchpad und andere Programmcode-Fragen

Planungen und Wünsche die Entwicklung betreffend
rab3
Kabelschlepper
Beiträge: 11
Registriert: 05.01.2012, 10:38

Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von rab3 »

Hi Folks,
als erstes Mal ein gaanz großes DANKESCHÖN an den Entwickler, das ist echt genial was du hier machst und wie User-nah du arbeitest! :clap:
Ich bin seit ein paar Jahren zufriedener PC_DIMMER-User, jetzt stehe ich aber vor einem Problem, das ich alleine nicht mehr so richtig bewältigen kann:
Ich habe mir das Novation Launchpad zugelegt, weil mir das Prinzip mit den verschieden beleuchtbaren Tasten so schön fürs Licht-Steuern vorkommt. Jetzt bin ich gerade dabei, das irgendwie in mein Setup zu integrieren, aber mir fehlt noch die "schöne" Lösung...
Und zwar sendet das Teil ganz einfach bei jedem Tastendruck eine MIDI-Note, beim Loslassen den Off-Befehl. Die Hintergrundbeleuchtung der Tasten wird über das Backtrack gesteuert, dabei hört jede Taste auf die gleiche Note, die sie auch auslöst, und die Farbe wird im Velocity-Wert übermittelt. Die möglichen Farben sind Rot, Grün, Amber und Gelb, jeweils mit 3 Helligkeits-Stufen. Die zugehörigen Velocity-Werte sind auf verschiedene Weise über die 127 Werte verteilt - und da ist auch schon mein Problem: Wie kann ich es am elegantesten umsetzen, dass im MIDI-Backtrack der Velocity-Wert geschickt wird, den ich für diesen Button haben will?
Mein erster (unschöner) Ansatz ist, dass ich ein DDF nur mit einem COLOR-Kanal geschrieben habe und dieses Gerät 64mal angelegt habe. D.h. in jede Szene und jeden Effekt, den ich damit steuern will, habe ich dann eine Szene eingefügt, die den Button entsprechend leuchten lässt. Da kommt aber gleich das nächste Hindernis: Wie kann ich das Ende einer Szene oder eines Effektes überwachen, um dann wieder eine inaktiv-Farbe an den Button zu senden?
Dann habe ich angefangen, das übers Kontrollpanel und Programmcode-Buttons umzusetzen, weil ich so die ButtonMouseUp-Funktion habe, in der ich das "Ende" behandeln kann...
Aber das sind alles irgendwie keine richtigen Lösungen, deshalb bitte ich euch um Hilfe/Ideen.
Wahrscheinlich wäre es dafür sinnvoll, ein PlugIn zu programmieren? Nur das müsste in Delphi sein, oder? Und da fehlt mir leider komplett die Erfahrung... :(

Und dann habe ich noch eine Frage zu Programmcode-Buttons im Kontrollpanel: Kann ich da irgendwie globale Variablen einsetzen? Sprich dass z.B. ein Button einen Wert festlegt, den ich dann von einem anderen Button aus abfragen kann? Das habe ich bisher auch über zusätzliche Dimmerkanäle gemacht, weil ich so die set- und get-channel-Funktionen verwenden konnte... :)

Fragen über Fragen, ich hab mich an die Wand programmiert :wall:

Vielen Dank im Voraus für eure Antworten!!
Gruß Raphael
Ingo
< PC_DIMMER >
Beiträge: 544
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Ingo »

Hallo Raphael!

Das ist natürlich nicht ganz einfach so ein Pult mit Backtrack einzubinden. Möchtest du nun ein "echtes Backtrack" machen, so dass zum Beispiel die Buttonfarbe den Zustand eines Effektes anzeigt? Oder soll es manuell sein, sodass du die Buttonfarben immer mittels Szenen setzt? Es wäre möglich, das als Plugin zu machen, in dem das Plugin auf Starten und Stoppen von Szenen oder auf Kanaländerungen oder auf einen Plugin-Definierten Befehl hört. Die Schnittstellen gibt es ja mittlerweile. Dann sendet halt das Plugin ein MIDI-Event.
Ich stelle mir das Plugin grundsätzlich als eine Liste von Zuordnungen vor, welches MIDI-Event geschickt werden soll, wenn etwas bestimmtes im PC_DIMMER passiert. Das könnte man dann mittels einer Oberfläche zum Beispiel für eine Buttonmatrix grafisch userfreundlicher machen. Das würde sich nämlich auch für andere Pulte als "ultimatives Backtrack-Plugin" einsetzen lassen :yeah: :car: .
Wenn du willst, setze ich mich da mal dran.
Du scheinst ja viel in DDFs und im Kontrollpanel zu programmieren. Das ist eigentlich nicht der vorgesehene Lösungsweg, da man schnell mal die Übersicht verliert da es ja sowieso alles nur Notlösungen sind. Hier sollte man ein Plugin schreiben. Trotzdem gut dass du dir zu helfen weißt :clap:

Viele Grüße,
Ingo
rab3
Kabelschlepper
Beiträge: 11
Registriert: 05.01.2012, 10:38

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von rab3 »

Hi Ingo,
danke für die Antwort und das Angebot, dir darüber Gedanken zu machen!
Ich hätte es mir schon als "echtes Backtrack", wie du es genannt hast, vorgestellt, das mit den manuellen Szenen ist so eine dermaßene Krücke, zumal die 64, bzw. 80 neuen Geräte dafür es nicht gerade übersichtlich machen :roll:
Das war nur die erste Notlösung, die mir eingefallen ist :)
Genau so eine Liste als PlugIn umzusetzen, das wäre mein Ziel gewesen. Sprich jedem Button eine active-, eine inactiv-Farbe und das zu steuernde Element zuweisen (Flash-Tasten, Szenen, Effekte, whatever).
Ich würde sehr gern für meine Bedürfnisse PlugIns schreiben können, nur hab ich mirch bisher nicht so wirklich an Delphi, bzw. C++ herangewagt :)
Jetzt habe ich mir aber mal Visual C++ und das Demo-Plugin heruntergeladen, ich denke mit etwas Zeit könnte ich da schon reinkommen.
Vielleicht kannst du ja irgendwann anfangen mit dem Grundkonzept, und ich kann es dann fortsetzen?
Viele Grüße,
Raphael
Ingo
< PC_DIMMER >
Beiträge: 544
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Ingo »

Hi Raphael!
rab3 hat geschrieben:Jetzt habe ich mir aber mal Visual C++ und das Demo-Plugin heruntergeladen, ich denke mit etwas Zeit könnte ich da schon reinkommen.
Du hast also noch keine Erfahrungen in C++, stimmts? Ich habe mit C++ keinerlei Erfahrungen, erst recht nicht mit Windows Forms darin. Und mir ist die Lust eben schon vergangen, mich weiter damit zu beschäftigen, nachdem ich diverse Artikel im Internet gelesen habe und diverse Schwierigkeiten beim Testen hatte. Fängt ja schon damit an, dass es verschiedene Möglichkeiten der Forms-Einbindung gibt, die "normalen" sind so wie ich das sehe nicht objektorientiert und von C++/CLI, was .NET implementiert, wird stark abgeraten.
Wenn du also die Oberfläche in C++ zum laufen bringst, kann ich gerne die Datenstrukturen usw. einprogrammieren. Ich programmiere PC_DIMMER Plugins normalerweise mit Delphi. Das ist auch für Einsteiger gut erlernbar und es geht in der Regel problemlos und schnell, gerade für solche kleineren Projekte.

Viele Grüße,
Ingo
rab3
Kabelschlepper
Beiträge: 11
Registriert: 05.01.2012, 10:38

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von rab3 »

Hi,
ja richtig, ich kenne mich nur in Web-Sprachen wie php, html usw. aus, ansonsten wirds dünn...
Wir können das auch gern in Delphi starten, da bin ich ganz offen :)
Wenn du den Anfang machen könntest, wäre ich dir sehr dankbar und könnte versuchen, weiterzumachen!

Großes Danke schonmal!
Raphael
Ingo
< PC_DIMMER >
Beiträge: 544
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Ingo »

Okay, da bin ich aber erleichtert :P

Ich programmiere das gerne für dich, wäre ja auch für andere Benutzer von Nutzen. Wenn nun zwei Leute an einem Plugin "rumwurschteln" wird das glaube ich auch nur unnötig kompliziert. Du kannst aber natürlich gern die Entwicklung am Code verfolgen, und eventuell noch Tipps geben, wenn du dann am fertigen Programm noch Änderungen wünschst.

Ich bin ja gespannt, was Chris sagen wird ;) . Ich hoffe ich bekomme das in kurzer Zeit hin.

Viele Grüße,
Ingo
rab3
Kabelschlepper
Beiträge: 11
Registriert: 05.01.2012, 10:38

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von rab3 »

Yeeha, Vorfreude :)

Auch gut, ich wollte dich nur etwas entlasten, aber du hast schon recht.

Viele Grüße
Ingo
< PC_DIMMER >
Beiträge: 544
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Ingo »

Hallo Raphael!

Vielleicht hast du ja im Programmierthread schon mitgelesen, ich bin mit den grundlegenden Funktionen des Programms fertig, es fehlt lediglich noch an ein paar Events seitens des PC_DIMMERs. Christian meinte, er kann sich am Freitag daran setzen. Gedulde dich also bitte noch ein bisschen.

Ich habe mir mal das Novation Launchpad angeschaut, habe aber noch keine Oberfläche dafür programmiert, ich weiß noch nicht genau wie ich das mache. Ich besitze leider keines, deshalb müsstest du das dann alles testen.
Wäre ein Seitenmodus sinnvoll? Damit meine ich dass man mehrere Seiten mit Buttonzuweisungen anlegen kann, die man mit den Pfeiltasten umschalten kann, um nicht auf 64 (... 80) Funktionen beschränkt zu sein... Wäre zwar noch etwas komplizierter, aber gut vorher zu wissen (ich möchte halt immer alles so flexibel wie möglich machen ;) ).

Viele Grüße,
Ingo
rab3
Kabelschlepper
Beiträge: 11
Registriert: 05.01.2012, 10:38

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von rab3 »

Hi Ingo,
ja ich hab den anderen Thread gesehen und freu mich immer mehr darauf!
Die Programmers Reference fürs Launchpad kennst du, oder?
Es gibt da ja auch die Funktion, über Note-On-Messages im Kanal 3 die ganze Oberfläche schnell zu aktualisieren, vielleicht kannst du das brauchen für die Umsetzung?
Wenn du die Funktions-Buttons oben als solche einsetzen kannst, wäre das sicher sehr interessant, eben gerade um dann z.B. auch Fader oder XY-Pads auf eine Seite legen zu können.

uiui, das wird die ultimative Lichtsteuerung!! :)

Ich habe nebenher auch an meiner Notlösung weitergearbeitet, weil ich das bei einem bald anstehenden Job einsetzen möchte, und es macht echt Spass mit dem Teil zu beleuchten! Zwar ist das Programmieren so wie ich es zur Zeit mache recht umständlich (weil ich auch die Szenen- und Effekt-Start/Stops nicht abfragen kann) aber wenns erstmal eingerichtet ist, ist es so toll mit dem direkten visuellen Feedback, da kommt richtig Freude auf :clap:
Ende Januar könnte ich dir voraussichtlich auch das Pad mal zuschicken, dann ist es zum Testen für dich einfacher, wenn du willst.

Also - weiterhin ganz vielen Dank und schöne Grüße,
Raphael
Ingo
< PC_DIMMER >
Beiträge: 544
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Ingo »

Hi Raphael!

Ja die Programmers Reference kenne ich.
rab3 hat geschrieben:Wenn du die Funktions-Buttons oben als solche einsetzen kannst, wäre das sicher sehr interessant, eben gerade um dann z.B. auch Fader oder XY-Pads auf eine Seite legen zu können.
Oh, das mit den Fadern habe ich ja aus dem Musikbereich bereits gelernt, aber XY-Pad? Das ist natürlich eine tolle Idee :clap: . Dann werde ich mir da noch ein paar mehr Gedanken machen ;).
rab3 hat geschrieben:Ende Januar könnte ich dir voraussichtlich auch das Pad mal zuschicken, dann ist es zum Testen für dich einfacher, wenn du willst.
Danke für das tolle Angebot, aber ich glaube nicht dass du das bis nach Indien schicken willst :D .

Viele Grüße,
Ingo
Ingo
< PC_DIMMER >
Beiträge: 544
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Ingo »

Ach, mal ganz nebenbei: Wenn ich die Seitenfunktion implementieren will, muss ich wohl auch die MIDI-Verarbeitung selbst übernehmen, da die PC_DIMMER-Midieinstellungen ja keinen Seitenmodus hat, richtig?
rab3
Kabelschlepper
Beiträge: 11
Registriert: 05.01.2012, 10:38

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von rab3 »

Ingo hat geschrieben:Danke für das tolle Angebot, aber ich glaube nicht dass du das bis nach Indien schicken willst :D .
Ups, da war ich unterinformiert ;)
Ingo hat geschrieben:Ach, mal ganz nebenbei: Wenn ich die Seitenfunktion implementieren will, muss ich wohl auch die MIDI-Verarbeitung selbst übernehmen, da die PC_DIMMER-Midieinstellungen ja keinen Seitenmodus hat, richtig?
Oh, da hast du absolut Recht, das würde aber auch für Fader und XY-Pad (das war allerdings nur so eine Idee, muss nicht dringend sein) zutreffen, dass du irgendwie die MIDI-Werte vor dem PC_DIMMER abfangen und modifizieren müsstest? Wäre das möglich?

//edit: bzgl. Seitenverwaltung und Fader/XY-Pad hab ich noch was ganz feines gefunden: Midi-Katapult. Sollte eigtl das machen, was wir uns vorstellen :)
Ingo
< PC_DIMMER >
Beiträge: 544
Registriert: 19.03.2009, 17:49
Wohnort: Bad Hersfeld bzw. Stuttgart

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Ingo »

rab3 hat geschrieben: Oh, da hast du absolut Recht, das würde aber auch für Fader und XY-Pad (das war allerdings nur so eine Idee, muss nicht dringend sein) zutreffen, dass du irgendwie die MIDI-Werte vor dem PC_DIMMER abfangen und modifizieren müsstest? Wäre das möglich?

//edit: bzgl. Seitenverwaltung und Fader/XY-Pad hab ich noch was ganz feines gefunden: Midi-Katapult. Sollte eigtl das machen, was wir uns vorstellen
Ja, ist das Katapult denn kostenlos? Und wie ist es dann nun komfortabler? Ich werde mal drüber nachdenken, was nun Sinn macht und was nicht, und wie speziell man das Plugin nun auf das Launchpad zuschneiden soll oder wie algemeingehalten es werden kann...

Viele Grüße,
Ingo
rab3
Kabelschlepper
Beiträge: 11
Registriert: 05.01.2012, 10:38

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von rab3 »

Man kann eine Demo runterladen, auf die Schnelle hab ich keine Einschränkung gefunden.
Wenn du aber die Funktionen wie Seitenwechsel und Fader selbst implementieren kannst, ist das sicher die bessere Lösung.
Ich weiß natürlich nicht, was du schon gemacht hast, machen kannst und vorhast zu machen, und ich will dir da auch nicht groß reinreden. Ich wollts dir nur vorher gezeigt haben :)
Benutzeravatar
Christian
PC_DIMMER-Entwickler
Beiträge: 1856
Registriert: 12.11.2007, 09:30
Wohnort: Knw.-Remsfeld
Kontaktdaten:

Re: Einbindung Novation Launchpad und andere Programmcode-Fragen

Beitrag von Christian »

Hi Leute,

leider muss ich zugeben, dass ich diesen Thread aufgrund meines Urlaubs erst jetzt richtig gelesen habe. :oops: Toll, was ihr hier vorhabt. Ich hoffe ich kann euch am Wochenende die aktualisierte Version des Hauptprogramms geben, sodass Ingo da weitermachen kann.

beste Grüße,
Christian
Antworten