Jinx! - LED Matrix Control ... und die nächste Matrix Software ...

  • Does anyone who speaks english know if jinx will work with the e6804? I've looked for english help but cannot locate. I tried using translators (i don't speak german) but it doesn't make any sense. Jinx is really an amazing program, we shoot a lot of local bands for fun and i was hoping to use the program to add some lighting effects with rgb led strips.


    I have the e6804 working, i can light the strips with other programs, i also have jinx working just fine- i can output on dmx (using enttec usb pro).


    I started with default jinx settings after adding sACN/e.131 output device, it was set to multicast, that didn't work. I unchecked multicast, that ungreyed the ipaddress so i types in the e6804ip, i don't know what i should put for port.


    Am i going in the right direction?


    Thanks you!


    Rob

  • Thanks for the help, and for the script as well. I haven't been able to make it work yet- i have not used scripts before. i think i am doing it right- in jinx i click file/open and load the script that you sent me. The script automatically created three e1.31 output devices, i opened the options for the one on universe one and changed the ip address to the one for e6804 with multicast off.


    Then i went into the patch section and used fast patch to make the upper left pixel channel 1 and enabled output, but still nothing. I have the strip working fine in the e6804's setup (its web interface). Either i am doing something wrong, or is there maybe a different script for e6804?


    Thanks for replying:)


    Rob

  • I still haven't been able to get jinx to work via e6804, i think i've pretty much tried everything i can think of.


    I decided to try using it with some rgbw lights that i made, but i guess it only works as rgb, my lights are 4 channels (rgbw), it would be fantastic to be able to use it with rgbw light matrices.


    Still a fantastic program, though i guess incompatible with both e1.31 and dmx hardware that i have.

  • It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Zuerst möchte ich dir mal herzlich danken, Seddi.


    Super tool hast du da! Lustigerweise geht meine Matrix weder mit GLEDiator, noch PixelController. Nur mit Jinx...? Ich nutze das TPM2serial Protokoll. Naja, seiß drum.


    Ich hoffe, dass die Frage noch nicht gestellt wurde - Eine Audioquelle kann man nicht wählen, oder? Bei mir ist das standardmäßig mein Mikrofon, würde aber gerne eine direkte Audioquelle drauflegen.


    MfG


    Kentsfield

  • Hallo,


    ich bin schon ein halbes Jahr ganz zufrieden mit Jinx! Funktionalität, aber habe ich (wie mein Kolege im vorherigem Post) eine sehr große Wunsch um die Effekte viel langsamer zu machen. Wenn man das Speed im Effekten (in welchen es verfügbar ist) ganz reduziert eingestellt, bekommen meistene Effekte dann nicht mehr so flüssig- oder weichlaufend und noch immer viel zu Schnell. Ich brauche Jinx! für LED Ambientbeleuchtung und es kommt nur in wenigen Situationen zum "Show" wo man schnelligkeit zählt. Und für Ambienz sind meistene Jinx! Effekte viel zu schnell oder zuckend bei ganz reduzietren "Speed".


    Können Sie was in diese Richtung machen ?


    Danke.

  • Hallo zusammen,


    erst mal sorry, das ich gerade so wenig von mir hören lasse aber es ist Sommer, ich mache unglaublich viele Licht und Tonjobs auf unzähligen Stadtfesten und geniese das letzte Stückchen Freizeit auf meiner Terasse mit Frau, Freunden und Familie


    @Kentsfield
    Jinx! Nimmt grundsätzlich das aktuelle Aufnahmedevice in Windows du kannst also in Windows die aktuelle Quelle einstellen, die genutzt wird


    @Klemen Spehar
    Jinx! Arbeitet pixelorientiert, sprich ein Pixel veränderung pro Frame um ein flüssiges Bild zu erzeugen. Dies macht es auf kleinen Matrizen natürlich schnell. Um dies zu umgehen, müsste man sehr viel interpolieren, was ehrlich gesagt auch kein schönes und scharfes Bild gibt. Insofern, ist das nicht so einfach und man muss Kompromisse eingehen Jinx! ist da eher auf etwas grössere Matrizen optimiert.


    @Rob
    I dont know anything about that controller can you give me some more information about it ?

  • Hallo Sven,


    ich habe inzwischen mehrere Projekte mit Jinx gemacht. Bei manchen Projekten konnte ich weder die eingebauten Animationen als auch Jinx Script nicht verwenden und musste mich anderweitig behelfen.
    Falls nun Jinx keine geeignete Animation hatte, so haben wir Mit Adobe After Effects gearbeitet und damit eine Folge von Bitmaps erzeugt, die alle in einem Ordner gespeichert wurden und mit Hilfe eines kleinen selbstgeschriebenen Programms als fortlaufende Animation im Glediator Format zusammengeführt wurden. Diese wurden dann über Artnet zur Matrix geschickt.


    Nun meine Frage: Jinx hat ja schon einen Mode zur Darstellung von Bitmaps und deren Animation ( Slideshow ), falls sich mehrere Bitmaps in einem Ordner befinden. Die Zeitdauer zwischen dem automatischen Wechsel der Bitmaps ( Slideshow ) ist jedoch minimal 1 Sekunde. Könntest du das Programm so erweitern, dass diese Zeitdauer auch bis 40ms ( 25 Frames pro Sekunde ) verkleinert werden kann ?? Dann könnten flüssige Animationen mit Hilfe von einzelnen Bitmaps gemacht werden und die Vielfalt der Möglichkeiten für Animationen wäre undendlich !!!


    Vile Grüße, Otti123

  • Hi friends


    Recently I bought this LED panel http://www.aliexpress.com/item…ED-module/1615047851.html and try to write a program with which I would be able to be controlled via ArtNet protocol and Jinx, I found this library https://github.com/pkourany/RGBmatrixPanel_IDE you want to use could anyone advise me how can this be done ?.


    Here's the code that I started writing while but it does not work very well,



    #include <Artnet.h>
    #include <Ethernet.h>
    #include <EthernetUdp.h>
    #include <SPI.h>
    #include <Adafruit_GFX.h> // Core graphics library
    #include <RGBmatrixPanel.h> // Hardware-specific library


    #define CLK 8 // MUST be on PORTB! (Use pin 11 on Mega)
    #define LAT A3
    #define OE 9
    #define A A0
    #define B A1
    #define C A2
    RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);


    const int numberOfChannels = 512 * 3; // Total number of channels you want to receive (1 led = 3 channels)


    // Artnet settings
    Artnet artnet;
    const int startUniverse = 0; // CHANGE FOR YOUR SETUP most software this is 1, some software send out artnet first universe as 0.


    // Check if we got all universes
    const int maxUniverses = numberOfChannels / 512 + ((numberOfChannels % 512) ? 1 : 0);
    bool universesReceived[maxUniverses];
    bool sendFrame = 1;
    int previousDataLength = 0;


    // Change ip and mac address for your setup
    byte ip[] = {192, 168, 2, 100};
    byte mac[] = {0x04, 0xE9, 0xE5, 0x00, 0x69, 0xEC};


    void setup()
    {
    //Serial.begin(115200);
    matrix.begin();
    initTest();
    artnet.begin(mac, ip);


    // this will be called for each packet received
    artnet.setArtDmxCallback(onDmxFrame);
    }


    void loop()
    {
    // we call the read function inside the loop
    artnet.read();
    matrix.fillScreen(0);
    }


    void onDmxFrame(uint16_t universe, uint16_t length, uint8_t sequence, uint8_t* data)
    {
    sendFrame = 1;
    // set brightness of the whole strip
    if (universe == 15)
    {


    }


    // Store which universe has got in
    if ((universe - startUniverse) < maxUniverses)
    universesReceived[universe - startUniverse] = 1;


    for (int i = 0 ; i < maxUniverses ; i++)
    {
    if (universesReceived[i] == 0)
    {
    //Serial.println("Broke");
    sendFrame = 0;
    break;
    }
    }
    // read universe and put into the right part of the display buffer
    for (int i = 0; i < length / 3; i++)
    for (uint8_t x=0; x < 32; x++)
    for (uint8_t y=0; y < 16; y++)
    {
    int led = i + (universe - startUniverse) * (previousDataLength / 3);
    if (led < 512)
    matrix.drawPixel(x, y, matrix.Color888(data[i * 3], data[i * 3 + 1], data[i * 3 + 2]));
    }

    previousDataLength = length;

    if (sendFrame)
    {
    // Reset universeReceived to 0
    memset(universesReceived, 0, maxUniverses);
    }
    }


    void initTest()
    {
    for (uint8_t x=0; x < 32; x++)
    for (uint8_t y=0; y < 16; y++)
    matrix.drawPixel(x, y, matrix.Color333(255, 0, 0));


    delay(1000);


    for (uint8_t x=0; x < 32; x++)
    for (uint8_t y=0; y < 16; y++)
    matrix.drawPixel(x, y, matrix.Color333(0, 255, 0));


    delay(1000);


    for (uint8_t x=0; x < 32; x++)
    for (uint8_t y=0; y < 16; y++)
    matrix.drawPixel(x, y, matrix.Color333(0, 0, 255));


    delay(1000);


    for (uint8_t x=0; x < 32; x++)
    for (uint8_t y=0; y < 16; y++)
    matrix.drawPixel(x, y, matrix.Color333(0, 0, 0));


    delay(1000);
    }

  • Hi bin relative neu hier. hab bis jetzt immer nur mit gelesen. bis jetzt habt ihr mir immer gut weiter geholfen. hab mir vor einiger zeit led pois gebaut. die auch super laufen. aber weil ich bis jetzt immer probleme hate mit dem syn. starten hab ich mir jetzt zwei wlan controller von diamex geleistet. läuft auch alles super. nur ist die fps von 25 bei glediator und jinx fast zu langsam. und mit der einstellung von pixelcontroll komm ich echt net klar. Des wegen bin ich auf der suche nach einem programm das ca. 50 fps kann und das tpm2.net format unterstützt. hoff ich bin hier richtig wust net wo ich des reinschreiben soll.

  • Hallo Sven,


    wir haben eine Anfrage für eine große Laufschrift ( 14 Meter lang ) mit hinterlegten Animationen. Dafür würde sich Jinx hervorragend eignen. Aktuell kann ich diese Anfrage allerdings nicht machen, da Jinx ein Limit in der Matrix Größe von 320 LED´s hat. Ich benötige für diese Anwendung jedoch minimum 464 LED´s in horizontaler Richtung. Vertical sind es nur 16 LED´s.
    Frage: Könntest du Bitte Jinx auf 512 LED Matrix Größe erweitern ? Ich denke dass du die Software so geschrieben hast, dass so eine Erweiterung wahrscheinlich sehr schnell und einfach zu machen wäre.
    Du würdest mir damit sehr helfen.


    Grüße, Ottmar

  • So dann muss ich mich doch auch mal wieder zu Wort melden :) Ja ich lebe noch, Jinx! auch und es kommt auch in den nächsten Tagen irgendwann eine neue Version. Zwar nur mit ein paar neuen Features und einigen Bugfixes, aber der Sommer war einfach zu schön um am Rechner zu sitzen, man möge mir verzeihen ;)


    @otti123
    Zu der Slideshow. Diese ist eigentlich gedacht um wirklich einzelne Bilder anzuzeigen, daher auch das zeitlimit. Wenn ich hier 40ms erlaube, dann nimmt der erste wieder seinen Ordner mit 8Megpixel grossen urlaubsbildern und wundert sich warum Jinx! abstürzt. Die Dekodierung und das herunterrechnen der Bilder auf Matrixgrösse ist sehr zeitintensiv. Klar in deinem Fall mit unkomprimierten Bitmaps in Matrixgrösse geht das schnell. Nur wie schiebe ich da ein Riegel vor, dass nicht einer die App zum Absturz bringt durch viel zu grosse Bilder, die Jinx dann versucht alle 40ms zu laden ? Wenn du eh schon mit Aftereffects Effekte erzeugst, stellt sich mir eher die Frage warum du die Bilder nicht in ein animiertes GIF wandelst (kannst du dann direkt im Imageviewer abspielen und auch die Geschwindigkeit regeln) oder noch einfacher, du erzeugst ein AVI und schiebst es in den AVI Player. Hierfür ist dieser eigentlich da.


    Das Problem mit der maximalen Pixelanzahl (Breite oder Höhe) ist, dass Jinx! bisher die Vorschaufenster nicht nach unten skalieren kann. Im Showmode ist das Fenster zur Zeit (fest) 320 Pixel breit und in der Hauptanwendung hast du 3 Previews auf deine Bildschirmbreite unterzubekommen, da ist dies auch begrenzt. Wenn du nun aber in der Matrix mehr Pixel hast als das Vorschaufenster hat, dann siehst du keine Vorschau mehr. Hier wird aber in der nächsten Version was kommen, so dass auch die Previews bei Bedarf heruntergerechnet werden und somit kann ich auch ein bisschen mehr Pixel in einer Dimension zulassen. Es dauert allerdings noch ein paar Tage bis die V2.3 kommt. Aber ich bin quasi schon mitten drin.


    @folny
    Sorry, I cant tell you anything aboout this sketches, Im focused on the software side not on the controller side, maybe someone else can help you.


    @LED-Poi
    Erstmal willkommen. Ich stell mir nach wie vor die Frage, warum du 50Hz brauchst ? Die meisten Controller, vor allem wenn Arduino based, haben viel zu wenig Leistung um eine so grosse Datenflut zu verarbeiten, vor allem wenn es mal mehr als 32x16 Pixel oder so sind. Dazu generieren fast alle Programme, wie Jinx auch, die Animationen mit je einer Pixeländerung pro Frame um das ganze flüssig zu haben und ohne gewackel, was gerade bei einer grob aufgelösten LED Matrix sonst übel aussieht. Wenn ich Jinx nun mit 50Hz laufen lasse, sind alle Effekte doppelt so schnell oder ich verdopple einfach die Ausgangsfrequenz und es kommt jedes Bild quasi 2mal, das macht auch keinen Unterschied, nur der Controller hat dan mehr zu arbeiten. Meist ist das Problem ,aber der Controll oder die Pixelketten selbst, so dass es bei 50Hz zu Datenstau kommt und es erst recht wackelt bzw. du sichtbare Laufzeitverzögerungen in der Matrix bekommst. Ich glaube auch nicht, dass die Diamex da 50Hz so ganz locker wegschlucken. Was ist dir denn da genau zu langsam ? Wenn dir die Animationen zu langsam sind, kannst du in Jinx auch den Pixel Step in den Matrix Optionen erhöhen. Der ist dafür da, das pro Frame bei einer großen Matrix mehr pixeländerungen gemacht werden um Animationen schneller zu bekommen.


    @sasch90
    Nein in Jinx kannst du pro Pixel nur einen Kanal (bzw. genauer gesagt 3 Kanäle, also RGB) zuweisen. Wenn du mehrere Pixel pro Jinx! Pixel ansteuern willst, dann musst du deine Pixel Controllerseiteig irgendwie zusammenbringen.

  • Nach etwas längerer Pause gibts heute mal wieder eine neue Version von Jinx!. Es ist nun nicht das ganz grosse Update, aber es sind einige Bugfixes sowie Verbesserungen und auch ein paar neue Features dabei.


    Zu allererst wurden ein paar Bugs bei der Custom GUI sowie in Jinx!Script (PGET sowie FOR/NEXT) gefixt, es gab auch noch so manche Probleme mit den Kontextmenüs bei Multimonitor Setups. Dazu bekam dann Jinx!Script auch noch die Funktionen asin() und acos() spendiert sowie ein überarbeiteter Variablenspeicher, der Jinx!Script nun rund 30% schneller macht.


    Die Vorschaufenster sind nun auch skalierbar. Falls die Matrix selbst mehr Pixel hat als euer Vorschaufenster auf dem Bildschirm, wird nun herunterskaliert, so dass man immer noch ein Vorschaubild erhält. In diesem Zuge konnte ich dann auch das Pixellimit etwas erhöhen, so dass nun in der Höhe und Breite maximal 480px erlaubt sind und das generelle Pixellimit wurde auf 48000 erhöht.


    Das DVI Fenster kann nun auch als Matrix Simulator missbraucht werden und ist skalierbar. So kann man dies z.B. auf einem zweiten Monitor als Fullscreen Anzeige nutzen um mit einem Beamer Matrix Effekte zu projezieren. Man kann auch hier nun ein Gitter einblenden um bei der Projektion den Pixeleffekt zu erhalten.


    Ausserdem hab ich Jinx! endlich einen Colorpicker spendiert. In jeder Effekt-Config in der man eine Farbe einstellen kann, könnt ihr nun mit der rechten Maustaste auf einem der 3 Farbregler (Red, Green, Blue) den Colorpicker aufrufen und euch grafisch die Lieblingsfarbe raussuchen. Den Colorpicker kann man auch schnell mit einem Klick auf die rechte Maustaste wieder schliessen.


    Die letzte Neuerung ist die Möglichkeit die Netzwerkdaten an eine bestimmte Netzwerkkarte bzw. IP-Adresse zu binden. Somit kann man nun z.B. gezielt über eine zweite Netzwerkkarte die Daten auf die Matrix ausgeben und das Hauptnetzwerk sauber von Broad- und Multicasts halten. Die Bindung lässt sich für eingehenden (Remote Control) und ausgehenden Netzwerkverkehr getrennt einstellen (Setup -> Network Options).


    Wie immer schaut bitte ins Handbuch oder in die Onlinehilfe, ich hab hier die neuen Features berücksichtigt.


    Ich wünsch euch viel Spass damit.


    Grüße
    Sven


    Download unter: live-leds.de - Direktlinks im ersten Post

  • Hallo Sven, vielen Dank dafür, dass du Jinx wieder mal mit tollen Funtionen erweitert und verbessert hast !


    Jetzt lassen sich auch wirklich größere Projekte mit Jinx ansteuern und gegenüber Madrix auch viel mehr LED´s.
    Allerdings benötigt das Skalieren der Vorschaufenster doch einiges mehr an Rechenpower des PC für eine störungsfreie
    Ansteuerung von großen LED Matrixen. Meine kleinen Rechner ( EEE PC ) machen da schlapp.


    Frage: Falls die Matrixgröße ohne Skalierung in das Vorschaufenster passt, wird dann ohne Skalierung wie in vorherigen Versionen berechnet ?


    Grüße, Ottmar

  • Ein EeePc ist da nicht unbedingt die richtige Hardware, wenn man viele Pixel berechnen und steuern will. Klar, es wird nur skaliert, wenn auch nötig. Hier hat sich nichts geändert. Es lassen sich auch einzelne Vorschaufenster abschalten, wenn du CPU Zeit sparen möchtest.