

Code : Tout sélectionner
; ** Procédure de visualisation ( Add - ons crée par Garzul ). **
Procedure Visualiseur()
LoadFont(1, "arial", 50 )
LoadFont(2, "arial", 50 )
UseFont(1)
Resultat = InitSprite()
Global Angle,amplitude
amplitude=5
Texte.s="Pingtix Player"
OpenWindow(500,50,50,640,200,#PB_Window_TitleBar,"lu",#pingtixplayer)
CreateGadgetList(WindowID())
ButtonGadget(#cl,400,400,100,100,"FERMER")
OpenWindowedScreen(WindowID(),0,0,640,200,1,0,0)
CreateImage(100, 640, 100)
StartDrawing( ImageOutput())
FrontColor($0,$FF,$FF)
BackColor(0, 0, 0)
UseFont(1)
DrawingFont(FontID())
DrawingMode(1)
Locate(0, 0)
DrawText(Texte.s)
StopDrawing()
For t=0 To 100
GrabImage(100, t, 0, t, 640,1)
Next t
Repeat
For y= 0 To 100
StartDrawing(ScreenOutput())
UseFont(2)
DrawingFont(FontID())
DrawingMode(1)
FrontColor($95,$25,$BA)
BackColor(0, 0, 0)
Locate(40, 0)
DrawText(Texte.s)
Angle+1 :If Angle=360*10: Angle=0 :EndIf
x=1+(Sin(Angle*2*3.1415926/50)* amplitude)
DrawImage( UseImage(y), x+40, y+20*x/25+50,640,1)
StopDrawing()
dep+1 :If dep>640 :dep=-100:EndIf
Next y
ClearScreen(0,0,0)
FlipBuffers()
Until #cl
EndProcedure
; ** Fin de la procédure. **
Les bugs vus sont les suivants :
* Quand le visualiseur est lancer on ne peux plus utilisez la premiére fenétre ( qui utilise une callback et qui teste les event d'ailleur je pense que c'est les events qui pose problémes ) .
* Quand on déplacez un fichier vidéos vers le player normal ( premiére fenétre ) la vidéos se lance dans une nouvelle fenêtre .
( Voici le code du deplacement ==> ) :
Code : Tout sélectionner
Select WindowEvent()
Case #WM_DROPFILES : DragAndDrop()
azik$=zik$
zik$=filename.s
If azik$ <> zik$
FreeVideo(0)
EndIf
ReadyMovie()
Code : Tout sélectionner
Procedure ReadyMovie()
LoadVideo(0,zik$): load$ = "o"
mseconde=SetVideoFormat(0,#VIDEO_MSECONDE)
duree$=GetTime(mseconde)
width = VideoWidth(0)
height = VideoHeight(0)
volume = GetGadgetState(#volume)
VideoSetVolume(0,volume)
If VideoWidth(0) <> 0 And VideoHeight(0) <>0
ResizeWindow(VideoWidth(0),VideoHeight(0)+94)
Else
ResizeWindow(300,100)
resize()
EndIf
StatusBarText(#Statut,0,GetTime(VideoLength(0)))
StatusBarText(#Statut,1,zik$)
mciSendString_("Window MCI_"+"0"+" Handle "+Str(WindowID()),0,0,0)
ResizeVideo(0,0,25,WindowWidth(),WindowHeight()-94)
ResizeGadget(#progression,0,WindowHeight()-70,WindowWidth(),20)
SendMessage_(hSeek, #TBM_SETRANGEMAX,#True,VideoLength(0))
;MCI_Play(0)
mciSendString_("play MCI_"+Str(0),0,0,0)
MoveWindow(WindowX()+1,WindowY()+1)
MoveWindow(WindowX()-1,WindowY()-1)
EndProcedure