archi
19.06.2020, 19:38
Hallo Forum, wie im WebApp Thread bereits kurz präsentiert, bastle ich derzeit an einem Tool zum Erzeugen des kompletten Aurora Plugins nur aus dem SigmaStudio Export.
Das Plugin besteht ja im Prinzip derzeit aus folgenden Dateien:
1. dsp.fw: Das eigentliche Programm für den DSP Chip (wird korrekt erzeugt)
2. plugin.ini: "Struktur" des DSP Programms, damit die WebApp weiß wie sie mit dem DSP Chip "reden" kann (ist fast fertig, aber grob ungetestet)
3. dsp.html & 4. dark.css: Die eigentliche "Steuerungswebseite" (steht noch aus)
Mein "Traum" wäre, dass man dann das komplette Webinterface generieren kann - also man baut/klickt sich im SigmaStudio sein DSP Programm (Frequenzweiche, Raumkorrektur,...), exportiert das, klickt auf drei Tasten im aurora-tool, und lädt dann das fertige Plugin auf den Aurora. Dann nurnoch auf die Couch setzen und relaxed Musik hören :)
Aktueller Stand (19. Juni 2020):
Für Schritt 3 ist aber leider viel "unsichtbare" Arbeit hinter den Kulissen notwendig (insbesondere alle relevanten Daten einlesen, dann per Algorithmus Klassifizieren, Vereinfachen, Gruppieren und Layouten - und dann kann man anfangen, über das eigentliche Erzeugen der dsp.html nachzudenken). Hier habe ich schon einiges getan - sowie geplant -, aber es ist noch ein relativ langer Weg.
Vorerst muss man aber wohl noch eine Weile die HTML&CSS von Hand bauen (oder realistischer: Die vorhandenen Dateien anpassen).
Ich plane zeitnah noch eine "leere" HTML Datei dazu zu legen, also ohne PEQ/HP/LP-Raster in der Mitte, aber mit Presets, Eingangswahl, Lautstärkeregler und den anderen "generischen" Bedien-Elementen; dann kann man vorerst alle Parameter im SigmaStudio einprogrammieren, und zumindest Presets/Eingänge/Lautstärke in der Aurora WebApp steuern.
(Technisches Detail: Die Presets hängen davon ab, dass die Adressen aller "Bausteine" in der plugin.ini stehen - das sollte bereits der Fall sein, d.h. Presets könnten funktionieren).
Was mir aber bereits klar ist, und ihr daher beim Design einer "DSP Schaltung" im Hinterkopf behalten solltet: Die Struktur eures eigenen DSP Programms im SigmaStudio muss sich an dem orientieren, was Raphael quasi als "Vorlage" zur Verfügung gestellt hat. D.h. das aurora-tool erwartet:
* Alle "Eingänge" werden über die vorhandene "Eingangswahl" umgeschaltet. Entfällt die, erkennt das Tool die Eingänge nicht mehr, und damit geht hinten dran alles kaputt (kann man aber evtl dennoch anpassen).
* Alle "Ausgänge" laufen über die Master Volume. Entfällt die, findet das Tool keine Ausgänge mehr, und damit geht alles kaputt.
* Alle eigenen "Bausteine", die "vor" der Eingangswahl liegen, werden vom aurora-tool zwar in die plugin.ini eingefügt, aber landet nicht im dsp.html
* Alle eigenen "Bausteine", die "hinter" der Master Volume liegen, werden vom aurora-tool zwar in die plugin.ini eingefügt, aber landet nicht im dsp.html (Ausnahme sind die "Standardelemente" fürs Volume Poti und so)
Das ist der Preis dafür, dass man eine minimale Anzahl Knöpfe im aurora-tool hat ;-)
Vielleicht kann ich irgendwann mal einen Expertenmodus bauen, bei dem man das dann alles konfigurieren kann.
Bedenkt bitte auch:
a) Die aktuelle Version ist eher noch eine "Vorschau". Ich denke aber, dass sie durchaus nützlich ist - immerhin spart man sich das Abtippen der Adressen aus SigmaStudio in das "plugin.ini" (sollte dennoch überprüft werden!), und man braucht das Kommandozeilenwerkzeug sigma2aurora.exe nicht. Wie gesagt, das dsp.html muss man von Hand schreiben/anpassen - also ohne Programmieren geht es leider noch nicht.
b) Die Fehlerbehandlung bisher ist sehr rudimentär, bzw. einige Fehlermeldungen landen zur Zeit auf der Kommandozeile - die man dann mit der "GUI", also dem grafischen Benuterinterface, natürlich nicht sieht. D.h. wenn ihr euch besonders kreative DSP Programme geklickt habt, kann es sein, dass das aurora-tool einfach ohne Fehlermeldung "abstürzt", oder vorhandene Fehlermeldungen nicht sonderlich aussagekräftig sind. Das wird sich noch alles ändern, aber erstmal habe ich andere Prioritäten. Melden darf man Fehler aber natürlich dennoch!
c) Soweit ich das bisher sehe (besitze noch keines), sind die Addons relativ unabhängig vom DSP Programm selbst. Ich gehe daher im Moment davon aus, dass ich da einfach Raphael's bisheriges Handling übernehme. Ich werde wohl sowieso viel von der bisherigen dsp.html übernehmen und hab noch ein paar Dinge, die ich gerne "zusätzlich" hätte (mehr dazu wenn es so weit ist).
Wie man es benutzt:
So, du hast dir also ein DSP Programm geklickt, und willst das gerne mit dem aurora-tool "übersetzen"? Prima! :)
Dann hast du das komplizierteste ja bereits hinter dir.
Öffne dein DSP Projekt im SigmaStudio und erzeuge einen Export:
1. Dazu musst du erstmal auf oben im Menü auf "Action" und dort dann "Link Compile Download". Es wird vermutlich eine längere Fehlermeldung zum Thema USB kommen, die kann man einfach ignorieren.
2. Im selben Menü sollte dann das "Export System Files" möglich sein (im Screenshot ist es noch grau):
Am Besten erstmal mit Raphaels original 8channel Plugin probieren:
55500
Nun geht's weiter mit dem eigentlichen aurora-tool.
3. Lade dir das aktuellste "win64" Release von meinem GitHub: https://github.com/archi/aurora-tool/releases
4. Entpacke die zip Datei, öffne den enthaltenen Ordner und dann Doppel-klick auf die "aurora-tool.exe" (mit dem Kamel-Logo).
Solltest du die Datei verschieben, so müssen auch zwingend die enthaltenen "dll"-Dateien mitverschoben werden.
Vorsicht: Der Start könnte ein paar Sekunden dauern, dann sollte aber dieses Fenster auftauchen:
55496
Auf dem Screenshot sieht man, dass ich bereits einen SigmaStudio Export sowie einen Speicherort ausgewählt hatte.
Bei dir ist das alles noch leer, aber das ändern wir jetzt erstmal:
5. Klick auf den oberen "..." Knopf, es sollte der normale Windows Dialog zum öffnen einer Datei erscheinen. Navigiere zu deinem Export und wähle dort dann die "dein_toller_projekt_name.params"-Datei:
55497
6. Weiter geht's mit dem Speicherort. Dazu die untere der beiden "..." Knöpfe drücken, und es sollte ein normaler "Ordner suchen" Dialog von Windows kommen:
55498
(Anmerkung: Ja, der Dialog ist was doof, weil man keine Ordner erstellen kann. Das ist eine Einschränkung von Windows. Eventuell willst du also im Windows Explorer erstmal einen leeren Ordner anlegen, und den dann dort auswählen. Ich lasse mir das eventuell noch was besseres einfallen).
7. So, last but not least, drück einmal auf den "Build" Knopf. Wenn alles gut geht, sollte dir das Programm das mitteilen, und nochmal darauf hinweisen, dass man sich das Ergebnis nochmal anschauen sollte:
55499
Das wars auch schon. Im ausgewählten Ordner solltest du jetzt eine "plugin.ini" sowie die "dsp.fw" finden.
Falls etwas schief gelaufen sein sollte:
Vielleicht helfen dir die Fehlermeldungen bereits - es kann aber noch gut sein, dass das nicht der Fall ist (siehe Bedenken (b) weiter oben).
Dann kannst du folgendes tun: Pack dein gesamtes Projekt MITSAMT EXPORT in eine Zip Datei, und häng die hier an. Dann kann ich das Projekt bei mir Konvertieren und den Fehler suchen gehen.
Dabei gilt zu beachten: 1. Nur nicht schüchtern sein 2. Du räumst mir das Recht ein, das Projekt als Testfall unter der Lizenz "CC-BY-SA 4.0" in mein GitHub zu übernehmen.
Wie kannst du helfen:
1. Du kannst Programmieren? Und zwar Perl? Dann lies bitte meinen Code, verstehe ihn, und ergänze Kommentare/mache ihn übersichtlicher an den besonders schlimmen Stellen. Viel mehr kann ich vorerst nicht anbieten - das nächste Dutzend Schritte habe ich bereits im Kopf, und das konkret als "Lastenheft" für jemand anders aufzuschreiben dauert länger als es selbst zu machen. Sorry :( Das könnte sich aber noch ändern. Insbesondere sobald es an die dsp.html geht - zum einem sind dann die weiter verbreitete Dreifaltigkeit von JS/HTML/CSS nötig, zum andern kann man dann (hoffentlich) Teilaufgaben besser verteilen sowie inkrementelle Verbesserungen sollten auch einfacher werden (plus, JS/HTML/CSS kann ich zwar auch halbwegs, ist aber weder meine Lieblingsgebiet noch meine Stärke :P).
2. Du kannst nicht Programmieren, hast dir aber ein eigenes DSP Programm geklickt? Steck dein DSP Programm in's aurora-tool und schau, ob das Richtige bei raus kommt. Wenn nicht, siehe oben bei "Irgendwas ist schief gelaufen" - je mehr Testfälle ich habe, desto besser kann ich Fehler frühzeitig erkennen/verhindern. Und ein paar Testfälle, bei denen alles Richtig ist, schaden auch nicht. Dann merke ich wenigstens, wenn ich später etwas kaputt mache (der Profi nennt das "Regression Tests").
3. Du findest das Tool potentiell nützlich, aber fällst (zur Zeit) bei den anderen beiden Punkten raus? Markiere das Projekt mit einem Stern auf GitHub (falls Account vorhanden) oder lass mich hier wissen, dass du es nützlich findest :)
Sooo, das war's erstmal von mir.
Ich hab den Beitrag über ein paar Abende aufgeschrieben - wenn also etwas zu wirr ist, bitte kurz Bescheid geben und ich bessere nach.
Viel Spaß damit,
Archi/Sebastian
Hier nochmal alle Bilder (leider macht die Foren-Software die nicht größer):
5550055496554975549855499
Das Plugin besteht ja im Prinzip derzeit aus folgenden Dateien:
1. dsp.fw: Das eigentliche Programm für den DSP Chip (wird korrekt erzeugt)
2. plugin.ini: "Struktur" des DSP Programms, damit die WebApp weiß wie sie mit dem DSP Chip "reden" kann (ist fast fertig, aber grob ungetestet)
3. dsp.html & 4. dark.css: Die eigentliche "Steuerungswebseite" (steht noch aus)
Mein "Traum" wäre, dass man dann das komplette Webinterface generieren kann - also man baut/klickt sich im SigmaStudio sein DSP Programm (Frequenzweiche, Raumkorrektur,...), exportiert das, klickt auf drei Tasten im aurora-tool, und lädt dann das fertige Plugin auf den Aurora. Dann nurnoch auf die Couch setzen und relaxed Musik hören :)
Aktueller Stand (19. Juni 2020):
Für Schritt 3 ist aber leider viel "unsichtbare" Arbeit hinter den Kulissen notwendig (insbesondere alle relevanten Daten einlesen, dann per Algorithmus Klassifizieren, Vereinfachen, Gruppieren und Layouten - und dann kann man anfangen, über das eigentliche Erzeugen der dsp.html nachzudenken). Hier habe ich schon einiges getan - sowie geplant -, aber es ist noch ein relativ langer Weg.
Vorerst muss man aber wohl noch eine Weile die HTML&CSS von Hand bauen (oder realistischer: Die vorhandenen Dateien anpassen).
Ich plane zeitnah noch eine "leere" HTML Datei dazu zu legen, also ohne PEQ/HP/LP-Raster in der Mitte, aber mit Presets, Eingangswahl, Lautstärkeregler und den anderen "generischen" Bedien-Elementen; dann kann man vorerst alle Parameter im SigmaStudio einprogrammieren, und zumindest Presets/Eingänge/Lautstärke in der Aurora WebApp steuern.
(Technisches Detail: Die Presets hängen davon ab, dass die Adressen aller "Bausteine" in der plugin.ini stehen - das sollte bereits der Fall sein, d.h. Presets könnten funktionieren).
Was mir aber bereits klar ist, und ihr daher beim Design einer "DSP Schaltung" im Hinterkopf behalten solltet: Die Struktur eures eigenen DSP Programms im SigmaStudio muss sich an dem orientieren, was Raphael quasi als "Vorlage" zur Verfügung gestellt hat. D.h. das aurora-tool erwartet:
* Alle "Eingänge" werden über die vorhandene "Eingangswahl" umgeschaltet. Entfällt die, erkennt das Tool die Eingänge nicht mehr, und damit geht hinten dran alles kaputt (kann man aber evtl dennoch anpassen).
* Alle "Ausgänge" laufen über die Master Volume. Entfällt die, findet das Tool keine Ausgänge mehr, und damit geht alles kaputt.
* Alle eigenen "Bausteine", die "vor" der Eingangswahl liegen, werden vom aurora-tool zwar in die plugin.ini eingefügt, aber landet nicht im dsp.html
* Alle eigenen "Bausteine", die "hinter" der Master Volume liegen, werden vom aurora-tool zwar in die plugin.ini eingefügt, aber landet nicht im dsp.html (Ausnahme sind die "Standardelemente" fürs Volume Poti und so)
Das ist der Preis dafür, dass man eine minimale Anzahl Knöpfe im aurora-tool hat ;-)
Vielleicht kann ich irgendwann mal einen Expertenmodus bauen, bei dem man das dann alles konfigurieren kann.
Bedenkt bitte auch:
a) Die aktuelle Version ist eher noch eine "Vorschau". Ich denke aber, dass sie durchaus nützlich ist - immerhin spart man sich das Abtippen der Adressen aus SigmaStudio in das "plugin.ini" (sollte dennoch überprüft werden!), und man braucht das Kommandozeilenwerkzeug sigma2aurora.exe nicht. Wie gesagt, das dsp.html muss man von Hand schreiben/anpassen - also ohne Programmieren geht es leider noch nicht.
b) Die Fehlerbehandlung bisher ist sehr rudimentär, bzw. einige Fehlermeldungen landen zur Zeit auf der Kommandozeile - die man dann mit der "GUI", also dem grafischen Benuterinterface, natürlich nicht sieht. D.h. wenn ihr euch besonders kreative DSP Programme geklickt habt, kann es sein, dass das aurora-tool einfach ohne Fehlermeldung "abstürzt", oder vorhandene Fehlermeldungen nicht sonderlich aussagekräftig sind. Das wird sich noch alles ändern, aber erstmal habe ich andere Prioritäten. Melden darf man Fehler aber natürlich dennoch!
c) Soweit ich das bisher sehe (besitze noch keines), sind die Addons relativ unabhängig vom DSP Programm selbst. Ich gehe daher im Moment davon aus, dass ich da einfach Raphael's bisheriges Handling übernehme. Ich werde wohl sowieso viel von der bisherigen dsp.html übernehmen und hab noch ein paar Dinge, die ich gerne "zusätzlich" hätte (mehr dazu wenn es so weit ist).
Wie man es benutzt:
So, du hast dir also ein DSP Programm geklickt, und willst das gerne mit dem aurora-tool "übersetzen"? Prima! :)
Dann hast du das komplizierteste ja bereits hinter dir.
Öffne dein DSP Projekt im SigmaStudio und erzeuge einen Export:
1. Dazu musst du erstmal auf oben im Menü auf "Action" und dort dann "Link Compile Download". Es wird vermutlich eine längere Fehlermeldung zum Thema USB kommen, die kann man einfach ignorieren.
2. Im selben Menü sollte dann das "Export System Files" möglich sein (im Screenshot ist es noch grau):
Am Besten erstmal mit Raphaels original 8channel Plugin probieren:
55500
Nun geht's weiter mit dem eigentlichen aurora-tool.
3. Lade dir das aktuellste "win64" Release von meinem GitHub: https://github.com/archi/aurora-tool/releases
4. Entpacke die zip Datei, öffne den enthaltenen Ordner und dann Doppel-klick auf die "aurora-tool.exe" (mit dem Kamel-Logo).
Solltest du die Datei verschieben, so müssen auch zwingend die enthaltenen "dll"-Dateien mitverschoben werden.
Vorsicht: Der Start könnte ein paar Sekunden dauern, dann sollte aber dieses Fenster auftauchen:
55496
Auf dem Screenshot sieht man, dass ich bereits einen SigmaStudio Export sowie einen Speicherort ausgewählt hatte.
Bei dir ist das alles noch leer, aber das ändern wir jetzt erstmal:
5. Klick auf den oberen "..." Knopf, es sollte der normale Windows Dialog zum öffnen einer Datei erscheinen. Navigiere zu deinem Export und wähle dort dann die "dein_toller_projekt_name.params"-Datei:
55497
6. Weiter geht's mit dem Speicherort. Dazu die untere der beiden "..." Knöpfe drücken, und es sollte ein normaler "Ordner suchen" Dialog von Windows kommen:
55498
(Anmerkung: Ja, der Dialog ist was doof, weil man keine Ordner erstellen kann. Das ist eine Einschränkung von Windows. Eventuell willst du also im Windows Explorer erstmal einen leeren Ordner anlegen, und den dann dort auswählen. Ich lasse mir das eventuell noch was besseres einfallen).
7. So, last but not least, drück einmal auf den "Build" Knopf. Wenn alles gut geht, sollte dir das Programm das mitteilen, und nochmal darauf hinweisen, dass man sich das Ergebnis nochmal anschauen sollte:
55499
Das wars auch schon. Im ausgewählten Ordner solltest du jetzt eine "plugin.ini" sowie die "dsp.fw" finden.
Falls etwas schief gelaufen sein sollte:
Vielleicht helfen dir die Fehlermeldungen bereits - es kann aber noch gut sein, dass das nicht der Fall ist (siehe Bedenken (b) weiter oben).
Dann kannst du folgendes tun: Pack dein gesamtes Projekt MITSAMT EXPORT in eine Zip Datei, und häng die hier an. Dann kann ich das Projekt bei mir Konvertieren und den Fehler suchen gehen.
Dabei gilt zu beachten: 1. Nur nicht schüchtern sein 2. Du räumst mir das Recht ein, das Projekt als Testfall unter der Lizenz "CC-BY-SA 4.0" in mein GitHub zu übernehmen.
Wie kannst du helfen:
1. Du kannst Programmieren? Und zwar Perl? Dann lies bitte meinen Code, verstehe ihn, und ergänze Kommentare/mache ihn übersichtlicher an den besonders schlimmen Stellen. Viel mehr kann ich vorerst nicht anbieten - das nächste Dutzend Schritte habe ich bereits im Kopf, und das konkret als "Lastenheft" für jemand anders aufzuschreiben dauert länger als es selbst zu machen. Sorry :( Das könnte sich aber noch ändern. Insbesondere sobald es an die dsp.html geht - zum einem sind dann die weiter verbreitete Dreifaltigkeit von JS/HTML/CSS nötig, zum andern kann man dann (hoffentlich) Teilaufgaben besser verteilen sowie inkrementelle Verbesserungen sollten auch einfacher werden (plus, JS/HTML/CSS kann ich zwar auch halbwegs, ist aber weder meine Lieblingsgebiet noch meine Stärke :P).
2. Du kannst nicht Programmieren, hast dir aber ein eigenes DSP Programm geklickt? Steck dein DSP Programm in's aurora-tool und schau, ob das Richtige bei raus kommt. Wenn nicht, siehe oben bei "Irgendwas ist schief gelaufen" - je mehr Testfälle ich habe, desto besser kann ich Fehler frühzeitig erkennen/verhindern. Und ein paar Testfälle, bei denen alles Richtig ist, schaden auch nicht. Dann merke ich wenigstens, wenn ich später etwas kaputt mache (der Profi nennt das "Regression Tests").
3. Du findest das Tool potentiell nützlich, aber fällst (zur Zeit) bei den anderen beiden Punkten raus? Markiere das Projekt mit einem Stern auf GitHub (falls Account vorhanden) oder lass mich hier wissen, dass du es nützlich findest :)
Sooo, das war's erstmal von mir.
Ich hab den Beitrag über ein paar Abende aufgeschrieben - wenn also etwas zu wirr ist, bitte kurz Bescheid geben und ich bessere nach.
Viel Spaß damit,
Archi/Sebastian
Hier nochmal alle Bilder (leider macht die Foren-Software die nicht größer):
5550055496554975549855499