Es leuchtet wie ein Weihnachtsbaum!


…pünktlich einen Monat nach Weihnachten gibt es noch ein Geschenk an mich selbst & viele gute Neuigkeiten. Die LEDs und Tasten sind so voll funktionsfähig, das heißt:

  • Bankwechsel sind ohne umständliche Macros möglich
  • komplettes LED Feedback – auch blinkende LEDs
  • Latenzen sind nicht wahrnehmbar
  • gleichzeitiges Drücken von beliebig vielen Buttons ist möglich
  • Shortcut Modus im onPC ist nicht erforderlich, es werden keine Tastaturkommandos emuliert

Damit bin ich wohl nach MA selbst der erste, der sowas gebaut hat 😀

Die LEDs sind weiß und blau. Im Nachhinein gefiel mir blau als „Executor belegt“-LED aber wesentlich besser, sodass ich die Funktion kurzerhand softwareseitig getauscht habe. Die LEDs aus zu löten und zu tauschen käme einem Neubau der Platine gleich.

Die LED-Ausgabe für alle anderen Tasten habe ich übrigends schon implementiert. Die größte Software-Hürde ist damit genommen. Es kann also voll motiviert weiter gehen 🙂

16 Antworten auf „Es leuchtet wie ein Weihnachtsbaum!“

  1. WTF! Sehr geil geworden das ganze 🙂 bin gespannt auf das nächste Update 🙂 Arbeite auch noch an meinem Wing…Wie kompliziert ist den diese MidiBox Geschichte? muss man dafür viel lernen oder reichen einfache Grundkenntnisse über Midi und Elektrotechnik aus? BTW: will keine Leds auf meinen taster also müsste der Wing nur Midinoten an OnPC schicken. Nochwas… du sprichst von keinem Shortcutmode nötig…wie willst du dann aber die restlichen Hardkeys ins Programm bekommen? gruß Alexander 😉

    1. Hi Alexander,
      Danke erstmal! 😉 Die midiBOX ist eigentlich relativ unkompliziert. Kompliziert wird das Projekt nur durch seinen Umfang: Mit der midiBOX Hardware lassen sich die unterschiedlichsten Controller aufbauen… Eine Schritt-für-Schritt Anleitung gibt es deshalb nicht, man muss sich schon einige Zeit einlesen. Einfache Grundkenntnisse über Midi und Elektrotechnik reichen dafür aber vollkommen aus! Ich werde übrigends auch irgendwann nochmal einen Artikel über die midiBOX-Basics in Kombination mit onPC schreiben 🙂
      Midinoten aus einer midiBOX an onPC zu senden ist überhaupt kein Problem. Ich habe meine Executor Buttons auch schon einen Abend in einer Disco so „zum Test“ an onPC genutzt – funktioniert einwandfrei! Du kannst damit dann natürlich nicht ohne Macro die Bank wechseln weil die Taster fest mit einem Executor verknüpft werden.
      Die restlichen Hardkeys bekomme ich genauso ins Programm, wie ich die Executor Tasten ins Programm bekomme. Ich habe einen Weg gefunden direkt auf onPC zu zu greifen um dort Werte zu klauen (z.B. die LEDs) oder onPC eigene Werte wie die Tastendrücke oder Faderwerte „unterzuschieben“.

      Grüße,
      Chris

  2. HAllo Chris,
    das klingt alles sehr interessant ich werde mich dort mal einlesen und ggf. mein Projekt dann dirket im Midibox Forum vorstellen und mal fragen was ich dafür so benötige 🙂 Danke erstmal! Das mit dem klauen aus der Software wer ich eher nicht hinkriegen da ich so gut wie keine Programierkenntnisse habe…Aber villeicht gibt es ja einen Weg die Midibox Signale an den Treiber von Megatech zu adaptieren das würde mir schonmal die Executorfader und die Buttons dazu ersparen… gruß Alexander

    1. Hi Alexander,

      Die Buttons der midiBOX kannst Du problemlos an den Megatech Treiber adaptieren weil sie in der midiBOX frei konfigurierbar sind. Für Motorfader benötigst Du ein MBHP_MF Modul, welches sich nicht ganz so frei konfigurieren lässt. Das Problem dabei ist, dass der Treiber Control Chances ab #1 erwartet, die MBHP Platine gibt diese aber erst ab #16 aus zudem passt der Midi-Kanal nicht. Das lässt sich aber mit einem Midi Translator ganz einfach übersetzen. Vermutlich findest Du auch relativ leicht jemanden, der Dir die MBHP Firmware anpasst…

      Ich kann Dir auch beantworten was Du dafür benötigst, bzw. der Artikel, den ich im Hinterkopf habe wird das tun 🙂

      Grüße,
      Chris

  3. Ok, cool 🙂 meinst du ich kann mich nochmal bei dir melden wenn ich noch ein wenig Starthilfe brauche? Villeicht schicke ich dir heute Abend mal die Projektdateien per Mail und du kannst ja kurz mal drüber schauen 🙂 erstmal vielen Dank 😉 🙂 gruß Alex

    1. Hi Alex,
      ja klar! Mach mal ruhig. Hab aber auch nicht so extreeem viel Zeit, kann also gut sein, dass es mal ein paar Tage dauert.

      Grüße,
      Chris

  4. Klasse Projekt!

    kannst Du mir erklären, wie Du es geschafft hast auf die Bedienelemente von OnPC direkt zuzugreifen?
    Seit ich den Megatech Treiber gesehen habe, und deine Lösung, hat mich das Thema mit dem direkten Zugriff gepackt!! Wäre über jeden Tip, oder auch Stichworte dankbar…
    Greifts Du über einen Window Handle auf die Fenster Objekte zu, oder greifst Du über Readprocessmemory auf den Speicher zu (wie finde ich dann die Adressen) ?
    Viele Grüße Sven

    1. Hallo Sven,

      danke erstmal für das Kompliment! Deine Email habe ich bekommen, ich bin aber noch nicht dazu gekommen zu antworten. Im laufe der Woche setze ich mich da aber mal dran!

      Kurz und knapp: Ich greife über Readprocessmemory direkt auf den Speicher zu. Mehr Details dann per Mail.

      Viele Grüße,
      Chris

  5. Hallo Chris

    als erstes mal ein Kompliment für deine Arbeit und das Schreinen darüber.
    Mich würde es auch Interessieren wie du via Speicher das OnPc bedienen kannst. Bin auch dabei, ein eigenes Pult zu realisieren. Bin aber erst am Anfang.

    Freue mich, von dir zu hören

    gruss Roger

  6. Hello Chris, this is pretty amazing, and it makes me want to do my own 😉
    Can you explain me how did you manage the led infos? I’m really curious…

    Very nice Project, hopes it will reach the end

    Best

    Bibi

    1. Hello Bibi,

      Frist of all: Tank you!

      I’m stealing the led infos out of the onpc process memory. I’ve written a program which handles everything: Stealing the led infos, providing it via midi, receiving key strokes via midi and writing it in the onpc memory, handling the faders… Difficult to explain and no job for an evening. Finding the memory locations of the required informations took about half an year.

      Best regards,
      Chris

  7. What a nice and huge work! I just passed order at smashTv! One last question : how do you handle the upgrade to newer versions of onpc? Did you find a „static“ adress witch match with all versions or do you keep a specific one? Since the adresses I’ve found for 6.615won’t work with 6.616, i’m affraid to have to do the process each time i’ll upgrade onpc 🙁

    Anyway, bravo for your work

    Bibi

  8. Dein Projekt ist cool! Erst Durch Dein Projekt hat mich nach rund 15 Jahren Lötkolbenabstinenz der Ehrgeiz wieder gepackt, so etwas mal selbst zu versuchen. 🙂
    Ich bin auch gerade dabei, ein Wing für die OnPC zu bauen.
    Allerdings designe/baue ich die gesamte Elektronik selbst. Bis jetzt sind die Motor Fader Controller und die Key Controller fertig.
    Bei den Tasten habe ich für die Executor Keys insgesamt 3 LED welche jede einzeln per PWM steuerbar ist verbaut. Als Tasten habe ich Cherrys mit trasparenten Kappen geommen. Diese Lassen sich hervorragend mit einem Inlay beschriften.
    Das ganze kommt dann mal in ein Gehäuse, ähnlich einer Fullsize mit 3 Touchscreens, wo dann auch das CommandWing eingelassen wird.
    Die Kommunikation mit der OnPC läuft über ArtNet und Telnet.
    So, jetzt zu meiner Frage: Wie kommst Du an die LED- und Fader Daten der OnPC? Mittels Readprocessmemory ist mir klar, aber wie bist Du auf die Adressbereiche und die Datenstruktur gestossen? Welche Tools hast Du verwendet? Würde das auch noch mit der 2er Version funktionieren?

    Gruss
    Chregu

    1. Genau das würde mich auch interessieren. Gerade ob es auch mit der 2er Version noch funktioniert. Gibt es da Erfahrungswerte / Versuche?

      Ansonsten gleiche Fragen wie mein Vorredner…

      Danke!

  9. Hi, Respekt, was du bisher bei der Umsetzung alle geleistet hast.

    Ich bin auch seit geraumer Zeit beim Umsetzen einer Hardwarelösung, allerdings werden bei mir alle Buttons mittels eigens erstellten HID-Devices an den Rechner gegeben. Umsetzung funktioniert anstandslos, das Problem ist allerdings das Feedback für die LEDs. Würdest du ein paar mehr Infos (ggf auch per Mail) zur Verfügung stellen, wie du mit dem Zugriff auf die Speicherbereiche umgehst? Meine bisherige Lösung mittels Abfrage einzelner Pixel auf dem Display ist zwar praktikabel, jedoch für meinen Geschmack nur ein hässlicher Workaround.

Kommentare sind geschlossen.