Autor Beitrag
tsuyo
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 30.05.10 15:08 
Hallo.
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:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
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:
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
Einloggen, um Attachments anzusehen!
chip777
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 127

Win 7 Prof
C# VS 2008
BeitragVerfasst: Mo 31.05.10 14:27 
Hi,

ich bin stolzer Besitzer einer G19. Ich werd das mal testen wenn sich die Zeit dazu findet. Vielleicht heute noch.
Dann werd ich dir auch ein Feedback geben.

Bis dahin

Martin
tsuyo Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 31.05.10 19:41 
Hi, Danke für deine Antwort.
Ich hab mal das Paket geupdated. Nun ist's 0.0.3

Grüße