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

  • Kuhl danke, werde ich gleich ausprobieren!
    Ich hatte vergessen zu schreiben, aber den Test hab ich durchgeführt. Mehrere Stunden die gleichen Szenen durchspielen lassen wie bei Version 0.97, aber es ist nix abgeschmiert. Musste es allerdings "trocken" laufen lassen, also ohne Display, weil das gerade verbuddelt ist.


    Trotzdem danke, dass du dich der Sache nochmal angenommen hast!


    Grüße,
    Dadita



    Mann, ist das nervig, Symantec lässt mich schon wieder nicht in die zip Datei. Ich hab schonmal die Stoppuhr gestartet, mal sehen, wann der Admin angedackelt kommt :D


    [ModEdit: Doppelposts zusammengefasst ...]

  • //EDIT: So Report an Symantec ist raus, ich vemute nur das wird da keine Sau interessieren ...


    Von wegen interessiert keine Sau ;) Hab im Spamordner eben ne Mail von Symantec gefunden, kam genau einen Tag später:

    Zitat

    Upon further analysis and investigation we have verified your submission and as such this detection will be removed from our products.


    Und tatsächlich die jinx-0.98.zip wird von Symantec nicht mehr als gefährlich eingestuft. Die 0.99 und 0.99a natürlich wieder, nur die von mir angemeckerte wurde herausgenommen. Mal sehen die haben auch ein Whitelisting, aber jedes mal vorher das Zeugs einreichen macht auch keinen Spass.


    Ich hatte ja die Tage mal den Quellcode umgebaut um das ganze (zumindest ohne ein paar engines wie den Imageviewer) über Microsoft Visual C kompiliert zu bekommen (kann ja kein C99, wäre auch zuviel verlangt das Microsoft in der Compiler Suite 2013 den offiziellen letzten C Standard von 1999 schon kann ... sind ja erst 14 Jahre, so schnell geht das nun wirklich nicht).
    Positives Ergebnis: Die erzeugte .exe wird von so gut wie keinem Virenscanner angemeckert ...
    Negativergebnis: Die Binary ist größer, die Performance ein Tick schlechter, ich müsste den Imageviewer komplett umbauen weil bei den offiziellen Windows headern die gdiplusflat.h nicht direkt in C nutzbar ist (GDI+ ist normalerweise eine reine C++ API) und ich hab lästig viel Arbeit weil eben keine volle C99 Konformität (frei plazierbare Variablendeklaration, dynamische Arrays, etc. und ich nutz das gern und häufig). Insofern bleib ich wohl bei MinGW.


    Aber vielleicht fang ich ja mal an den Code zu signieren und leg mir ein Zertifikat zu. Dann kann man die Software wenigstens sauber zuordnen, das es auch wirklich ein Release von mir ist und nichts verändert/virusfiziert wurde und im Regelfall beruhigt sowas auch zu aggressive Virenscanner.

  • So, nachdem Jinx! in den letzten Monaten fleissig gewachsen ist und wir nach den letzten Versionen auch eine sehr stabile Version erreicht haben, hab ich mir gedacht es ist endlich Zeit für eine offizielle und stabile Version 1.0.


    Zu der letzten version 0.99a hat sich nicht all zu viel geändert:


    • Geschwindigkeitsoptimierungen für Metaballs und Plasma
    • nochmal ein paar kleine bugfixes
    • mehrere Schönheitskorrekturen (grey out inaktive Regler/Buttons in den Config Fenstern, etc.)
    • Geschwindigkeitsoptimierungen für die Vorschau Fenster
    • Die Output Frame Rate kann nun in der Titelleiste angezeigt werden (Menü View -> Display FPS bzw. Shortcut F12)
    • Neuer Step-Typ für die Chases: Random Scene. Dieser wählt die nächste Szene mit einem Zufallsgenerator aus, somit kann man mit nur einem Step einen Chase anlegen der zufällig durch eure Szenenliste looped.


    Nachdem es ne 1.0 ist möchte ich auch nochmal allen danken die mir fleissig Bugs reporten, mich mit Ideen beliefern und immer fleissig testen. :thumbup:


    So dann schauen wir mal wie der Weg zur Version 2.0 aussieht ;)


    Grüße
    Sven


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

  • Hab da mal wieder ein paar Videos mit Jinx! im Einsatz:


    Hier ist Jinx! in Italien komplett integriert und via Artnet (QLC+) ferngesteuert:

    Externer Inhalt
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Hier dann mal ein paar Pixel mehr, 1600 Pixel über 2 serielle (USB) Interfaces:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Und dann noch mal mit 3200 Pixel über 4 serielle (USB) Interfaces:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Ich hab zwar auch noch so einiges an Ideen (die behalt ich aber erst mal für mich) auf der Liste, aber mich würde trotzdem interessieren was ihr euch noch so vorstellt, was die Software braucht. Was fehlt euch zum glücklich werden, welche Funktion fehlt, welcher cooler Effekt (ja @Counterfeier ich weiss die Wasserwellen), und so weiter. Her mit euren Ideen ;)

  • So, dann hab ich mir mal einen meiner eigenen Wünsche erfüllt und hier ist die V1.1 mit integriertem AVI Player.


    Der AVI Player basiert auf der Video-for-Windows API und kann somit alles an AVIs abspielen, wenn ihr den passenden VfW Codec in eurem Windows installiert habt. DIe meisten AVIs bekommt ihr mit dem ffdshow codec zum laufen, den würde ich jedem ans Herz legen. Beim installieren von ffdshow muss der Haken für "VfW Interface" gesetzt werden, damit ihr auch die VfW Codecs installiert bekommt und nicht nur die für Directshow: http://ffdshow-tryout.sourceforge.net/ Nach dem installieren könnt ihr die VfW Konfiguration aufrufen und dort weitere Codecs aktivieren, die standardmässig nicht aktiviert sind. In der VfW Konfiguration auf Decoder gehen, dann link codec anklicken, dann könnt ihr rechts die einzelnen Codecs aktivieren oder einfach rechte Maustaste und "Alle stabilen Formate auf libavcodec setzen", dann solltet so ziemlich jedes AVI der Welt abspielbar sein.


    Von den Optionen her verhält sich der AVI Player gleich wie der Image Viewer. Ihr könnt resizing, aspect ratio, etc. beeinflussen. Die AVIs laufen automatisch in einer Dauerschleife ab und standardmässig mit 25fps (könnt ihr mit dem Effekt Speed Regler verlangsamen). Zusätzlich könnt ihr die videos in graustufen wandeln lassen, falls ihr eine coole loop habt die ihr mit anderen Effekten einfärben oder kombinieren möchtet. Den Graustufenschalter habe ich zusätzlich auch beim Image Viewer mit eingebaut.


    Prinzipiell ist das dekodieren und resizen der Videos CPU intensiv. Insofern würde ich euch nicht empfehlen nun unbedingt Full HD Videos zu nehmen um diese dann mit Smooth Resize auf eine Matrix mit 32x16 Pixel zu verkleinern (was nicht heissen soll das dies nicht funktioniert), es sei denn ihr möchtet mit eurem PC die Wohnung heizen ;)


    Viel Spass damit.


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


  • @mods
    Das gehört in den Jinx! Thread, da hat er wohl "Neues Thema" statt "antworten" erwischt ;)


    Hi Norberto,


    can you please do me a favor and try to post in english ? Its a german board, but english will be ok, because nearly everyone understands it.


    Thanks for your bug report, I already got the bug with $LTIME reported today and fixed it for the next Version.


    Sven

  • So, nächstes Release um ein paar Fehler zu beheben und ein paar neue Features gibts auch:

    • bugfix für $LTIME in Scrolling Text, war kaputt seit v0.99
    • viele code cleanups, vereinfachungen und optimierungen in der Engine
    • Matrix Size Dialog heisst nun Matrix Options
    • Neue Option in Matrix Options: Only draw patched Pixels. Hiermit könnt ihr in den Matrix Previews sämtlich ungepatchten Pixel ausblenden. Dadurch könnt ihr z.B. eine Matrix abbilden die nicht einem Rechteck entspricht oder auch wenn ihr bei Stripes z.B. eine Matrix mit 100x4 anlegt aber nur eine Reihe auf eure Stripes patcht, dann wird euch auch nur diese eine Reihe in den Preview Fenstern angezeigt
    • Neue Variablen in Scrolling Text: $DAY, $MONTH, $YEAR - Somit könnt ihr das aktuelle Datum in jedem gewünschten Format ausgeben (z.B. $DAY.$MONTH.$YEAR oder $MONTH/$DAY/$YEAR)
    • zusätzliche Color Saturation, Brightness und Gamma Regler für Image Viewer und AVI Player: Hiermit könnt ihr z.B. Farbverluste ausgleichen die beim skalieren der Bilder/Videos entstehen oder das ganze als coolen Effekt nutzen indem ihr es z.B. mit der Saturation übertreibt und ein bisschen Popart produziert. Ihr könnt jederzeit auf die Standardwerte zurückgehen indem ihr einen Doppelklick auf die labels macht (Sat, Bright, Gamma)


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

  • Einfach Klasse Deine Arbeit. Ich habe heute auf dem Arduino OpenSpace in Dresden meine Matrix (60x17) mit Jinx präsentiert, zumindest so lange, bis es wieder Pixel der WS2812 zerschossen hat. Abgespielt wurde live über miniDMX und tpm2 sowie aufgezeichnete tpm2.net-Daten über die SD-Karte - natürlich mit dem neuen SEDU-Board v3.


    Mit der Matrix habe ich so meine Probleme, schreibe nochmal im anderen Thread etwas dazu.

  • Und weil es gerade so schön ist, ein kleiner Ausblick ...


    ... ich arbeite gerade an einem komplett resizeable Mainwindow:


    Und dazu wie immer an Geschwindigkeitsoptimierungen. Inzwischen sind nun alle 4 Generatoren in eigene Threads ausgelagert und somit kann man die heutigen Mehrkern-CPUs richtig nutzen. Somit ist es auch möglich 4 Full HD Videos (naja fast, 1920x800 Pixel) gleichzeitig laufen zu lassen, bei einer Matrixsize von 160x100 Pixel. Alle 4 Videos natürlich mit Smooth Resize, aktiver Gamma, Brightness und Saturation. Es heizt zwar die CPU, aber immer noch stabile 25fps:



    Und mal noch kurz zum verdeutlichen, warum ich mich darüber so freue. Wenn ich das gleich mit Madrix 3 mache (gleiches Video, 4mal abgespielt, Matrix mit 160x100 Pixel) sieht das Ganze so aus:



    Und dabei ist bei Madrix hier (wie man auch sieht) kein rechenaufwändiges Smoothresize (gibts das da überhaupt, habs nicht gefunden) und auch keine Gamma und Farbkorrektur aktiv. Wenn ich das bei Jinx! ausschalte, geht die CPU nochmal ein gutes Stück von der Belastung zurück:



    :D

  • First, I wanted to thank you for a nice piece of software. I'm new, and setting everything up with an Arduino Uno and WS2812 LEDs. As you are kindly asking for it, here are some features I would love to have:

    • Make my own scenes: I saw you posted scenes, but I do not know how I could make my own. Maybe you can guide me there?
    • Configurable space between LEDs (X, Y): LEDs are not always spaced equally. It would be awesome to be able to configure X and Y space, so that we can see something on the screen that looks like "the real thing"
    • I would like to record, and then replay using command line (this will be synced with audio). It seems that the JinX! file player is the way to go, but it is unclear if there is a command line version of it. If not, can you make a command line version of the JinX! player which will simply play a recorded JNR file?


    Thank you so much. I need to wire my Arduino and some LEDs which I expect to receive tomorrow. But it seems that JinX will do the job of animating all this nicely...

  • @ojacques


    Im in a rush, so just a short answer ;)


    Own Scenes:
    A scene is a simple snapshot of all 4 effect generators. So you can compose a screen by combining the effects and save it in the scene list. Maybe you will look into the manual (or the help), there is a chapter called "working with Scenes".


    Configureable Space:
    At the Moment I work at the previews and the space will be more configureable in the next version, but I never thought about splitting x and y space into different values. I will think about and put it on my list and we will see. But dont blame me if ist not in the next version yet ;)


    Record / Command line:
    The workflow is different with jinx. Normally you wont play jnr files, you will play scenes or chases. You can start an Initial scene or chase via command line on programm start (see manual), then you can change Scenes or chases via remote control (Art-Net for example). So you can control Jinx! from any software or hardware based lightdesk. That makes much more sense than scripting a show via command line.

  • Configureable Space:
    At the Moment I work at the previews and the space will be more configureable in the next version, but I never thought about splitting x and y space into different values. I will think about and put it on my list and we will see. But dont blame me if ist not in the next version yet ;)


    Yes, the use case is the following: I will be installing LEDs strips at different distance (for example 4 vertical strips of 1.5m long each, separated by approximately 2 meters - it does not look like a matrix ;) ).


    Zitat von Seddi

    Record / Command line:
    The workflow is different with jinx. Normally you wont play jnr files, you will play scenes or chases. You can start an Initial scene or chase via command line on programm start (see manual), then you can change Scenes or chases via remote control (Art-Net for example). So you can control Jinx! from any software or hardware based lightdesk. That makes much more sense than scripting a show via command line.


    OK, I understand that this is a typical workflow for a VJay and that makes a lot of sense. In my case, I want to prepare all my scenes and chases in advance, press record, and record the result. The reason is that I do not have someone who will be interacting with JinX. Instead, the LED show will play - in sync - with some audio files (which I use as supporting track for a music band playing live).
    Would you have a quick idea on how to do that today with JinX or something else maybe? I thought that the JNR player could be either started with a command line or maybe remote controlled (start/stop) to do what I want.


    Thanks again.