Kann mir jemand sagen, was die im englischen Forum bei diesem Encoder mit der Variable "Delta_time" aussagen wollen??
Wenn ich die 1. Note beginne ist die =0 und wenn ich irgendeine Note beende ist die 160 und wenn ich eine Note beginne, die nicht die 1. ist, dann ist die Variable =32
Warum weiß ich nicht...
Die Noten sind alle gleich hoch, gleich schnell...
@NIC:
Das fängt gleich mit nem Fehler an
Ich bekomme diesen DEBUG-Fehler:
[13:38:47] Warte auf den Start des Executable...
[13:38:47] Executable gestartet.
[13:38:47] [Debug] 4199275
[13:38:47] [ERROR] Line: 37
[13:38:47] [ERROR] Invalid memory access.
[13:38:50] Das Programm wurde beendet.
Kann das wieder an meinem PB 4.10 Beta3 liegen??
Code: Alles auswählen
Structure NotesGadget
SAG.l ;ScrollAreaGadget
ImgG.l ;ImageGadget
IMG.l ;Image
width.l
height.l
Notes.s ;String mit Noten (z.B. Alle meine Entchen "4cdef2gg4aaaa1g4aaaa1g4ffff2ee4gggg1c")
EndStructure
Global NewList _NotesGadget.NotesGadget()
Procedure NotesGadget(x.l, y.l, width.l, height.l, ScrollWidth.l, ScrollHeight.l)
If AddElement(_NotesGadget())
With _NotesGadget()
\IMG = CreateImage(#PB_Any, ScrollWidth, ScrollHeight)
StartDrawing(ImageOutput(\IMG))
Box(0, 0, ScrollWidth, ScrollHeight, $FFFFFF)
StopDrawing()
If \IMG
\SAG = ScrollAreaGadget(#PB_Any, x, y, width, height, ScrollWidth, ScrollHeight, 1)
\ImgG = ImageGadget(#PB_Any, 0, 0, ScrollWidth, ScrollHeight, ImageID(\IMG))
\width = ScrollWidth
\height = ScrollHeight
ProcedureReturn @NotesGadget()
Else
DeleteElement(_NotesGadget())
ProcedureReturn #False
EndIf
EndWith
EndIf
EndProcedure
Procedure SetNotes(*Gadget.NotesGadget, Notes.s)
Protected z.s, length.l = -1, a.l, slength.l, pos.l = -1
With *Gadget
\Notes = Notes
StartDrawing(ImageOutput(\IMG))
slength = Len(Notes)
For a = 1 To slength
z = Mid(Notes, a, 1)
If z >= "0" And z <= "9"
length = Val(z)
Else
Select LCase(z)
Case "c" : pos = 0
Case "d" : pos = 1
Case "e" : pos = 2
Case "f" : pos = 3
;...
EndSelect
;Mal Note mit DrawText()
EndIf
Next
StopDrawing()
SetGadgetState(\ImgG, ImageID(\IMG))
EndWith
EndProcedure
Procedure FreeNotesGadget(*Gadget.NotesGadget)
With *Gadget
FreeGadget(\ImgG)
FreeGadget(\SAG)
FreeImage(\IMG)
ChangeCurrentElement(_NotesGadget(), *Gadget)
DeleteElement(_NotesGadget())
EndWith
EndProcedure
;//////////////////////////////////////////////////////////////
Enumeration 0 ;/ #Window_*
#Window_0
EndEnumeration
OpenWindow(#Window_0, 0, 0, 600/2, 480/2, "<title>", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(#Window_0))
*gadget.NotesGadget = NotesGadget(10, 10, 200, 150, 200, 150)
Debug *gadget
SetNotes(*gadget, "4cdef2gg4aaaa1g4aaaa1g4ffff2ee4gggg1c")
Define lWindowEvent.l
Repeat
lWindowEvent = WaitWindowEvent()
Select lWindowEvent
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
FreeNotesGadget(*gadget)
End