Laden...

G-Workstation

Erstellt von Tsuyo vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.051 Views
T
Tsuyo Themenstarter:in
20 Beiträge seit 2010
vor 13 Jahren
G-Workstation

Hallo.
Ich bin relativ neu hier, hab schon öfters einige Threads hier angesehen, nun hab ich mich auch mal registriert 😉
Ich möchte euch ein OpenSource Projekt von mir vorstellen.
Es heisst G-Workstation und ist ein "Applet" bzw eine Applikation für die Tastaturen G15/G19 und dem gameboard G13.
Wie einige vielleicht wissen haben diese Lcd Bildschirme. Nun, mein Programm spricht diese an.
Es gibt genügend Benutzer ohne jegliche Kentnisse in einer Hochsprache (Vb,C# etc).
Somit sind sie auf Applets von irgendjemandem angewiesen. Aber ist es nicht viel "Cooler" sich selbst applets zu schreiben das noch total einfach ist? Möglich.
Für mein Applet habe ich 2 wichtige Dinge eingebaut:

1.) Lua Support. Jeder user kann wie er will in Lua sich seine eigenen Applets schreiben.
2.) Modul Support. Jeder user kann eigene Funktionen in .NET schreiben. Somit können Leute die nicht mit dem G15 / G19 Bildschirm klarkommen immernoch kleine Funktionen schreiben die sie im Luascript verwenden können.

Das ganze Script nutzt eine Art Events. Wie in C#!, falls z.b ein Knopf auf der Tastatur gedrückt wird, wird im Luascript eine bestimmte Funktion aufgerufen. Ist natürlich besser als immer im Timer den status zu überprüfen.. nicht war 😃?

Nun sehr lange Rede kurzer Sinn - Bilder sind im Anhang.

Das Luascript der beiden Previews sieht so aus:


pluginname = "PluginTest"
version = "1.0"
creator = "Tsuyo"
mail = "1@tsuyo.de"
light = 0

dofile("plugins/values")

-- WORK HERE :)
function draw()
	if keyboard() == 0 then
		drawtext(now("HH:mm:ss"),"8pxbus", 255, 0, 0, 0, 8, 0, 0, 500, 500)
		drawtext(now("dd.MM.yyyy"),"8pxbus", 255, 0, 0, 0, 8, 110, 0, 500, 500)
		drawline(255,0,0,0,0,8,LCD_M_WIDTH,8)
		if getshuffle() == WAMP_STATUS_SHUFFLE_ON then
		drawtext("Shuffle is enabled","8pxbus", 255, 0, 0, 0, 8, 0, 10, 500, 500)
		else
		drawtext("Shuffle is not enabled","8pxbus", 255, 0, 0, 0, 8, 0, 10, 500, 500)
		end
		if getrepeat() == WAMP_STATUS_REPEAT_ON then
		drawtext("Repeat is enabled","8pxbus", 255, 0, 0, 0, 8, 0, 20, 500, 500)
		else
		drawtext("Repeat is not enabled","8pxbus", 255, 0, 0, 0, 8, 0, 20, 500, 500)
		end
		drawtext(song(),"8pxbus", 255, 0, 0, 0, 8, 0, 30, 500, 500)
		drawtext(tomin(songlength()),"8pxbus", 255, 0, 0, 0, 8, 100, 37, 500, 500)
		drawtext(tomin(songpos()),"8pxbus", 255, 0, 0, 0, 8, 0, 37, 500, 500)
	else
		fillrectangle(255,255,0,0,0,0,340,50)
		drawtext(now("HH:mm:ss"),"Arial",255,255,255,255,20,0,0,100,100)
		drawline(255,255,255,255,0,0,340,50)
		drawline(255,255,255,255,340,-2,0,50)
		drawtext("Testplugin NR:1","Arial",255,255,255,255,20,0,20,350,100)
	end
end

function buttonchanged(b)
	if b == "Button3" then
		if light < 2 then
			light = light + 1
		else
			light = 0
		end
		DisplayLight(light)
		KeyboardLight(light)
	end
end

function closing()
--box("Closing!")
end

function closed()
--box("Closed!")
end

Die Funktionen closing und closed werden im FormClosing, FormClosed Event aufgerufen.
Buttonchanged() wird aufgerufen wenn eine LcdTaste gedrückt wird.
Draw() wird aufgerufen, wenn neu aufs Display gezeichnet werden soll.

Hier ist der SourceForge link:
https://sourceforge.net/projects/g-workstation/

Was nun noch kommen wird:

  • Ein Designer, selbst für die ganz unerfahrenen 😉
  • Mehr Module, Je mehr Funktionen man im Luascript nutzen kann, desto besser 😃
  • Eine gute Dokumentation, bis jetzt ist es eher Mager Dokumentiert. Kommentare stehen übrigens jetzt schon über den Funktionen. Ich muss mich da mal in SandCastle einarbeiten.

Naja ich denke ich hab hier genug geschrieben. Freu mich über Feedback.

Grüße

T
Tsuyo Themenstarter:in
20 Beiträge seit 2010
vor 13 Jahren