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:
Naja ich denke ich hab hier genug geschrieben. Freu mich über Feedback.
Grüße