fb:porticula NoPaste
test.bas
Uploader: | ThePuppetMaster |
Datum/Zeit: | 24.12.2023 01:08:08 |
Hinweis: Dieser Quelltext ist Bestandteil des Projekts LOUPEDECK-Live Linux Treiber, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.
'####################################################################################################################################################################################################################################
Dim Shared G_PosX as Integer
Open Cons for Output as #1
'####################################################################################################################################################################################################################################
#Include Once "../../timage/timage.bi"
#Include Once "loupedeck.bi"
'####################################################################################################################################################################################################################################
Dim Shared G_ColorR as UByte
Dim Shared G_ColorG as UByte
Dim Shared G_ColorB as UByte
Dim Shared G_ImgBtn as TImage Ptr
Dim Shared G_ImgBar as TImage Ptr
Dim Shared G_Font as TImage Ptr
'####################################################################################################################################################################################################################################
Sub Loupedeck_Callback(V_LDID as UInteger, V_Event as Loupedeck_Event_Type, V_Element as Loupedeck_Element_Type, V_ElementID as UByte, V_PushForce as UByte, V_X as UShort, V_Y as UShort, V_Section as UByte)
Print "ID:" & V_LDID & " EVENT:" & V_Event & " ELEMENT:" & V_Element & " ELEMENT-ID:" & V_ElementID & " FORCE:" & V_PushForce & " X:" & V_X & " Y:" & V_Y & " S:" & V_Section
Dim TVal as UByte
Select Case V_Event
Case LDET_Down
Select Case V_ElementID
Case 0:
Select Case V_Section
Case 1, 2
G_ImgBar->CLS(&H000000)
G_ImgBar->Line(0, CInt(V_Y), 60, 270, &HFFFFFF, 1, 1)
Loupedeck_INT_DrawTImageToFBSection(V_LDID, V_Section, G_ImgBar)
Loupedeck_Flip(V_LDID)
Case 3 to 14
Loupedeck_VibrationSet(V_LDID, &H32)
G_ImgBtn->CLS(&HFF0000)
G_ImgBtn->DrawString(G_Font, "Test-" & Str(V_Section), 10, 10, &H000000, 1)
Loupedeck_INT_DrawTImageToFBSection(V_LDID, V_Section, G_ImgBtn)
Loupedeck_Flip(V_LDID)
End Select
Case 7: Loupedeck_VibrationSet(V_LDID, &H70)
Case 8: Loupedeck_ButtonColorSet(V_LDID, 8, &HFF0000)
' Case 9: Loupedeck_Draw(V_LDID)
' Case 10: Loupedeck_Flip(V_LDID)
End Select
Case LDET_Up
Select Case V_ElementID
Case 0:
Select Case V_Section
Case 1
Case 2
Case 3 to 14
G_ImgBtn->CLS(&H00FF00)
G_ImgBtn->DrawString(G_Font, "Test-" & Str(V_Section), 10, 10, &H000000, 1)
Loupedeck_INT_DrawTImageToFBSection(V_LDID, V_Section, G_ImgBtn)
Loupedeck_Flip(V_LDID)
End Select
End Select
Case LDET_CW
Select Case V_ElementID
Case 1: TVal = G_ColorR
Case 2: TVal = G_ColorG
Case 3: TVal = G_ColorB
' Case 4: G_PosX += 1: Loupedeck_Draw(V_LDID): Loupedeck_Flip(V_LDID)
End Select
If TVal < 255 - 1 Then TVal += 1 Else TVal = 255
Select Case V_ElementID
Case 1: G_ColorR = TVal
Case 2: G_ColorG = TVal
Case 3: G_ColorB = TVal
End Select
Select Case V_ElementID
Case 1 to 3
' Loupedeck_ButtonColorSet(V_LDID, 8, RGB(G_ColorR, G_ColorG, G_ColorB))
' Loupedeck_DisplayBrightnessSet(V_LDID, G_ColorR)
End Select
Case LDET_CCW
Select Case V_ElementID
Case 1: TVal = G_ColorR
Case 2: TVal = G_ColorG
Case 3: TVal = G_ColorB
' Case 4: If G_PosX > 0 Then G_PosX -= 1: Loupedeck_Draw(V_LDID): Loupedeck_Flip(V_LDID)
End Select
If TVal > 1 Then TVal -= 1 Else TVal = 0
Select Case V_ElementID
Case 1: G_ColorR = TVal
Case 2: G_ColorG = TVal
Case 3: G_ColorB = TVal
End Select
Select Case V_ElementID
Case 1 to 3
' Loupedeck_ButtonColorSet(V_LDID, 8, RGB(G_ColorR, G_ColorG, G_ColorB))
' Loupedeck_DisplayBrightnessSet(V_LDID, G_ColorR)
End Select
End Select
End Sub
'####################################################################################################################################################################################################################################
Dim TLDID as UInteger
Dim TDevicePath as String = "/dev/ttyACM0"
G_Font = TLoadFontDynamicspaceFromFile("font12.bmp")
Print #1, "Connecting..."
Dim TRV as Loupedeck_GURU = Loupedeck_Connect(TDevicePath, TLDID)
If TRV <> LDG_NoError Then Print "Error:" & Loupedeck_GetGURUDesc(TRV): End -1
Print #1, "Connected!"
'Dim TImg as TImage Ptr = TImageCreate(60, 266)
G_ImgBar = TImageCreate(60, 270)
G_ImgBtn = TImageCreate(90, 90)
For X as Integer = 3 to 14
G_ImgBtn->CLS(RGB(0, 255, 0))
G_ImgBtn->DrawString(G_Font, "Test-" & Str(X), 10, 10, &H000000, 1)
Print #1, "ICK:" & G_ImgBtn
Loupedeck_INT_DrawTImageToFBSection(TLDID, X, G_ImgBtn)
Next
Print #1, "Flip"
Loupedeck_Flip(TLDID)
Print #1, "OK"
Loupedeck_SetCallback(TLDID, @Loupedeck_Callback)
Do Until InKey() = Chr(27)
TRV = Loupedeck_Checkup(TLDID)
If TRV <> LDG_NoError Then Print "Error:" & Loupedeck_GetGURUDesc(TRV): End -1
Sleep 10, 1
Loop
TRV = Loupedeck_Close(TLDID)
If TRV <> LDG_NoError Then Print "Error:" & Loupedeck_GetGURUDesc(TRV): End -1
End 0