Seite 7 von 11

Verfasst: 16.10.2006 21:26
von Frogger
Köntest du diese Prozedur einbauen?

Code: Alles auswählen

Procedure JumpToItem(Gadget.l, Position.l) 
  SetGadgetItemState(Gadget, Position, #PB_ListIcon_Selected)
  pitem.POINT  
  SendMessage_(GadgetID(Gadget), #LVM_GETITEMPOSITION, Position , pitem)
  SendMessage_(GadgetID(Gadget), #LVM_SCROLL, pitem\x, pitem\y - 180) 
EndProcedure 

;/##### Beispiel #####
Enumeration
  #Window_0
  #ListIconGadget_0
EndEnumeration
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 592, 348, 400, 400, "#Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_0))
      ListIconGadget(#ListIconGadget_0, 20, 20, 335, 260, "Gadget", 100, #PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
    EndIf
  EndIf
EndProcedure
OpenWindow_Window_0()
For i = 0 To 400
  AddGadgetItem(#ListIconGadget_0, i, Str(i))
Next

JumpToItem(#ListIconGadget_0, 340)

Repeat
  Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow

Verfasst: 17.10.2006 14:21
von a14xerus
Danke für den Code.. was ich brauchte waren nur die zwei apis, um zu scrollen

Neue Version: 3.0.3.7c
-> Autoscroll

Verfasst: 17.10.2006 16:28
von a14xerus
Neue Version: 3.0.3.8
-> Neuer Updater


Achtung: Updater wird standartmäßig nicht heruntergeladen.
Dadurch musste ich diesmal den Updatevorgang etwas abändern.
Sollte aber alles funktionieren.

Verfasst: 17.10.2006 17:59
von Frogger
Der Autoscroll funktioniert nicht beim Miniaturfenster.
d.h. wenn ich wieder ins große Fenster wechsle sieht man nicht das aktuell gespielte Lied.

Verfasst: 17.10.2006 21:00
von a14xerus
sobald wieder dnach das nächste lied kommt, sollte es wieder gehen.. kann aber nochmal nachgucken, bzw ändern, das es direkt geht

Verfasst: 17.10.2006 21:07
von Frogger
Es schadet nicht diese Funktion auszuführen auch wenn das ListIcon nicht sichtbar ist.
Oder du kannst es direkt nach dem Öffnen des großen Fensters aufrufen.
Ist Geschmackssache wie man es macht.

Verfasst: 17.10.2006 21:09
von AND51
Hat sich eigentlich was getan mit dem Debug/Log-Feature, das ich vorgeschlagen habe?

Würd mich mal interssieren, woran's lag, etc. :)

Verfasst: 17.10.2006 21:46
von a14xerus
Log ist eingebaut.. genau gefixed wurden die Fehler noch nicht.. sind immer Speicherzugriffsfehler..
zusätzlich gibbet jetz noch ne
Neue Version: 3.0.3.8b
-> Programm in Includes aufgeteilt


Also er loggt fröhlich vor sich hin.. aber richtig gebrachts hats noch nichts..
Trotzdem sehr interesant

//edit zu frogger
eig wird diese Function immer ausgeführt.
Immer beim lied "PLAY" oder beim aktualisieren (zb beim löschen eines Liedes).. kp warum es nicht immer geht
Baue aber wohl noch ein das beim öffnen wieder gescrollt wird

Verfasst: 17.10.2006 22:26
von Frogger
Es bringt schon was. Man weis wenigstens wo es hackt.
Vorallem wen OnError keine Meldung gebracht hat.
Ich werd mal fleißig weiter testen und die LOGs posten falls nötig.

Verfasst: 17.10.2006 22:38
von Frogger
22:27:11 Starte Procedure: GetID3v2Tag
22:27:11 Starte Procedure: Movie_Free (MCI)
22:27:11 Starte Procedure: Movie_Load (MCI)
22:27:11 Starte Procedure: Movie_Play (MCI)
22:27:11 Starte Procedure: Get Name
22:27:45 Starte Procedure: preference write
22:27:45 Standart Befehle: schreibe Titel in INI23
22:27:45 Starte Procedure: m3u speichern
22:28:35 Starte Procedure: preference write
22:28:35 Standart Befehle: schreibe Titel in INI23
22:28:35 Starte Procedure: m3u speichern
OnError ist nicht angesprungen.

//Nachtrag:
23:05:16 Starte Procedure: GetID3v2Tag
23:05:16 Starte Procedure: Movie_Free (MCI)
23:05:16 Starte Procedure: Movie_Load (MCI)
23:05:16 Starte Procedure: Movie_Play (MCI)
23:05:16 Starte Procedure: Get Name
23:06:00 Starte Procedure: preference write
23:06:00 Standart Befehle: schreibe Titel in INI25
23:06:00 Starte Procedure: m3u speichern
23:06:50 Starte Procedure: preference write
23:06:50 Standart Befehle: schreibe Titel in INI25
23:06:50 Starte Procedure: m3u speichern
Wieder an der gleichen Stelle beim 2. Aufruf von "m3u speichern" nach dem laden einer Datei.

//Nachtrag #2
23:27:50 Starte Procedure: GetID3v2Tag
23:27:50 Starte Procedure: Movie_Free (MCI)
23:27:50 Starte Procedure: Movie_Load (MCI)
23:27:50 Starte Procedure: Movie_Play (MCI)
23:27:50 Starte Procedure: Get Name
23:27:50 Starte Procedure: Get Name
23:28:07 Starte Procedure: preference write
23:28:07 Standart Befehle: schreibe Titel in INI16
23:28:07 Starte Procedure: m3u speichern