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