Difference between revisions of "U23 2005/Scripteditor"
(→Koordination: Feedback) |
|||
Line 46: | Line 46: | ||
== Koordination == | == Koordination == | ||
− | Ich hab mir nochmal überlegt, wie wir das Programm strukturieren könnten. Meiner Meinung nach, wenn wir schon Java benutzen, dann auch richtig. Daher würde ich sagen für jedes der 8 Makros, bzw je nach | + | Ich hab mir nochmal überlegt, wie wir das Programm strukturieren könnten. Meiner Meinung nach, wenn wir schon Java benutzen, dann auch richtig. Daher würde ich sagen für jedes der 8 Makros, bzw. je nach Gebrauch auch weniger, gibt es eine Klasse. Diese Klasse bekommt einen einfachen Namen und bekommt vernünftige Werte als Argumente. Intern rechnet dann jede Klasse die Argumente in die Script Makro Argumente um und liefert durch eine Funktion getCode() oder sonst wie den fertigen Makroteil als String. |
− | Diese Objekte können wir dann zB in einen 2-dimensionalen Array schreiben der die Zeitleiste repräsentiert. 1 Element ist das Befehlsobjekt und das andere Element ist der Button oder das Feld oder was auch immer dann | + | Diese Objekte können wir dann zB in einen 2-dimensionalen Array schreiben der die Zeitleiste repräsentiert. 1 Element ist das Befehlsobjekt und das andere Element ist der Button oder das Feld oder was auch immer dann diesen Befehl auf der Zeitleiste darstellt. So könnte man dann nachher beim Generieren einfach den Array durchlaufen und von jedem Objekt den entsprechenden Makrocode anfordern und zusammensetzen. |
− | Evtl würd ich auch wirlich erstmal den | + | : ''Alternativ kann man den Button auch als einen Parameter des Objektes abspeichern, dann reicht ein 1-dimensionales Array. Die innere Struktur der Klassen hängt dann vor allem auch vom Fnordlicht-Script-Dateiformat ab, damit es nicht zu kompliziert wird, die Sachen abzuspeichern und zu laden. Ich bin gerade dabei, das in einer ersten Version zu definieren, kommt bald ins Wiki... --Diozaka'' |
+ | |||
+ | Evtl. würd ich auch wirlich erstmal den Simple Mode nach hinten schieben und mit 3 Leisten arbeiten, weil das erstmal schneller und einfacher ist und wir alle nicht viel Zeit haben. | ||
Daher auch jetzt hier ein bisschen Koordination, weil wenn jeder ohne gemeinsame Struktur irgendwas zusammencoded ham wir alle nicht viel davon. | Daher auch jetzt hier ein bisschen Koordination, weil wenn jeder ohne gemeinsame Struktur irgendwas zusammencoded ham wir alle nicht viel davon. | ||
Also ich würde mich bereit erklären, die Wrapperklassen für die Makros zu schreiben, evtl mit Diozaka zusammen. | Also ich würde mich bereit erklären, die Wrapperklassen für die Makros zu schreiben, evtl mit Diozaka zusammen. | ||
+ | : ''Bin dabei. :D --Diozaka'' | ||
Soweit von mir, awaiting feedback.. | Soweit von mir, awaiting feedback.. | ||
Timo aka manuke | Timo aka manuke |
Revision as of 15:02, 5 November 2005
Beschreibung
Ein Editor, mit dem man sich ganz einfach Scripts für das Fnordlicht zusammenklicken kann. Dabei soll es einen Simple-Mode und einen Expert-Mode geben: Im Simple-Mode gibt man eine Farbe als Hex-Wert an (oder wählt sie mit einem Color-Picker aus), dann bestimmt man, wie lange diese Farbe angezeigt werden soll und ob es einen Fade zu dieser Farbe geben soll (und wie lange dieser dauern soll). Danach fügt man die nächste Farbe ein, etc.
Ein Beispiel:
1: Zeige mir 10 sec lang Rot an (ohne Fade) 2: Fade innerhalb von 5 sec zu Lila und zeige mir dann 30 sec lang Lila an. 3: Fade innerhalb von 10 sec zu Gelb und zeige mir dann 20 sec lang Gelb an. 4: ...
Der Expert-Mode hat im Grunde dieselben Funktionen, aber man kann die drei Threads (also Farbkanäle) getrennt steuern.
Ein Beispiel:
1: Der rote Kanal soll innerhalb von 15 sec auf volle Helligkeit und dann wieder innerhalb von 15 sec auf Helligkeit 0 blenden. 2: Der blaue Kanal soll (gleichzeitig) in 5 sec auf volle Helligkeit und dann wieder innerhalb von 5 sec auf Helligkeit 0 blenden. 3: Währenddessen soll der grüne Kanal mit einer Frequenz von 2 Hz (d.h. 2 mal pro Sekunde) blinken.
So hab ich das zumindest verstanden --Diozaka
- Ich auch... --Pylon 13:43, 4 Nov 2005 (CET)
- Ich auch... --Nico
- Na dann wird's ja stimmen :) --Diozaka
Funktionen
- Die Scriptdateien per Parameter beim Kompilieren nachladen wie z.B. make install-fnordlicht meinTollesScript.inc
- Speichern der Script-Entwürfe in einem eigenen Dateiformat (z.B. .fs = fnordlicht Script)
- ...
Arbeitsschritte
- Doku zu den Firmware Makros die für die Scripts benötigt werden. Machen: diozaka, manuke. (fertig)
- GUI entwerfen. (fertig, siehe unten)
- GUI schreiben.
- Dateiformat für Script-Entwürfe (.fs) definieren.
- Parser schreiben: Script-Entwurf -> Assembler-Macros
- Makefile anpassen. (siehe oben)
GUI
Unser erster Entwurf für den Simple-Mode
(Bild kommt, wenn Bilderupload wieder möglich ist)
Koordination
Ich hab mir nochmal überlegt, wie wir das Programm strukturieren könnten. Meiner Meinung nach, wenn wir schon Java benutzen, dann auch richtig. Daher würde ich sagen für jedes der 8 Makros, bzw. je nach Gebrauch auch weniger, gibt es eine Klasse. Diese Klasse bekommt einen einfachen Namen und bekommt vernünftige Werte als Argumente. Intern rechnet dann jede Klasse die Argumente in die Script Makro Argumente um und liefert durch eine Funktion getCode() oder sonst wie den fertigen Makroteil als String.
Diese Objekte können wir dann zB in einen 2-dimensionalen Array schreiben der die Zeitleiste repräsentiert. 1 Element ist das Befehlsobjekt und das andere Element ist der Button oder das Feld oder was auch immer dann diesen Befehl auf der Zeitleiste darstellt. So könnte man dann nachher beim Generieren einfach den Array durchlaufen und von jedem Objekt den entsprechenden Makrocode anfordern und zusammensetzen.
- Alternativ kann man den Button auch als einen Parameter des Objektes abspeichern, dann reicht ein 1-dimensionales Array. Die innere Struktur der Klassen hängt dann vor allem auch vom Fnordlicht-Script-Dateiformat ab, damit es nicht zu kompliziert wird, die Sachen abzuspeichern und zu laden. Ich bin gerade dabei, das in einer ersten Version zu definieren, kommt bald ins Wiki... --Diozaka
Evtl. würd ich auch wirlich erstmal den Simple Mode nach hinten schieben und mit 3 Leisten arbeiten, weil das erstmal schneller und einfacher ist und wir alle nicht viel Zeit haben.
Daher auch jetzt hier ein bisschen Koordination, weil wenn jeder ohne gemeinsame Struktur irgendwas zusammencoded ham wir alle nicht viel davon.
Also ich würde mich bereit erklären, die Wrapperklassen für die Makros zu schreiben, evtl mit Diozaka zusammen.
- Bin dabei. :D --Diozaka
Soweit von mir, awaiting feedback..
Timo aka manuke