Page 1 of 3

How can i fix MCI\Movie Lib Video playback on Win10?

Posted: Sun Sep 20, 2020 7:02 am
by novablue
Hello, i have quite a few applications that i coded that use windows mci commands to play videos or avisyth scripts. On Windows 7 it would play pretty much any video or script in combination with K-Lite codec pack. Now i recently switched to Windows 10 and none of the videos play anymore. It shows an empty white window with correct resolution of the video and i can hear the audio. Does anyone know how to fix mci playback on windows 10?

Code: Select all

If OpenWindow(0, 100, 200, 195, 260, "Example", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  mciSendString_("OPEN video.avs TYPE MPEGVIDEO ALIAS FILM",0,0,0)
  mciSendString_("PLAY FILM",0,0,0)

  Repeat
    EventID.i = WaitWindowEvent()

    If EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button
      mciSendString_("CLOSE FILM",0,0,0)
      Quit = 1
    EndIf

  Until Quit = 1
EndIf

Re: How can i fix MCI Video playback on Win10?

Posted: Sun Sep 20, 2020 9:09 am
by Bisonte
Microsoft has no more codec for MPEG-Video in Windows 10, they were too stingy ;) (licence fees)

Re: How can i fix MCI Video playback on Win10?

Posted: Sun Sep 20, 2020 9:29 am
by novablue
Bisonte wrote:Microsoft has no more codec for MPEG-Video in Windows 10, they were too stingy ;) (licence fees)
I don't think that is it, with this method i can open any video format in Win7, it says MPEGVIDEO but i can open anything (avi mkv, h264, h265..) with it (with a codec pack installed of course).

I found a strange workaround now. It only fails to load the first video. in this case Film1 is always failing and stays blank, the rest, Film2 and 3 will play fine as long as i don't close the first handle to Film1. It also works with just the open command without playing Film1. Any idea what this strange behavior could be?

Code: Select all

If OpenWindow(0, 100, 200, 195, 260, "Example", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  mciSendString_("OPEN video1.avs TYPE MPEGVIDEO ALIAS FILM1",0,0,0)
  mciSendString_("PLAY FILM1",0,0,0) ; Blank video, the following videos also work with this line commented out
  
  ; mciSendString_("CLOSE FILM1",0,0,0) ; If i close here Film2 won't work either and only Film3 will play, otherwise both work

  mciSendString_("OPEN video2.avs TYPE MPEGVIDEO ALIAS FILM2",0,0,0)
  mciSendString_("PLAY FILM2",0,0,0) ; Plays Fine
 
  mciSendString_("OPEN video3.avs TYPE MPEGVIDEO ALIAS FILM3",0,0,0)
  mciSendString_("PLAY FILM3",0,0,0) ; Plays Fine

  Repeat
    EventID.i = WaitWindowEvent()

    If EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button
      mciSendString_("CLOSE FILM1",0,0,0)
      mciSendString_("CLOSE FILM2",0,0,0)
      mciSendString_("CLOSE FILM3",0,0,0)

      Quit = 1
    EndIf

  Until Quit = 1
EndIf

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 2:08 am
by novablue
I just found out that the same problem happens using the movie lib from purbasic. The same solution applies. Post in this thread.

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 2:26 am
by RASHAD
Make sure you installed any Media Codecs for x86 and x64 as well (K-Lite for ex)
PB is not responsible for your system media codecs
LAV codecs is preferable

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:02 am
by novablue
RASHAD wrote:Make sure you installed any Media Codecs for x86 and x64 as well (K-Lite for ex)
PB is not responsible for your system media codecs
LAV codecs is preferable
Thanks i am already using a codec pack, but the codec is not the issue. Like i showed in the code, only the first load attempt always fails to show the video, all further calls work fine.

simplified example (pseudo code):

Code: Select all

LoadMovie(0, "mymovie.avi") ;return <> 0
PlayMovie(0) ; sound but no picture
LoadMovie(1, "mymovie.avi") ; load exact same video file again
PlayMovie(1) ; now it plays fine with sound and picture

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:12 am
by RASHAD
Did you tried it as compiled version ?
I already have MCI version works like charm
Unfortunately I can not post it here
But it is a prove that MCI is working fine with Windows 10

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:14 am
by novablue
RASHAD wrote:Did you tried it as compiled version ?
yes i did, i added a simplified example to my last post maybe the problem is easier to understand that way.

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:21 am
by RASHAD
OK
I can not stop helping the forum members :)
Try the next

Code: Select all

UseJPEGImageEncoder()
UsePNGImageEncoder()
UsePNGImageDecoder()

ExamineDesktops()

Structure MENUINFO
   cbSize.i
   fMask.i
   dwStyle.i
   cyMax.i
   hbrBack.i
   dwContextHelpID.i
   dwMenuData.i
EndStructure

#MIM_STYLE=$00000010 
#MIM_APPLYTOSUBMENUS=$80000000 
#MNS_AUTODISMISS=$10000000
#MNS_MODELESS=$40000000 

#TBS_TOOLTIPS         = $0100
#CAPTUREBLT           = $40000000
#TBM_SETTOOLTIPS = #WM_USER + 29
#TTF_TRACK = $20
#CAPTUREBLT           = $40000000
#PB_FileSystem_NoExtension = 1
#n=1000

Global a$,Down,SaveAs,Menu,Run,i,w,h,v,m,f,g,xx,yy,oWidth,oHeight,Video
a$=Space(#MAX_PATH)

Define.d x,y,ox,oy,fx,fy,t,p,a,b,c,d,e,r

Macro j(a)
	St#a#Drawing(
EndMacro

Macro z
	Pow(Pow(Abs(Cos(m*r/4)/a),d)+Pow(Abs(0+Sin(m*r/4)/b),e),-1/c)
EndMacro

Procedure WndProc(hwnd, uMsg, wParam, lParam)
      result = #PB_ProcessPureBasicEvents 
 Select uMsg
  Case #WM_NCACTIVATE
        Result = 1
                       
  Case #WM_SIZE,#WM_MOVE
          ResizeWindow(1,WindowX(0,#PB_Window_InnerCoordinate)+5,WindowY(0,#PB_Window_InnerCoordinate)+WindowHeight(0)-68, WindowWidth(0)-10, #PB_Ignore)
		      ResizeGadget(1,0, 0, WindowWidth(0)-10, #PB_Ignore)
          If Run = 1 And Video > 0
              ASW.f = WindowWidth(0)/oWidth
              ASH.f = WindowHeight(0)/oHeight
              If ASW <= ASH
                 ASP.f = ASW
              Else
                 ASP.f = ASH
              EndIf
              xx = Int(WindowWidth(0)/2 - oWidth*ASP/2)
              yy = Int(WindowHeight(0)/2 - oHeight*ASP/2)
              w = oWidth*ASP
              h = oHeight*ASP              
              mciSendString_("put RASHAD destination at " +xx+" "+yy+" "+w+" "+h,0,0,0)
          ElseIf Run = 1 And Video = 0
              xx = 5
              yy = 5
              w = WindowWidth(0)-10
              h = WindowHeight(0)-80
              ;If IsGadget(50)
              ResizeGadget(50,5, 5, w,h)
              ;EndIf
          EndIf
                                 
   EndSelect   
  ProcedureReturn result 
EndProcedure

  CatchImage(20 , ?Full)
  GrabImage(20,0,72,48,24,24)
  GrabImage(20,1,0,0,24,24)
  GrabImage(20,2,0,24,24,24)
  GrabImage(20,3,24,24,24,24)
  GrabImage(20,4,48,24,24,24)
  GrabImage(20,5,72,24,24,24)
  GrabImage(20,6,48,0,24,24)
  GrabImage(20,7,48,48,24,24)
  GrabImage(20,8,24,0,24,24) ;**
  GrabImage(20,9,72,0,24,24)
  GrabImage(20,10,24,48,24,24)
  GrabImage(20,11,24,0,24,24)
  GrabImage(20,12,0,48,24,24)

FreeImage(20)

OpenWindow(0,0,0,645,460,"",#PB_Window_ScreenCentered |#WS_THICKFRAME)
SetWindowColor(0,0)
WindowBounds(0,645,460,DesktopWidth(0)+10,DesktopHeight(0))

CanvasGadget(50,0,0,0,0)	

OpenWindow(1,WindowX(0,#PB_Window_InnerCoordinate)+5,WindowY(0,#PB_Window_InnerCoordinate)+WindowHeight(0)-68,635,64,"",#PB_Window_BorderLess,WindowID(0))
    TrackBarGadget(1,0,0,630,22,0,1000,#TTF_TRACK)
    SendMessage_(GadgetID(1), #TBM_SETPAGESIZE ,0,10000)
    ButtonImageGadget (2 ,2 ,27,32,32,ImageID(1))                   ;Load
    GadgetToolTip(2,"New Media")
    ButtonImageGadget (3 ,40,  31,24,24,ImageID(5))                ;Previous Frame
    GadgetToolTip(3,"Step Backward")
    SpinGadget(4 ,65, 31,30,24,0,10,#PB_Spin_Numeric)   ;No. of Previos Frames
    GadgetToolTip(4,"No.of Frames to Step Backward")
    ButtonImageGadget  (5 ,102, 27,46,32,ImageID(4))                ;Play
    GadgetToolTip(5,"Play- Pause")
    SpinGadget(6 ,155, 31,30,24,0,10,#PB_Spin_Numeric)  ;No. of Next Frames
    GadgetToolTip(6,"No.of Frames to Step Forward")
    ButtonImageGadget  (7,183, 31,24,24,ImageID(2))                 ;Next Frame
    GadgetToolTip(7,"Step Forward")
    TrackBarGadget(8,215,31,70,25,1, 2000,#TTF_TRACK |#TBS_TOOLTIPS)    ;PlayBack Speed
    GadgetToolTip(8,"PlayBack Speed")
    ButtonImageGadget  (9,293, 27,32,32,ImageID(9))               ;Max - Min
    GadgetToolTip(9,"Maximize - Restore")
    ButtonImageGadget  (10,330, 27,30,30,ImageID(6))                 ;Save As
    GadgetToolTip(10,"Capture & Save Frame")
    ButtonImageGadget (11,368, 27,32,32,ImageID(7))                ;Sound Control
    GadgetToolTip(11,"Mute")
    TrackBarGadget(12,405,29,70,27, 0, 1000,#TTF_TRACK )         ;Sound Volume
    GadgetToolTip(12,"Sound Volume")
    TrackBarGadget(13,480,29,70,27, 0, 1000 ,#TTF_TRACK |#TBS_TOOLTIPS)                             ;Sound Balance
    GadgetToolTip(13,"Sound Balance") 
    ButtonImageGadget (14,555, 27,32,32,ImageID(10))                ;Default
    GadgetToolTip(14,"Reset & Configure")     
    ButtonImageGadget  (20,592,27,32,32,ImageID(8))                 ;Quit
    GadgetToolTip(20,"Quit")
;CloseGadgetList()

SetGadgetState(4,1)
SetGadgetState(6,1)
SetGadgetState(8,1000)
SetGadgetState(12,500)
SetGadgetState(13,500)

If CreatePopupMenu(0)
  MenuItem(1, "Reset Sound Volume")
  MenuItem(2, "Reset Sound Balance")
  MenuBar()
  MenuItem(3, "Reset PlayBack")
  MenuBar()
  MenuItem(4, "Save As BMP")  
  MenuItem(5, "Save As JPG")
  MenuItem(6, "Save As PNG")
EndIf

mi.MENUINFO
mi\cbSize=SizeOf(mi)
mi\fMask=#MIM_STYLE|#MIM_APPLYTOSUBMENUS
mi\dwStyle=#MNS_AUTODISMISS|#MNS_MODELESS
SetMenuInfo_(MenuID(0),mi)

SetActiveWindow(0)
SetWindowCallback(@WndProc()) 

AddWindowTimer(0, 125, 10)

;Video = 1
;SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) |#WS_THICKFRAME &~ #WS_DLGFRAME)
;SetWindowPos_(WindowID(0), 0, 0, 0, 0, 0, #SWP_FRAMECHANGED| #SWP_DRAWFRAME| #SWP_NOMOVE| #SWP_NOSIZE| #SWP_NOZORDER)
Repeat

  Select WaitWindowEvent()
      
      Case #PB_Event_Menu
          Select EventMenu()
           Case 1
           					SetGadgetState(12,500)
										mciSendString_("setaudio RASHAD volume to "+500,0,0,0)
           Case 2
										SetGadgetState(13,500)
										mciSendString_("setaudio RASHAD right volume to  "+500,0,0,0)		
           Case 3
           		      SetGadgetState(8,1000)
		                mciSendString_("Set RASHAD Speed "+1000,0,0,0) 
           Case 4
                     SaveAs = 1
           Case 5
                     SaveAs = 2
           Case 6
                     SaveAs = 3           
          EndSelect
      
      Case #PB_Event_Gadget
          Select EventGadget()
               Case 1   ;Position Track                   
                      Pos.d = GetGadgetState(1)
                      If Pos <> Oldpos
                         mciSendString_("pause RASHAD",0,0,0)
                         mciSendString_("Play RASHAD from "+ pos,0,0,0)
                         OldPos = Pos
                      EndIf
                       
		           Case 2  ;Load & Play
		                   mciSendString_("Close RASHAD",0,0,0)
		                   File$ = OpenFileRequester("Choose the movie to play","","Media Files|*.VOB;*.mp4;*.mkv;*.mpg;*.wmv;*.avi;*.mpeg;*.wav;*.ogg;*.mid;*.flac;*.wma;*.mp3|All Files (*.*)|*.*", 0)
		                   If File$ <> ""
		                         Run = 1
		                         SetWindowTitle(0,File$)
		                         SetGadgetState(1,0)
														 SetGadgetState(8,1000)
														 SetGadgetState(12,500)
														 SetGadgetState(13,500)
													  Select LCase(GetExtensionPart(File$))
; 															    Case "vob", "avi", "asf", "asx", "mpg", "m2v", "p2v", "mp4", "lsf", "lsx", "nsv", "mpeg", "dat", "wmv", "wax", "wvx", "wm", "wmx", "wmp"
; 															        DeviceType$ = "MPEGVideo"
; 															    Case "mp3", "kar", "miz", "mod", "mdz", "nst", "stm", "stz", "s3m", "s3z", "it", "itz", "xm", "xmz", "mtm", "ult", "669", "far", "amf", "okt"
; 															        DeviceType$ = "MPEGVideo"
; 															    Case "mp4", "ptm", "mp2", "mp1", "aac", "apl", "vlb", "m4a", "nsa", "ogg", "voc", "au", "snd", "aif", "aiff", "wma", "pls","flv"
; 															        DeviceType$ = "MPEGVideo"
; 															    Case "wav", "wave"
; 															        DeviceType$ = "MPEGVideo";  'WaveAudio
 															    Case "mid", "midi", "rmi"
 															        DeviceType$ = "Sequencer"
 															    Case "cda"
 															        DeviceType$ = "cdaudio"
															    Case "rm", "ram", "ra"
															        ;DeviceType = eMCI_RealPlayer
															        DeviceType$ = "other"
															    Case "ivf"
															        DeviceType$ = "MPEGVIDEO2"
															    Default
															        DeviceType$ = "MPEGVIDEO"
														 EndSelect; 														 
  													 Open$ = "OPEN " + Chr(34)+File$+Chr(34) + " Type "+DeviceType$+" Alias "+"RASHAD"														                
					                   mciSendString_(Open$,0,0,0)
					                   mciSendString_("window RASHAD handle " + Str(WindowID(0)) ,0,0,0)                          
					                   mciSendString_("load RASHAD " + File$ ,0,0,0)
					                   a$=Space(#MAX_PATH)
					                   mciSendString_("status RASHAD length",@a$,#MAX_PATH,0)
					                   length = Val(a$)
					                   SetGadgetAttribute(1,#PB_TrackBar_Maximum,length)
					                   mciSendString_("status RASHAD frame rate",@a$,#MAX_PATH,0)
					                   Video = Val(a$)						               
							               If Video = 0
							                  xx = 5
							                  yy = 5
							                  w = WindowWidth(0)-10
							                  h = WindowHeight(0)-75
							               Else
    							              ;******* Keep Aspect Ratio *******************************                
                                wh$ = Space(#MAX_PATH)
                                mciSendString_("where RASHAD source",@wh$, #MAX_PATH, 0)
                                oWidth = Val(StringField(wh$,3," "))
                                oHeight = Val(StringField(wh$,4," "))
                                ASW.f = WindowWidth(0)/oWidth
                                ASH.f = WindowHeight(0)/oHeight
                                If ASW <= ASH
                                   ASP.f = ASW
                                Else
                                   ASP.f = ASH
                                EndIf
                                xx = Int(WindowWidth(0)/2 - oWidth*ASP/2)
                                yy = Int(WindowHeight(0)/2 - oHeight*ASP/2)
                                w =  oWidth*ASP
                                h = oHeight*ASP
                                mciSendString_("put RASHAD destination at " +xx+" "+yy+" "+w+" "+h,0,0,0)
                                CreateImage(100,oWidth,oHeight)
                                ;***********************************************************
					                   EndIf
					                      SetGadgetAttribute(5,#PB_Button_Image,ImageID(3))
					                   		mciSendString_("play RASHAD",0,0,0)
					                   		Run = 1
							                  mciSendString_("setaudio RASHAD volume to "+500,0,0,0)					                   
		                   Else
		                       MessageRequester("Error","No file selected !"+#CRLF$+"Try again",#MB_ICONERROR) 
		                   EndIf 
		                   
		           Case 3  ;Previous Frame		    
		                   			If play = 0
								              play = 1
								              SetGadgetAttribute(5,#PB_Button_Image,ImageID(4))
								              mciSendString_("pause RASHAD",0,0,0)
								              mciSendString_("Status RASHAD position",@a$,#MAX_PATH,0)
								              curpos.q = Val(a$) 
								           EndIf		                  
								           nxtpos.q = curpos.q - GetGadgetState(4)*500
						               mciSendString_("play RASHAD from "+nxtpos+" to "+curpos,0,0,0)
						               mciSendString_("pause RASHAD",0,0,0) 
						               curpos.q = nxtpos.q 
						               		                   
		           Case 4  ;Previous Step               
		                  
		           Case 5  ;Pause & Resume
		                   play ! 1
		                    If play = 1
		                       SetGadgetAttribute(5,#PB_Button_Image,ImageID(4))
		                       mciSendString_("Pause RASHAD",0,0,0)
		                    Else
		                       SetGadgetAttribute(5,#PB_Button_Image,ImageID(3))
		                       mciSendString_("play RASHAD",0,0,0)
		                    EndIf
		                    
		           Case 6  ;Next Step		                   
		                   
		           Case 7  ;Next Frame
							           If play = 0
							              play = 1
								            SetGadgetAttribute(5,#PB_Button_Image,ImageID(4))
							              mciSendString_("pause RASHAD",0,0,0)
									          mciSendString_("Status RASHAD position",@a$,#MAX_PATH,0)
									          curpos.q = Val(a$) 
							           EndIf		                  
							           nxtpos.q = curpos.q + GetGadgetState(6)*500
					               mciSendString_("play RASHAD from "+curpos+" to "+nxtpos,0,0,0)
					               mciSendString_("pause RASHAD",0,0,0) 
					               curpos.q = nxtpos.q
		           
		           Case 8  ;PlayBack Speed
		                   speed = GetGadgetState(8)
		                   mciSendString_("Set RASHAD Speed "+Speed,0,0,0) 
		           
		           Case 9  ;Max - Restore
		                  Max ! 1 
			                If Max = 1
			                      ;StickyWindow(0,1)
			                      SetGadgetAttribute(9,#PB_Button_Image,ImageID(12))
			                      ShowWindow_(WindowID(0),#SW_MAXIMIZE)
			                  ElseIf Max =0
			                      ;StickyWindow(0,0)
			                      SetGadgetAttribute(9,#PB_Button_Image,ImageID(9))
			                      ShowWindow_(WindowID(0),#SW_RESTORE	) 
			                EndIf
		           
		           Case 10   ;Save Frame
		              If Run = 1 And video > 0
  		                mciSendString_("pause RASHAD",0,0,0)
                      dc = StartDrawing(ImageOutput(100))
                        mciSendString_("update RASHAD hdc "+ dc,0,0,0)
                      StopDrawing()
                      mciSendString_("play RASHAD",0,0,0)
                  Else 
			                hBitmap = CreateImage(100,WindowWidth(0)-10,WindowHeight(0)-80)
			                hdc = StartDrawing(ImageOutput(0))
			                SelectObject_(hdc, hBitmap)
			                BitBlt_(hdc, 0,0, WindowWidth(0)-10,WindowHeight(0)-80, GetWindowDC_(GetDesktopWindow_()), WindowX(0)+10,WindowY(0)+35,  #SRCCOPY|#CAPTUREBLT)
			                StopDrawing()
			            EndIf
			                ;ReleaseDC_(WindowID(0),hdc)	               
		                  If SaveAs = 0 Or SaveAs = 1
		                     SaveImage(100, GetHomeDirectory()+GetFilePart(File$,#PB_FileSystem_NoExtension)+" "+Right(Str(im),2)+".bmp",#PB_ImagePlugin_BMP)
		                  ElseIf SaveAs = 2
		                     SaveImage(100, GetHomeDirectory()+GetFilePart(File$,#PB_FileSystem_NoExtension)+" "+Right(Str(im),2)+".jpg",#PB_ImagePlugin_JPEG)
		                  ElseIf SaveAs = 3
		                     SaveImage(100, GetHomeDirectory()+GetFilePart(File$,#PB_FileSystem_NoExtension)+" "+Right(Str(im),2)+".png",#PB_ImagePlugin_PNG)
		                  EndIf
		                  im+1   
		                   
		           Case 11	 ;Sound Mute
		                   Sound ! 1
		                   If Sound = 1	                     
		                       mciSendString_("setaudio RASHAD off",0,0,0)
		                       SetGadgetAttribute(11,#PB_Button_Image,ImageID(0))
		                       DisableGadget(12,1)
		                       DisableGadget(13,1)
		                   Else
		                       mciSendString_("setaudio RASHAD on",0,0,0)
		                       SetGadgetAttribute(11,#PB_Button_Image,ImageID(7))
		                       DisableGadget(12,0)
		                       DisableGadget(13,0)
		                   EndIf
		                   
		           Case 12   ;Sound Volume
		                  Vol = GetGadgetState(12)
		                  mciSendString_("setaudio RASHAD volume to "+Vol,0,0,0)
		                  
		           Case 13  ;Sound Balance
		                  Vol = GetGadgetState(13)
		                  If Vol < 500
		                      mciSendString_("setaudio RASHAD left volume to "+Vol,0,0,0)
		                  ElseIf Vol > 500
		                      Vol = 1000 - Vol
		                      mciSendString_("setaudio RASHAD right volume to  "+Vol,0,0,0)
		                  EndIf
		                  
		           Case 14  ;Set Up
		                     DisplayPopupMenu(0, WindowID(0))           
		           
		           Case 20 ;Quit
		                    mciSendString_("Close RASHAD",0,0,0)
		                    Quit = 1
                   
          EndSelect
          
        Case #PB_Event_Timer
                If GetWindowState(0) = #PB_Window_Maximize
                  Max = 1
                  SetGadgetAttribute(9,#PB_Button_Image,ImageID(12))
                  StickyWindow(0,1)
                Else
                  Max = 0
                  SetGadgetAttribute(9,#PB_Button_Image,ImageID(9)) 
                  StickyWindow(0,0)
                EndIf
                mciSendString_("Status RASHAD mode",@a$,#MAX_PATH,0)
                If Run = 1 And Video = 0; And IsGadget(50) And a$ ="playing"
                    ResizeGadget(50,5,5,WindowWidth(0)-10,WindowHeight(0)-80)
		                t=ElapsedMilliseconds()/10000	
	                  m=2+2*Int(t/0.5)%20: c=10+9*Sin(t*2) :d=9+9*Sin(t*3): e=9+9*Sin(t*5)
										a=Abs(Sin(t*7)*0.6)+0.1:b=Abs(Cos(t*11)*0.6)+0.1:j(art)ImageOutput(0))
										DrawImage(GetGadgetAttribute(50,#PB_Canvas_Image),0,0)
										j(op)) :j(art)0+CanvasOutput(50)) :x=150+100*Sin(t/1.1)
										DrawAlphaImage(ImageID(0),w*Cos(t*9)/x,0+h*Sin(t*9)/x,150)
										DrawingMode(#PB_2DDrawing_Gradient)
										x=w/2*(1+Cos(t*9)) :y=(1+Sin(t*9))*h/2 :LinearGradient(x,y,w-x,h-y)
										FrontColor(RGB(127*(Sin(2*t)+1),(1+Sin(3*t))*127,127*(1+Sin(5*t))))
										BackColor(RGB(127*(1+Sin(7*t)),127*(1+Sin(11*t+	0)),127*(1+Sin(13*t))))
										For i=0 To#n-1 : r=i*2*#PI/#n : p+Sin(t)/30000
										x=w/2*(1+	z*Cos(r+p)) :	y=h/2*(1+z*Sin(r+p))
										If i=0:	fx=x:fy=y:Else:LineXY(ox,oy,x,y):EndIf
										ox=x:oy=y:Next:LineXY(x,y,fx,fy):j(op))
								EndIf
                mciSendString_("Status RASHAD position",@a$,#MAX_PATH,0)
               If Val(a$) <> Oldstatus
                  SetGadgetState(1, Val(a$))
                  Oldstatus = Val(a$)
                EndIf                 
                
        Case #WM_RBUTTONDOWN
                Cap ! 1                	
               	GetCursorPos_ (@cp.POINT) 
	               ScreenToClient_ (WindowID(0), @cp)     
	            If ChildWindowFromPoint_ (WindowID(0),cp\y<< 32+cp\x) <> WindowID(1) And Cap = 1
	                If Max = 1
	                  ShowCursor_(0)
	                EndIf
	                HideWindow(1,1)
	                SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) |#WS_THICKFRAME &~ #WS_DLGFRAME)
	                SetWindowPos_(WindowID(0), 0, 0, 0, 0, 0, #SWP_FRAMECHANGED| #SWP_DRAWFRAME| #SWP_NOMOVE| #SWP_NOSIZE| #SWP_NOZORDER)
	            ElseIf ChildWindowFromPoint_ (WindowID(0),cp\y<< 32+cp\x) <> WindowID(1) And Cap = 0
	                If Max = 1	                
	                  ShowCursor_(1)
	                EndIf
	                HideWindow(1,0)
	                SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) | #WS_THICKFRAME | #WS_DLGFRAME)
	                SetWindowPos_(WindowID(0), 0, 0, 0, 0, 0, #SWP_FRAMECHANGED| #SWP_DRAWFRAME| #SWP_NOMOVE| #SWP_NOSIZE| #SWP_NOZORDER)
	            Else
	               Cap ! 1 
	            EndIf 
 
  EndSelect 

Until Quit = 1
End

DataSection
Full:
   Data.q $0A1A0A0D474E5089,$524448490D000000,$4800000060000000,$6705860000000208,$5948700900000034
   Data.q $0000000100000073,$0000D6C4254F0001,$DE07454D49740700,$EB54D838330E0F07,$4144494B1A00001D
   Data.q $547C799CED9C7854,$CF7BDCE77FF0DDD5,$40804849ACEE77BD,$08A0A208A0208848,$297DC7D45EE2AA7D
   Data.q $5B6A57963E8FD4AE,$B56AC1775B5B8BE8,$685D4A2B55AAC56A,$4041128A82F02C15,$264248484B097DF6
   Data.q $E73DCE76EE599333,$8AC49806108663FD,$9847F03C7CBCF3EF,$F7B99BF7EFCBE67B,$B79BA505F9DF399E
   Data.q $9108C58516F8FCEC,$AE65D419B7C32215,$736F15C2745CA8CB,$95A3F168392E3BCF,$A85A35FA75EFE1BA
   Data.q $49612C612492491C,$48C610849184B092,$19CE338F338800C2,$092309639C1718F7,$4666ABB4D59E0C23
   Data.q $9A0E4B8E00147F7C,$DAD6B8C1741D4133,$AEAADA8F7AB1322F,$0D07F7EC20464206,$E706C24EA091A025
   Data.q $668CC66899334660,$D5501AB2A92584EC,$C0E54B06A20C46A0,$25C70008FFD345E0,$9CC37C35B45C1647
   Data.q $965B2C7000544C94,$13D44AA69A2AA225,$E61CF695B22E085C,$427E215D14000C39,$6CA28C93220C420C
   Data.q $7BF9C4F7C0005C17,$E23381588AE1F78D,$A7BEABE3498D33AA,$868894D4E0006478,$6532932001840610
   Data.q $C5FFA47C51442245,$6EFED9F2F8E3DB4B,$80D5501A9A0355C6,$489F8853455506A6,$03CCE1C0284ECEC4
   Data.q $B7E8B5394780042E,$CA8615EEC2B87CE2,$0023E84F7D185CE2,$48FB3C6B58C9E2DA,$D46AA78BDFE64B73
   Data.q $0C8F1C2F0DEF35C2,$84B0F654C3E68A00,$A9A4990004210924,$EAE8C001F411AA6A,$616B2A9262CC645C
   Data.q $2A0355506AEB0B4D,$509D9E1CF0080831,$7842108427A9C380,$CA9D5B3B1CF6FB2E,$4F13EAE3BE6EBD3E
   Data.q $D67B3784AC02E52E,$0005965B170B85E2,$80053EA3953C46FF,$816FBE3C3C565309,$4CD77E02D0006478
   Data.q $84212C232A630962,$DABA694F16DD2B5D,$90F28159B76C9DF1,$95406A7C8BD3E45E,$92701873CCBB9935
   Data.q $BCF67F7519C7909D,$9B3876768F440288,$5E8003100394EFCF,$BE542BAFFEF765E5,$2D6DB6898F0B8BCE
   Data.q $5BF97A7F4A2B2A23,$3AF88F4B5D447D6F,$DADB1DD86BCC74E5,$C4C4F9DB5E87FB5F,$682D00064BCB4701
   Data.q $476314E3D7316C20,$0D4A6CD4F57C92C6,$DA9AC683FC79931D,$197709735FA80046,$6B087A9CA5DCD94D
   Data.q $1D28AD1CE50E80B9,$331E2E722EA12487,$4BDFECAD7FD7EF7C,$C0366DD90C79BA44,$7ABD5FE53A4ED3B6
   Data.q $64960E15DED8EFD5,$6DB68F16D3272584,$F2EE3FD8B549E2FD,$B6880038F0BC2F09,$3C3BE45EBF52FE59
   Data.q $AC9F1061AA000C2F,$43D5487A24168807,$EC86AE8D4F39F2C6,$DDECFB0BA6E38EDF,$269A789D336DDD3E
   Data.q $946CF6DA69B69A4D,$C8BA814AE9C79A3D,$934D1B512D2B2D29,$6186F8F83F8FEEB5,$89F70D6F2D166B63
   Data.q $9CD89CC663538BF8,$C8A05A190F4712EA,$B3C97EAC9A66EE17,$F354D0B53519DEEE,$83561DEA159B68A2
   Data.q $0C33400192F311EA,$B8F704F704F70884,$3F2FF3DEF4D3B947,$554C98EEBF5DCF7D,$FADCDE313F0F3EBF
   Data.q $8565DCBCCE5367BA,$9CA1D8AF72941471,$29AE8E15D32815AE,$EAFBCD15A582CEAA,$97F5DCFC4B936F56
   Data.q $3269A78DCDD89C96,$E47CA3C712E99AD9,$F44C886E7C2DD62F,$5000327DA5757DE6,$13DDC5639647B836
   Data.q $471E487330DB2EC7,$B7B24C00CF8A0406,$7D7FC370E0842146,$FE7B2F37AFD77EBD,$7D9567FEC9EF1B8E
   Data.q $1F63E5C37C9FEE2B,$738BDE7F53AB0A2A,$22A180039CE0B9CE,$D2814AE9CF900040,$7434F67B385764D1
   Data.q $F023D4231D4BEAAB,$FF8F779B55CAD29B,$ED97705F0DF199D9,$8B05D2739174EEDC,$BF59CB30555BA000
   Data.q $C37C52FCF8002374,$EBB8003D4632EE5E,$C8E476562753B5FE,$000514974D149248,$DC2D17D1A1084610
   Data.q $B94E8F09EE4F42DB,$BF75FB733FBFF5FF,$D7C5DC7E315953EC,$39AD1806BAD4FCDD,$4B1570F177507DAF
   Data.q $49210872C6300008,$B4D40A574E3C8002,$8EF70BD99C8BA5B7,$6D7DCF68D92FD71B,$B73592E9696696DE
   Data.q $ACB9F07C1F610B9F,$00079F4F2A739DC9,$A9AE2EF7E7E1ABA3,$FE3ACB89F8C0183D,$75F27BB73F260013
   Data.q $BA2645658C8E7681,$DFA1FCE0994792E0,$1F06F58742DBDEAF,$D5FE6E13527B3D81,$C57C2C39549DBF23
   Data.q $01AAA317ADAC0FC5,$494E7DC0C237B600,$3295C38C61EE0B80,$ED0EA1C8E8001596,$15D7B9CB8CCC814A
   Data.q $DF6B44A3764FBCCE,$2C13EC8F970C1D80,$D71915CBF3FF0E2B,$6739DDED4E751BDB,$00377A5DC697A6F7
   Data.q $C74AD27693D6F2BC,$FD369FBF83C18F4D,$6736B9870999CF6F,$F63C0028F37E6FEE,$91CEDD3F16EBAFF0
   Data.q $0E7A4A9D90730101,$BDA24FCDF5AAB55D,$2FC470120723E023,$AA300000DB5B4CA6,$AF7FA5D705CEFB3A
   Data.q $B8263DC45D5E5F81,$730E7681ECFEAB27,$C7B140B4815AEB28,$0042957EE6722E9C,$FDE9B85FDE930C67
   Data.q $92DE7F365C756E77,$3CFE70AE9060A5FE,$ED4A75BCEE278DFD,$2D336B68DBA70F27,$E939F2A0B535272D
   Data.q $A6B7693962D32A44,$E7D2C35DFACC9616,$3320B391CED82F89,$CD6BD55FED0E6296,$875D4D994B989B82
   Data.q $7A87087F0000963B,$C9D74958967A8514,$C6BCCE72E6336A50,$BE21D4798F732F15,$371CB50E76813650
   Data.q $D47908C440A5776D,$6D45FC7C00473AEE,$FB76DD17B3B982DA,$C8BA2FC2CD4AC058,$766FEA7A7B4C7671
   Data.q $2B1511E12A4CF67D,$0D12FE221E800104,$E9AD3799BF826400,$032391D82F88D79B,$F9CB534895B2E080
   Data.q $5892BA8B004D84F1,$451324BFA479CC76,$6BA6A1C03FA2E40F,$B6613F5410AECCA7,$4A00694E75DA51E4
   Data.q $6E374DF35972B003,$604D92CD75497B1A,$ECFB1A6D438574B6,$3222878B6DC32B19,$0807A994EC0008C6
   Data.q $738799BACC001CA7,$2E5A9A44AC5205B2,$E4991FC786AE8C00,$A434446302BAE151,$6A0245F41C57D869
   Data.q $BDFD7B3F79FD77D0,$0044D379DDE3A817,$0FFAAC92DA953E20,$5DBA8B69B8E39404,$E79095C57E698BBA
   Data.q $775EFAFDFE9CC2E2,$27F687F93C8F15D5,$3BDD69FDCF535AC6,$5DEEC0E9A78F3E73,$5C9B6E2C770EB8E2
   Data.q $00060031AF2DF0D5,$FB6C2D4D79F4DCB7,$F218400009EE3CE2,$93493AAC20003238,$E5A707BEFDB3B9DA
   Data.q $909DAFDB8E3BD85D,$12465D141ABA3A3D,$5461CED43D9E8992,$20A7C441D6974EB8,$BDEC10E615E4A884
   Data.q $B8590F6A6A1FF2F9,$1BD9502014D65CAE,$2D8E16D71C4BB954,$E4EEFC5E3AA84F3C,$3EDBAB4ECD4C0F29
   Data.q $D1AB9CAE62CD8BDD,$7BA90700815C9CA1,$B46F3A02DE5313F0,$D1494168ACBA251F,$23A9CBA872CA03DA
   Data.q $D20ACB9B1D80993E,$F60920BEC7EE927D,$888A3D8245940A28,$316A534ED4D2774F,$A63F5CE015184000
   Data.q $1E50E2EBDBAD86DF,$F460000867A48FCA,$1D71CA752E8923B9,$F1A8CB2410AE5D4E,$FCBF2987F33E3FEB
   Data.q $996D34FBBEAF13D5,$E3CA0573D13A7C49,$DDA7DE899AE000C8,$46EDFD16B7ABE3BC,$415903DC13CF098F
   Data.q $03525514828A4132,$E69F11A189D7EABA,$3C63DCB9EE51EE31,$26E66CECB04E67B3,$9A66639DA8400841
   Data.q $84249000098C1529,$71E17382F09EC865,$4D158225D0D550E6,$00A8499242171E12,$1597C57D0331DAE7
   Data.q $3A4B4D5976A68788,$5E9FE57FB3C5E4E5,$B7469BF77361E57C,$EC157EBFD0788150,$911AC783DE90CA73
   Data.q $AB0E8009955D90DE,$86E4FEE50D52DCBC,$E779B35C20000100,$7420256ABDD8FF37,$CB64CDD74564725C
   Data.q $501182269473DDFE,$0ED9871D43B661DB,$0421528F528F5C73,$5559144CB2CB0842,$00AA68AAAAC89565
   Data.q $4F9F11896A9A1D44,$817558391C971C00,$41CC88550E61AD13,$EB994A3CC63CC670,$DA872D4DB6A1C732
   Data.q $01CE09A6B2A9A2B6,$40B267124B08C210,$85D5409CB6CCB988,$D6A56A20E4B8E200,$53371CCD61B9307C
   Data.q $E545188368F7DF68,$1C002A7ABD0EC743,$AAF6A83649D91C97,$FD37F8A908D04F13,$1DE7B89A668ABD91
   Data.q $EC5E0FD8BC1F9C97,$BC4E9CBDFF62F7B8,$13A707C759F177D8,$E9C0F1D67CDDF62F,$4CE0B82686298BC4
   Data.q $83E3B17ADBF769B8,$215FAA1A0B400183,$65D1E984EA1AAC86,$D1E2863108D564BB,$76E31E630572CF36
   Data.q $F7FEA5FCF917AD9B,$2E0754BE23832716,$D8CB165346D9DBA8,$DD10E0750173839E,$434777E9CB284620
   Data.q $18F73E53B4EB25F1,$AB1A53A1C6FD73EF,$FD4BFBF52FE2DE6F,$CF4D8BE729D59F59,$38574F188F3DD224
   Data.q $F759CF72FC478A49,$5FCBCB4769D45745,$F5A4CB733EB45FEA,$3C10C35400191C79,$99ADF2F8C792A8A1
   Data.q $1FFAE46555335BE5,$7DC7F75B33F4E719,$1B2ED24EE6D4233D,$1DB9EB2C3BD423DC,$49EA7124A8B2962C
   Data.q $672EC8E76A87A0E4,$DEC0085244C92CAE,$FDDEEF74E322FADC,$943D658C604E1384,$805489597A9CBB67
   Data.q $A37A932D9BFB4F53,$51E2F213F2D3494F,$4E98FB9DAA394EA5,$1D2D13301C2FBF74,$F4D2FEF6589F0AF3
   Data.q $5EE99B52DE6F6F0B,$C5EF9391D9A4D0A2,$B81F13EECD5DA0B2,$17DEB6A765D203D3,$9B6E47F76A11562E
   Data.q $0B962E99B4E39D95,$02C1CC9C57E6287B,$E6F36F9F3ED39BA5,$E894D592749D27CD,$3C58914728F35FA2
   Data.q $9B456153F2A07182,$29D59F47663957F6,$97F5585F20503B47,$6333BD5D58BDDBF8,$2EA3FB0DA9EB78AD
   Data.q $790A6789C2EC2EE4,$12F8DEF296238EB1,$F72579CD74DD2E66,$CCBB97B0DA53D4DE,$4A4CB6CD47B26789
   Data.q $C7841C1287BA3860,$C807585A000E8BDB,$89D1B9E31F5537D5,$B48E2811E21C12CF,$CCF8D727144C48A2
   Data.q $B06F0715C3133D2D,$9DD1CA75EA31EB84,$3162F59691460C5C,$0A36CFC6C0F2DCA1,$9E3A45C13D8DD0F3
   Data.q $F85361B0E0C5E42E,$AA33D1798CE8DCDB,$86773C4B70B386E1,$2CF80B8DB1C7F6C7,$E1D955D594210184
   Data.q $64EB5B9DFE4B83F2,$8610C5EA7718C259,$0450045004700478,$44535628A731228A,$762B43FFAAF39616
   Data.q $62A0503D3A394EE2,$E7DB8BD4F67EF36D,$3CF4F2DA47E5117E,$62F7C9C8ED6A6D1E,$0901700000127847
   Data.q $9BBB2B2043094B57,$167C05E30A5A4A9B,$5DC1E4ECB69BA973,$1B2467FDBD4A92F7,$97318BDCEB38752E
   Data.q $C48451408A102C76,$77D69C7EBC031022,$0381CC2B0E68BE25,$77B56DF7C5F62579,$992210A8968E26D5
   Data.q $944762F10E723B30,$DD27066779C11859,$BD62D53937407FD5,$07A20004C019AF33,$B6C66E59F0178F89
   Data.q $D92A3B5B4B74E912,$1D465C2FB583F078,$EC66E62F53B75393,$8EA1002E23C502BC,$5EAB5753A2AADE74
   Data.q $48BDCFED49CC2AD0,$4DF3F9DCA23E3456,$DD2D0DBB985AF168,$A846AB084096FF91,$E3A72D462F10E723
   Data.q $0BF8C3FA7386556C,$965A1F2CF6E79195,$51EC94310000CC68,$8CA8790A0F89FBA2,$52076BDA6699B765
   Data.q $44B49CD228DF20F3,$8AF158CACFB9D61D,$D707888A478A0583,$D41346E8EFE7C264,$C663985CB49C722A
   Data.q $521FB4E9E3375C0E,$C548FE7C1F686F09,$ACF6F64BFB7F2E29,$C85C6109D5CED37A,$F0188F317733518B
   Data.q $0F77A2BEDCE8C193,$23FBB69731225C39,$5453EE8A23AEE7A2,$83995B936CA1EC28,$381D1A34697311AF
   Data.q $608A1EB373736070,$87C567C577136309,$4225891C5C523C40,$0C60D5DCB5D67391,$0084264A1903DBE8
   Data.q $B5E7703B158E53A0,$0DD1562F768195B9,$3EFA1343F540F73D,$268BED67D7AEEAFF,$E62F5471BA202028
   Data.q $F8E1EAE8253EADA6,$4CB19242D9827E9C,$40EDA6EE3C204210,$A26EE6A2B9731F77,$AA1E2BA93E264F8A
   Data.q $D97264C9E3C240BD,$47047FF9A00065B2,$628A4754E44750F2,$58CEB72D0D29D891,$1ED1EDF7099B9272
   Data.q $C8958E47567CD1CF,$ED5429B615D4629D,$62687A2AF67ABC90,$FB47F6F5EC6E7BBF,$2F547C8625145E3E
   Data.q $85B5D94EEB78A8C6,$B184232491FCE56D,$49A2A973D43982E0,$5C8B33FCF3DE5C37,$0F15DE51E455859B
   Data.q $2023250464A27735,$51EC1E9F175A2E0B,$A87A23DD25643DC4,$E37F4F9BB4CE7223,$0284A08D5B8D01F9
   Data.q $723AB3E68E78C772,$411D7647BACC4402,$E443F979C8EC7B80,$B519717A7FCB2BB6,$6308FEE1D8BD51D8
   Data.q $973297339CE61240,$A9829AA88E1E9F12,$87A2EBC7318B5CC5,$CE44750F34739C3A,$93EC905654FD2F55
   Data.q $E1C04822A30E3DFE,$01C3078DB7C5B1C2,$3EC28A942569262F,$45609923FAC8210B,$728BBF595140B493
   Data.q $7EC5E0FCE538EA1E,$D8BC1FB1783F62F0,$6291AEEC4E47277F,$520B62B23F8BBE0B,$9F28FFD7A048CB0D
   Data.q $FC4B07A2D8BCCC75,$DDEE8A3FA3BFDD45,$58EB3E51FFFEA92D,$4770709D62F07E71,$FCF739639A29262F
   Data.q $1F8CB9946E633139,$B4B1FE8FEED047F4,$FCF28E19F573FC6D,$D3963B632B1CE1D1,$0B91AA82C673E9CE
   Data.q $F9E2F2729D50F53A,$F89923F80E1839BE,$99BDB477F29F5564,$D799C58CAD37ACD7,$F062E085C0A5E2FF
   Data.q $6967FA68FEB2CB15,$541AAF6334FEF5C7,$788768AAA0D44189,$F316E6B452472CA8,$3CCE694D8DA3D7C1
   Data.q $43D07D5D18003CCE,$F593837375BB3B3D,$E549999499398550,$A718F71E13CCE1E2,$3E28E53B5C64E78E
   Data.q $8389EFD5F884FC42,$5593EA8A7CD14001,$A9C5C7D5B7AF57FD,$87EA9794C3A421BD,$001C9E9B7211BCDC
   Data.q $03EC4FC5DB617BEE,$FD27336C90A57E80,$7A3B84B0D616B576,$8F6B9B0CD1472CA8,$8CCDA6F5AF2D247D
   Data.q $9CECF2E9701D0E7A,$4EF7DD8B30565309,$5C6BDE9FF675FCCB,$A28E016A03569B5F,$63334D24CB4524F9
   Data.q $3F64DF565CF50E7B,$01867666D75AE7FE,$57E2BA8246A09591,$B63A308AA0908315,$12B2EF5558BC439C
   Data.q $77ECF22DF038D1A3,$51D923E3A8FEB311,$F50F3477A9C95D55,$39706F36A6D6C2EA,$73E3ADBC3FC74A70
   Data.q $A8303DEAE76D7A1F,$E72D67DE6CE9143B,$2588959F15D5525C,$6B5D6F3151A24A89,$866AD53B71D390C0
   Data.q $F8C2D6F6A0E5057A,$C66D4C9AC2AD6FCF,$700B00AECD41865D,$A1E13B375B52CFBC,$F25FD72F259C8EE1
   Data.q $439C8EF2D2E86EE3,$872436F87E9EC5FA,$609E7BC77267BDEF,$9DCEEFD57BF963CC,$FAD1D9FA340D99EE
   Data.q $CDCF53DB74981EB3,$8DC604180018CCF4,$DF5D7493F0CA75E9,$C5B35B8DC6F372B0,$4ADDDFE4C7BBD9EA
   Data.q $5B0805E7DA775F53,$126AB7D135E2C4E9,$6D4D59D5E430BFEF,$1E5062DB680E16AD,$39DF4D4F42FDD5C4
   Data.q $ACB8F21E6072A6F1,$E66B3805150FD968,$ADAC92CB3B77E7A3,$AAF27B6939CB2457,$70A8DE715D33CDD9
   Data.q $FCCB4E62FD21CE47,$39EC03BEF3779EF4,$7B000469D90E668C,$59FD02FCFD4E9BD7,$5C64F793F4F75F06
   Data.q $BFF1391ECFB38000,$E15198E56C72BB2E,$CDAFDBB8D1FCAE5B,$515EC344FCFA9FCE,$65D7E2120B4BCFB8
   Data.q $F4A5C3E04B53645F,$676958E932522182,$95EEC939D4F4CEEB,$694AA53FAD7FA9A1,$6662A44D6C773169
   Data.q $01741EDC99396126,$231EBAEC48B3F74E,$939D4F8CBEDB2756,$BF19DD9E3D6BF0AC,$003071E510516CAC
   Data.q $E7675D7307A18668,$933C4E16AF3ABDDC,$4BDDDB783DE74E6E,$7365345A4DC6789C,$1B20F473B543D07A
   Data.q $15150BDEADDF93FE,$D5F33B9CAC8CC7BD,$7EDFEBA2FD7FAF4B,$FF7179727F8F93FF,$B7FE2BB8C000A7A1
   Data.q $CDA8E1938052DAD3,$EC9771EF5F472483,$A998D75EE88C1710,$9F64BD23BAD896DD,$198EF60FCDE90964
   Data.q $F44379DD66637BEA,$84CD35152FB9FFB7,$30CDF381744858E5,$389A417D3A504B6D,$267948BB16D0F228
   Data.q $B58ED8BDF2738708,$63C2E0842001092F,$1C0CA60FFADEDA9C,$15CB31CF55CEF275,$C6DB45FD6B3CE3CC
   Data.q $F3FF3A0D43CD1CBF,$496557A1ABA3AA6C,$FDDEC86B9FE7B420,$BE224D7AF812AAE9,$439F8591BE90F17A
   Data.q $2D4D6D7FBAEE0445,$F8F70E70E2B1FCD4,$14005D453577D38B,$5616ED2DCE8BE3F6,$DBACF67307C55B6A
   Data.q $126B95D2C2F6FF2D,$F9BCA29EC6C497B3,$9CD9BF8AFD47FC75,$782A0023554CF2B9,$3B755FE719D41402
   Data.q $B8AACBFB18BCD2FC,$24F82FBB7B8AC570,$BF58738F2900D67E,$CF510459F39D9B18,$2BCB973DC45689A5
   Data.q $4830936993BDFDDF,$E4970E8287A9DC8A,$57149863E9295860,$4B75E08D07484114,$48802CDBCBC4B737
   Data.q $65838F3C7F6C666E,$A3C7E86278187399,$3C6ECE678B23D9C8,$92DC3FB82488D4F9,$AE35D6BB4739CFDE
   Data.q $634773B0333194DF,$9CC5358DEFD5E326,$10B0D49343094DFD,$9580D394EA124248,$022CE85B91A47D55
   Data.q $B17BE4E4472DADF5,$8E6F4D9DE416233E,$FF6C6E33F52A4B97,$1D2DDF6F14B397C8,$9E33997B6DD543CD
   Data.q $1E8EE766B4DACFED,$26BB3FBE476BEEF8,$ACB8AC359C672212,$47F1E42C969AE369,$396567F63BCE0B27
   Data.q $FA9B5ADDCB1C9258,$61657587C67B2BEC,$4FAE77331A6DA7E4,$2CF75697042812E8,$BA15CDAFB0DD1FDB
   Data.q $8F10415769526522,$C1490254250A8E5B,$EDF0C0483394EA32,$6C3EF29E5D2036AC,$62F7C9CE1F891450
   Data.q $3A938DD9FB4D965B,$78EACFACE3F74816,$9F4B0D77ED3A9F8F,$343985786ACFAA3F,$7CC7FD1757559FDB
   Data.q $6B7FDD8F5D80F869,$C3F0B63554CA13B7,$A608A2BFB258FFBD,$CC7A2F65C6D1E1FD,$A4C958E5959FD8E9
   Data.q $A6D6D434B8EF7193,$CD1F12CBE7D61325,$034185DCE4AF0C4F,$81695976AB470350,$3C44946A49EBBB2B
   Data.q $C915559291A0D586,$00ABCD90013E2B1C,$5759DABD5C354867,$E279707F57D63DAE,$B58655AAF7DCAFA2
   Data.q $31FF777317BE4E3C,$CACFA3A8214467AF,$9F28FE7999A6D88E,$DDEAC0FC9DEFB693,$ECD6F6EED61ABA30
   Data.q $C5BEF2CEED7A7EDA,$09FA48AE9F5857F3,$F6B91F47A9E04454,$36C7223D4F86DEBC,$39AEA6D47DB3D55D
   Data.q $50B5C2F9454DD2AA,$79329F52424A0DDD,$630DF4DAE6D0E0C8,$4591CAF9A4F8CFBB,$BA280A4F2399769B
   Data.q $1742F6817C4A6322,$BDAC10F916B65CE0,$7B9B9AD35E6C4FAD,$BE3C1489EEA5FD55,$6647F01C3071E50F
   Data.q $3627B3FA95ED392C,$E37CDCC46302D5E4,$52596BFCB75FE4FA,$332879E40F447D51,$69A5FD8F535B3496
   Data.q $847CDCF7506F6EF5,$BF9B37A9EC3582C4,$037B430A5FEC90D9,$11369FBBCEE34400,$789CA44EC72238DD
   Data.q $6F1CF2D33D244EDA,$413B2585280C2564,$E77C87B2A08C9096,$84647F3B14D1150D,$1141CCF706A6CA18
   Data.q $F640F44FDD75D555,$E54237BD3805063B,$EA559EBEE9EAF14E,$98F66846EC54379D,$F2643713EC7B7E92
   Data.q $256D22562902D938,$AB7E5145516B2B32,$4DA5A361C11FD64F,$B2879E6A292A9F10,$51C2F4BC96331912
   Data.q $8B8A4A032295CA83,$80C8A001AFDF7B7E,$D96CF84F7061DD81,$9F3E000FEE4E03AB,$70F90C427EEB9AEF
   Data.q $224E32DA7196DD8E,$0C17188E5DCA1DC9,$6BF9A047AB85F446,$C6155EBCF6418499,$47C8B4F232599C7F
   Data.q $CA0FE9E9AFBBB135,$0BDA3755544AA0FE,$143C9830F14E5474,$3D15F14E76E44AEA,$79EECFFC0C641F6F
   Data.q $DEB29391FC070C1C,$946C911581CEFE79,$13FF6B86E33CCEA3,$3799DE0008FEB200,$7BDDA3D9E9DCC67D
   Data.q $265D142FC8F43D96,$5D45949CA1E79286,$556579DF27446151,$F2FBABCF63D5E555,$FAFFCEADCD1E27D9
   Data.q $7E3E0F7BEB5EB3FE,$86FBBF6F83A1C0CB,$C722394FAA782741,$C0981CA7019CDB4D,$E156A70E8604141C
   Data.q $F3D825337D725521,$FDF930E126182229,$355850F5BD3EEA84,$16C8DD34443F8AFC,$906CA914FCA700A8
   Data.q $69D0FF526DB9C792,$57EF6C5E21CE3CE1,$7B795FABD3F1DD2F,$C054AB0E27C1B0EE,$5F1B139363E4FCDD
   Data.q $1AABEB9E596F9CE2,$FC3F371BB539C17D,$17EA171F5DC93DD4,$CF738AF26AC36E4B,$EBF1A8C8A79F6D88
   Data.q $8F608DEBBD2DA5DC,$ECABA1E5357F2222,$0172E8A4D12736D8,$3E0673947829C59F,$C9548615630D541D
   Data.q $208A6B89120B4E23,$EB9EA4D765D3D53E,$E9A192CB8C130E79,$98BF48738CC7C606,$FE389DCFB6766999
   Data.q $6897BB6DADBEE4AA,$0457E69CF65A6E06,$C23DDD77557DEDE7,$93AD1473F59B17E3,$50FE6C90DD372CFE
   Data.q $3FF968C6303630D5,$DB3F7D6BDD01A8A7,$C1326212A59C862F,$8C91C10318BCFB85,$265821415100AC85
   Data.q $7EE65520A6915748,$65166208C788F643,$481FFEEE1028C22A,$FFF9C36380083064,$C79EE73821098BC6
   Data.q $0804085CE71E1739,$0240201084B09061,$1FD5EECB76602100,$1C263E30895EADD5,$4D748FE063B4D159
   Data.q $CC3B6A2CFB7DFC20,$65840085CE528CA5,$644A8AA9AC8A2159,$669731002A9A2555,$6647158E30D531A2
   Data.q $288FE8EF9D31C8B8,$2CFB7DFE1AAA2E2A,$DAEDA6BB6D9975CF,$05C049A6B2AAACB6,$2032E025C4232046
   Data.q $20E431EED8E799C4,$9BA617B3F9F4D12B,$40D87DC8D4BA016B,$AB2F9DEE73EAB2FE,$53CBFED59F4BFFC6
   Data.q $5FFCE731C8497EF2,$DBD4767E0EA5411B,$444E454900000000,$826042AE
Fullend:
EndDataSection

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:25 am
by novablue
RASHAD wrote:Did you tried it as compiled version ?
I already have MCI version works like charm
Unfortunately I can not post it here
But it is a prove that MCI is working fine with Windows 10
ok good to know. i realize it must have something to do with windows 10. this all worked fine for me on windows 7 but the exact reason that causes this issue has yet to be found. I am using Win10 enterprise LTSC with K-lite codec pack, i still don't think it is a codec issue, something else is going on.

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:30 am
by novablue
RASHAD wrote:OK
I can not stop helping the forum members :)
Try the next

Code: Select all

UseJPEGImageEncoder()
UsePNGImageEncoder()
UsePNGImageDecoder()

ExamineDesktops()

Structure MENUINFO
   cbSize.i
   fMask.i
   dwStyle.i
   cyMax.i
   hbrBack.i
   dwContextHelpID.i
   dwMenuData.i
EndStructure

#MIM_STYLE=$00000010 
#MIM_APPLYTOSUBMENUS=$80000000 
#MNS_AUTODISMISS=$10000000
#MNS_MODELESS=$40000000 

#TBS_TOOLTIPS         = $0100
#CAPTUREBLT           = $40000000
#TBM_SETTOOLTIPS = #WM_USER + 29
#TTF_TRACK = $20
#CAPTUREBLT           = $40000000
#PB_FileSystem_NoExtension = 1
#n=1000

Global a$,Down,SaveAs,Menu,Run,i,w,h,v,m,f,g,xx,yy,oWidth,oHeight,Video
a$=Space(#MAX_PATH)

Define.d x,y,ox,oy,fx,fy,t,p,a,b,c,d,e,r

Macro j(a)
	St#a#Drawing(
EndMacro

Macro z
	Pow(Pow(Abs(Cos(m*r/4)/a),d)+Pow(Abs(0+Sin(m*r/4)/b),e),-1/c)
EndMacro

Procedure WndProc(hwnd, uMsg, wParam, lParam)
      result = #PB_ProcessPureBasicEvents 
 Select uMsg
  Case #WM_NCACTIVATE
        Result = 1
                       
  Case #WM_SIZE,#WM_MOVE
          ResizeWindow(1,WindowX(0,#PB_Window_InnerCoordinate)+5,WindowY(0,#PB_Window_InnerCoordinate)+WindowHeight(0)-68, WindowWidth(0)-10, #PB_Ignore)
		      ResizeGadget(1,0, 0, WindowWidth(0)-10, #PB_Ignore)
          If Run = 1 And Video > 0
              ASW.f = WindowWidth(0)/oWidth
              ASH.f = WindowHeight(0)/oHeight
              If ASW <= ASH
                 ASP.f = ASW
              Else
                 ASP.f = ASH
              EndIf
              xx = Int(WindowWidth(0)/2 - oWidth*ASP/2)
              yy = Int(WindowHeight(0)/2 - oHeight*ASP/2)
              w = oWidth*ASP
              h = oHeight*ASP              
              mciSendString_("put RASHAD destination at " +xx+" "+yy+" "+w+" "+h,0,0,0)
          ElseIf Run = 1 And Video = 0
              xx = 5
              yy = 5
              w = WindowWidth(0)-10
              h = WindowHeight(0)-80
              ;If IsGadget(50)
              ResizeGadget(50,5, 5, w,h)
              ;EndIf
          EndIf
                                 
   EndSelect   
  ProcedureReturn result 
EndProcedure

  CatchImage(20 , ?Full)
  GrabImage(20,0,72,48,24,24)
  GrabImage(20,1,0,0,24,24)
  GrabImage(20,2,0,24,24,24)
  GrabImage(20,3,24,24,24,24)
  GrabImage(20,4,48,24,24,24)
  GrabImage(20,5,72,24,24,24)
  GrabImage(20,6,48,0,24,24)
  GrabImage(20,7,48,48,24,24)
  GrabImage(20,8,24,0,24,24) ;**
  GrabImage(20,9,72,0,24,24)
  GrabImage(20,10,24,48,24,24)
  GrabImage(20,11,24,0,24,24)
  GrabImage(20,12,0,48,24,24)

FreeImage(20)

OpenWindow(0,0,0,645,460,"",#PB_Window_ScreenCentered |#WS_THICKFRAME)
SetWindowColor(0,0)
WindowBounds(0,645,460,DesktopWidth(0)+10,DesktopHeight(0))

CanvasGadget(50,0,0,0,0)	

OpenWindow(1,WindowX(0,#PB_Window_InnerCoordinate)+5,WindowY(0,#PB_Window_InnerCoordinate)+WindowHeight(0)-68,635,64,"",#PB_Window_BorderLess,WindowID(0))
    TrackBarGadget(1,0,0,630,22,0,1000,#TTF_TRACK)
    SendMessage_(GadgetID(1), #TBM_SETPAGESIZE ,0,10000)
    ButtonImageGadget (2 ,2 ,27,32,32,ImageID(1))                   ;Load
    GadgetToolTip(2,"New Media")
    ButtonImageGadget (3 ,40,  31,24,24,ImageID(5))                ;Previous Frame
    GadgetToolTip(3,"Step Backward")
    SpinGadget(4 ,65, 31,30,24,0,10,#PB_Spin_Numeric)   ;No. of Previos Frames
    GadgetToolTip(4,"No.of Frames to Step Backward")
    ButtonImageGadget  (5 ,102, 27,46,32,ImageID(4))                ;Play
    GadgetToolTip(5,"Play- Pause")
    SpinGadget(6 ,155, 31,30,24,0,10,#PB_Spin_Numeric)  ;No. of Next Frames
    GadgetToolTip(6,"No.of Frames to Step Forward")
    ButtonImageGadget  (7,183, 31,24,24,ImageID(2))                 ;Next Frame
    GadgetToolTip(7,"Step Forward")
    TrackBarGadget(8,215,31,70,25,1, 2000,#TTF_TRACK |#TBS_TOOLTIPS)    ;PlayBack Speed
    GadgetToolTip(8,"PlayBack Speed")
    ButtonImageGadget  (9,293, 27,32,32,ImageID(9))               ;Max - Min
    GadgetToolTip(9,"Maximize - Restore")
    ButtonImageGadget  (10,330, 27,30,30,ImageID(6))                 ;Save As
    GadgetToolTip(10,"Capture & Save Frame")
    ButtonImageGadget (11,368, 27,32,32,ImageID(7))                ;Sound Control
    GadgetToolTip(11,"Mute")
    TrackBarGadget(12,405,29,70,27, 0, 1000,#TTF_TRACK )         ;Sound Volume
    GadgetToolTip(12,"Sound Volume")
    TrackBarGadget(13,480,29,70,27, 0, 1000 ,#TTF_TRACK |#TBS_TOOLTIPS)                             ;Sound Balance
    GadgetToolTip(13,"Sound Balance") 
    ButtonImageGadget (14,555, 27,32,32,ImageID(10))                ;Default
    GadgetToolTip(14,"Reset & Configure")     
    ButtonImageGadget  (20,592,27,32,32,ImageID(8))                 ;Quit
    GadgetToolTip(20,"Quit")
;CloseGadgetList()

SetGadgetState(4,1)
SetGadgetState(6,1)
SetGadgetState(8,1000)
SetGadgetState(12,500)
SetGadgetState(13,500)

If CreatePopupMenu(0)
  MenuItem(1, "Reset Sound Volume")
  MenuItem(2, "Reset Sound Balance")
  MenuBar()
  MenuItem(3, "Reset PlayBack")
  MenuBar()
  MenuItem(4, "Save As BMP")  
  MenuItem(5, "Save As JPG")
  MenuItem(6, "Save As PNG")
EndIf

mi.MENUINFO
mi\cbSize=SizeOf(mi)
mi\fMask=#MIM_STYLE|#MIM_APPLYTOSUBMENUS
mi\dwStyle=#MNS_AUTODISMISS|#MNS_MODELESS
SetMenuInfo_(MenuID(0),mi)

SetActiveWindow(0)
SetWindowCallback(@WndProc()) 

AddWindowTimer(0, 125, 10)

;Video = 1
;SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) |#WS_THICKFRAME &~ #WS_DLGFRAME)
;SetWindowPos_(WindowID(0), 0, 0, 0, 0, 0, #SWP_FRAMECHANGED| #SWP_DRAWFRAME| #SWP_NOMOVE| #SWP_NOSIZE| #SWP_NOZORDER)
Repeat

  Select WaitWindowEvent()
      
      Case #PB_Event_Menu
          Select EventMenu()
           Case 1
           					SetGadgetState(12,500)
										mciSendString_("setaudio RASHAD volume to "+500,0,0,0)
           Case 2
										SetGadgetState(13,500)
										mciSendString_("setaudio RASHAD right volume to  "+500,0,0,0)		
           Case 3
           		      SetGadgetState(8,1000)
		                mciSendString_("Set RASHAD Speed "+1000,0,0,0) 
           Case 4
                     SaveAs = 1
           Case 5
                     SaveAs = 2
           Case 6
                     SaveAs = 3           
          EndSelect
      
      Case #PB_Event_Gadget
          Select EventGadget()
               Case 1   ;Position Track                   
                      Pos.d = GetGadgetState(1)
                      If Pos <> Oldpos
                         mciSendString_("pause RASHAD",0,0,0)
                         mciSendString_("Play RASHAD from "+ pos,0,0,0)
                         OldPos = Pos
                      EndIf
                       
		           Case 2  ;Load & Play
		                   mciSendString_("Close RASHAD",0,0,0)
		                   File$ = OpenFileRequester("Choose the movie to play","","Media Files|*.VOB;*.mp4;*.mkv;*.mpg;*.wmv;*.avi;*.mpeg;*.wav;*.ogg;*.mid;*.flac;*.wma;*.mp3|All Files (*.*)|*.*", 0)
		                   If File$ <> ""
		                         Run = 1
		                         SetWindowTitle(0,File$)
		                         SetGadgetState(1,0)
														 SetGadgetState(8,1000)
														 SetGadgetState(12,500)
														 SetGadgetState(13,500)
													  Select LCase(GetExtensionPart(File$))
; 															    Case "vob", "avi", "asf", "asx", "mpg", "m2v", "p2v", "mp4", "lsf", "lsx", "nsv", "mpeg", "dat", "wmv", "wax", "wvx", "wm", "wmx", "wmp"
; 															        DeviceType$ = "MPEGVideo"
; 															    Case "mp3", "kar", "miz", "mod", "mdz", "nst", "stm", "stz", "s3m", "s3z", "it", "itz", "xm", "xmz", "mtm", "ult", "669", "far", "amf", "okt"
; 															        DeviceType$ = "MPEGVideo"
; 															    Case "mp4", "ptm", "mp2", "mp1", "aac", "apl", "vlb", "m4a", "nsa", "ogg", "voc", "au", "snd", "aif", "aiff", "wma", "pls","flv"
; 															        DeviceType$ = "MPEGVideo"
; 															    Case "wav", "wave"
; 															        DeviceType$ = "MPEGVideo";  'WaveAudio
 															    Case "mid", "midi", "rmi"
 															        DeviceType$ = "Sequencer"
 															    Case "cda"
 															        DeviceType$ = "cdaudio"
															    Case "rm", "ram", "ra"
															        ;DeviceType = eMCI_RealPlayer
															        DeviceType$ = "other"
															    Case "ivf"
															        DeviceType$ = "MPEGVIDEO2"
															    Default
															        DeviceType$ = "MPEGVIDEO"
														 EndSelect; 														 
  													 Open$ = "OPEN " + Chr(34)+File$+Chr(34) + " Type "+DeviceType$+" Alias "+"RASHAD"														                
					                   mciSendString_(Open$,0,0,0)
					                   mciSendString_("window RASHAD handle " + Str(WindowID(0)) ,0,0,0)                          
					                   mciSendString_("load RASHAD " + File$ ,0,0,0)
					                   a$=Space(#MAX_PATH)
					                   mciSendString_("status RASHAD length",@a$,#MAX_PATH,0)
					                   length = Val(a$)
					                   SetGadgetAttribute(1,#PB_TrackBar_Maximum,length)
					                   mciSendString_("status RASHAD frame rate",@a$,#MAX_PATH,0)
					                   Video = Val(a$)						               
							               If Video = 0
							                  xx = 5
							                  yy = 5
							                  w = WindowWidth(0)-10
							                  h = WindowHeight(0)-75
							               Else
    							              ;******* Keep Aspect Ratio *******************************                
                                wh$ = Space(#MAX_PATH)
                                mciSendString_("where RASHAD source",@wh$, #MAX_PATH, 0)
                                oWidth = Val(StringField(wh$,3," "))
                                oHeight = Val(StringField(wh$,4," "))
                                ASW.f = WindowWidth(0)/oWidth
                                ASH.f = WindowHeight(0)/oHeight
                                If ASW <= ASH
                                   ASP.f = ASW
                                Else
                                   ASP.f = ASH
                                EndIf
                                xx = Int(WindowWidth(0)/2 - oWidth*ASP/2)
                                yy = Int(WindowHeight(0)/2 - oHeight*ASP/2)
                                w =  oWidth*ASP
                                h = oHeight*ASP
                                mciSendString_("put RASHAD destination at " +xx+" "+yy+" "+w+" "+h,0,0,0)
                                CreateImage(100,oWidth,oHeight)
                                ;***********************************************************
					                   EndIf
					                      SetGadgetAttribute(5,#PB_Button_Image,ImageID(3))
					                   		mciSendString_("play RASHAD",0,0,0)
					                   		Run = 1
							                  mciSendString_("setaudio RASHAD volume to "+500,0,0,0)					                   
		                   Else
		                       MessageRequester("Error","No file selected !"+#CRLF$+"Try again",#MB_ICONERROR) 
		                   EndIf 
		                   
		           Case 3  ;Previous Frame		    
		                   			If play = 0
								              play = 1
								              SetGadgetAttribute(5,#PB_Button_Image,ImageID(4))
								              mciSendString_("pause RASHAD",0,0,0)
								              mciSendString_("Status RASHAD position",@a$,#MAX_PATH,0)
								              curpos.q = Val(a$) 
								           EndIf		                  
								           nxtpos.q = curpos.q - GetGadgetState(4)*500
						               mciSendString_("play RASHAD from "+nxtpos+" to "+curpos,0,0,0)
						               mciSendString_("pause RASHAD",0,0,0) 
						               curpos.q = nxtpos.q 
						               		                   
		           Case 4  ;Previous Step               
		                  
		           Case 5  ;Pause & Resume
		                   play ! 1
		                    If play = 1
		                       SetGadgetAttribute(5,#PB_Button_Image,ImageID(4))
		                       mciSendString_("Pause RASHAD",0,0,0)
		                    Else
		                       SetGadgetAttribute(5,#PB_Button_Image,ImageID(3))
		                       mciSendString_("play RASHAD",0,0,0)
		                    EndIf
		                    
		           Case 6  ;Next Step		                   
		                   
		           Case 7  ;Next Frame
							           If play = 0
							              play = 1
								            SetGadgetAttribute(5,#PB_Button_Image,ImageID(4))
							              mciSendString_("pause RASHAD",0,0,0)
									          mciSendString_("Status RASHAD position",@a$,#MAX_PATH,0)
									          curpos.q = Val(a$) 
							           EndIf		                  
							           nxtpos.q = curpos.q + GetGadgetState(6)*500
					               mciSendString_("play RASHAD from "+curpos+" to "+nxtpos,0,0,0)
					               mciSendString_("pause RASHAD",0,0,0) 
					               curpos.q = nxtpos.q
		           
		           Case 8  ;PlayBack Speed
		                   speed = GetGadgetState(8)
		                   mciSendString_("Set RASHAD Speed "+Speed,0,0,0) 
		           
		           Case 9  ;Max - Restore
		                  Max ! 1 
			                If Max = 1
			                      ;StickyWindow(0,1)
			                      SetGadgetAttribute(9,#PB_Button_Image,ImageID(12))
			                      ShowWindow_(WindowID(0),#SW_MAXIMIZE)
			                  ElseIf Max =0
			                      ;StickyWindow(0,0)
			                      SetGadgetAttribute(9,#PB_Button_Image,ImageID(9))
			                      ShowWindow_(WindowID(0),#SW_RESTORE	) 
			                EndIf
		           
		           Case 10   ;Save Frame
		              If Run = 1 And video > 0
  		                mciSendString_("pause RASHAD",0,0,0)
                      dc = StartDrawing(ImageOutput(100))
                        mciSendString_("update RASHAD hdc "+ dc,0,0,0)
                      StopDrawing()
                      mciSendString_("play RASHAD",0,0,0)
                  Else 
			                hBitmap = CreateImage(100,WindowWidth(0)-10,WindowHeight(0)-80)
			                hdc = StartDrawing(ImageOutput(0))
			                SelectObject_(hdc, hBitmap)
			                BitBlt_(hdc, 0,0, WindowWidth(0)-10,WindowHeight(0)-80, GetWindowDC_(GetDesktopWindow_()), WindowX(0)+10,WindowY(0)+35,  #SRCCOPY|#CAPTUREBLT)
			                StopDrawing()
			            EndIf
			                ;ReleaseDC_(WindowID(0),hdc)	               
		                  If SaveAs = 0 Or SaveAs = 1
		                     SaveImage(100, GetHomeDirectory()+GetFilePart(File$,#PB_FileSystem_NoExtension)+" "+Right(Str(im),2)+".bmp",#PB_ImagePlugin_BMP)
		                  ElseIf SaveAs = 2
		                     SaveImage(100, GetHomeDirectory()+GetFilePart(File$,#PB_FileSystem_NoExtension)+" "+Right(Str(im),2)+".jpg",#PB_ImagePlugin_JPEG)
		                  ElseIf SaveAs = 3
		                     SaveImage(100, GetHomeDirectory()+GetFilePart(File$,#PB_FileSystem_NoExtension)+" "+Right(Str(im),2)+".png",#PB_ImagePlugin_PNG)
		                  EndIf
		                  im+1   
		                   
		           Case 11	 ;Sound Mute
		                   Sound ! 1
		                   If Sound = 1	                     
		                       mciSendString_("setaudio RASHAD off",0,0,0)
		                       SetGadgetAttribute(11,#PB_Button_Image,ImageID(0))
		                       DisableGadget(12,1)
		                       DisableGadget(13,1)
		                   Else
		                       mciSendString_("setaudio RASHAD on",0,0,0)
		                       SetGadgetAttribute(11,#PB_Button_Image,ImageID(7))
		                       DisableGadget(12,0)
		                       DisableGadget(13,0)
		                   EndIf
		                   
		           Case 12   ;Sound Volume
		                  Vol = GetGadgetState(12)
		                  mciSendString_("setaudio RASHAD volume to "+Vol,0,0,0)
		                  
		           Case 13  ;Sound Balance
		                  Vol = GetGadgetState(13)
		                  If Vol < 500
		                      mciSendString_("setaudio RASHAD left volume to "+Vol,0,0,0)
		                  ElseIf Vol > 500
		                      Vol = 1000 - Vol
		                      mciSendString_("setaudio RASHAD right volume to  "+Vol,0,0,0)
		                  EndIf
		                  
		           Case 14  ;Set Up
		                     DisplayPopupMenu(0, WindowID(0))           
		           
		           Case 20 ;Quit
		                    mciSendString_("Close RASHAD",0,0,0)
		                    Quit = 1
                   
          EndSelect
          
        Case #PB_Event_Timer
                If GetWindowState(0) = #PB_Window_Maximize
                  Max = 1
                  SetGadgetAttribute(9,#PB_Button_Image,ImageID(12))
                  StickyWindow(0,1)
                Else
                  Max = 0
                  SetGadgetAttribute(9,#PB_Button_Image,ImageID(9)) 
                  StickyWindow(0,0)
                EndIf
                mciSendString_("Status RASHAD mode",@a$,#MAX_PATH,0)
                If Run = 1 And Video = 0; And IsGadget(50) And a$ ="playing"
                    ResizeGadget(50,5,5,WindowWidth(0)-10,WindowHeight(0)-80)
		                t=ElapsedMilliseconds()/10000	
	                  m=2+2*Int(t/0.5)%20: c=10+9*Sin(t*2) :d=9+9*Sin(t*3): e=9+9*Sin(t*5)
										a=Abs(Sin(t*7)*0.6)+0.1:b=Abs(Cos(t*11)*0.6)+0.1:j(art)ImageOutput(0))
										DrawImage(GetGadgetAttribute(50,#PB_Canvas_Image),0,0)
										j(op)) :j(art)0+CanvasOutput(50)) :x=150+100*Sin(t/1.1)
										DrawAlphaImage(ImageID(0),w*Cos(t*9)/x,0+h*Sin(t*9)/x,150)
										DrawingMode(#PB_2DDrawing_Gradient)
										x=w/2*(1+Cos(t*9)) :y=(1+Sin(t*9))*h/2 :LinearGradient(x,y,w-x,h-y)
										FrontColor(RGB(127*(Sin(2*t)+1),(1+Sin(3*t))*127,127*(1+Sin(5*t))))
										BackColor(RGB(127*(1+Sin(7*t)),127*(1+Sin(11*t+	0)),127*(1+Sin(13*t))))
										For i=0 To#n-1 : r=i*2*#PI/#n : p+Sin(t)/30000
										x=w/2*(1+	z*Cos(r+p)) :	y=h/2*(1+z*Sin(r+p))
										If i=0:	fx=x:fy=y:Else:LineXY(ox,oy,x,y):EndIf
										ox=x:oy=y:Next:LineXY(x,y,fx,fy):j(op))
								EndIf
                mciSendString_("Status RASHAD position",@a$,#MAX_PATH,0)
               If Val(a$) <> Oldstatus
                  SetGadgetState(1, Val(a$))
                  Oldstatus = Val(a$)
                EndIf                 
                
        Case #WM_RBUTTONDOWN
                Cap ! 1                	
               	GetCursorPos_ (@cp.POINT) 
	               ScreenToClient_ (WindowID(0), @cp)     
	            If ChildWindowFromPoint_ (WindowID(0),cp\y<< 32+cp\x) <> WindowID(1) And Cap = 1
	                If Max = 1
	                  ShowCursor_(0)
	                EndIf
	                HideWindow(1,1)
	                SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) |#WS_THICKFRAME &~ #WS_DLGFRAME)
	                SetWindowPos_(WindowID(0), 0, 0, 0, 0, 0, #SWP_FRAMECHANGED| #SWP_DRAWFRAME| #SWP_NOMOVE| #SWP_NOSIZE| #SWP_NOZORDER)
	            ElseIf ChildWindowFromPoint_ (WindowID(0),cp\y<< 32+cp\x) <> WindowID(1) And Cap = 0
	                If Max = 1	                
	                  ShowCursor_(1)
	                EndIf
	                HideWindow(1,0)
	                SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) | #WS_THICKFRAME | #WS_DLGFRAME)
	                SetWindowPos_(WindowID(0), 0, 0, 0, 0, 0, #SWP_FRAMECHANGED| #SWP_DRAWFRAME| #SWP_NOMOVE| #SWP_NOSIZE| #SWP_NOZORDER)
	            Else
	               Cap ! 1 
	            EndIf 
 
  EndSelect 

Until Quit = 1
End

DataSection
Full:
   Data.q $0A1A0A0D474E5089,$524448490D000000,$4800000060000000,$6705860000000208,$5948700900000034
   Data.q $0000000100000073,$0000D6C4254F0001,$DE07454D49740700,$EB54D838330E0F07,$4144494B1A00001D
   Data.q $547C799CED9C7854,$CF7BDCE77FF0DDD5,$40804849ACEE77BD,$08A0A208A0208848,$297DC7D45EE2AA7D
   Data.q $5B6A57963E8FD4AE,$B56AC1775B5B8BE8,$685D4A2B55AAC56A,$4041128A82F02C15,$264248484B097DF6
   Data.q $E73DCE76EE599333,$8AC49806108663FD,$9847F03C7CBCF3EF,$F7B99BF7EFCBE67B,$B79BA505F9DF399E
   Data.q $9108C58516F8FCEC,$AE65D419B7C32215,$736F15C2745CA8CB,$95A3F168392E3BCF,$A85A35FA75EFE1BA
   Data.q $49612C612492491C,$48C610849184B092,$19CE338F338800C2,$092309639C1718F7,$4666ABB4D59E0C23
   Data.q $9A0E4B8E00147F7C,$DAD6B8C1741D4133,$AEAADA8F7AB1322F,$0D07F7EC20464206,$E706C24EA091A025
   Data.q $668CC66899334660,$D5501AB2A92584EC,$C0E54B06A20C46A0,$25C70008FFD345E0,$9CC37C35B45C1647
   Data.q $965B2C7000544C94,$13D44AA69A2AA225,$E61CF695B22E085C,$427E215D14000C39,$6CA28C93220C420C
   Data.q $7BF9C4F7C0005C17,$E23381588AE1F78D,$A7BEABE3498D33AA,$868894D4E0006478,$6532932001840610
   Data.q $C5FFA47C51442245,$6EFED9F2F8E3DB4B,$80D5501A9A0355C6,$489F8853455506A6,$03CCE1C0284ECEC4
   Data.q $B7E8B5394780042E,$CA8615EEC2B87CE2,$0023E84F7D185CE2,$48FB3C6B58C9E2DA,$D46AA78BDFE64B73
   Data.q $0C8F1C2F0DEF35C2,$84B0F654C3E68A00,$A9A4990004210924,$EAE8C001F411AA6A,$616B2A9262CC645C
   Data.q $2A0355506AEB0B4D,$509D9E1CF0080831,$7842108427A9C380,$CA9D5B3B1CF6FB2E,$4F13EAE3BE6EBD3E
   Data.q $D67B3784AC02E52E,$0005965B170B85E2,$80053EA3953C46FF,$816FBE3C3C565309,$4CD77E02D0006478
   Data.q $84212C232A630962,$DABA694F16DD2B5D,$90F28159B76C9DF1,$95406A7C8BD3E45E,$92701873CCBB9935
   Data.q $BCF67F7519C7909D,$9B3876768F440288,$5E8003100394EFCF,$BE542BAFFEF765E5,$2D6DB6898F0B8BCE
   Data.q $5BF97A7F4A2B2A23,$3AF88F4B5D447D6F,$DADB1DD86BCC74E5,$C4C4F9DB5E87FB5F,$682D00064BCB4701
   Data.q $476314E3D7316C20,$0D4A6CD4F57C92C6,$DA9AC683FC79931D,$197709735FA80046,$6B087A9CA5DCD94D
   Data.q $1D28AD1CE50E80B9,$331E2E722EA12487,$4BDFECAD7FD7EF7C,$C0366DD90C79BA44,$7ABD5FE53A4ED3B6
   Data.q $64960E15DED8EFD5,$6DB68F16D3272584,$F2EE3FD8B549E2FD,$B6880038F0BC2F09,$3C3BE45EBF52FE59
   Data.q $AC9F1061AA000C2F,$43D5487A24168807,$EC86AE8D4F39F2C6,$DDECFB0BA6E38EDF,$269A789D336DDD3E
   Data.q $946CF6DA69B69A4D,$C8BA814AE9C79A3D,$934D1B512D2B2D29,$6186F8F83F8FEEB5,$89F70D6F2D166B63
   Data.q $9CD89CC663538BF8,$C8A05A190F4712EA,$B3C97EAC9A66EE17,$F354D0B53519DEEE,$83561DEA159B68A2
   Data.q $0C33400192F311EA,$B8F704F704F70884,$3F2FF3DEF4D3B947,$554C98EEBF5DCF7D,$FADCDE313F0F3EBF
   Data.q $8565DCBCCE5367BA,$9CA1D8AF72941471,$29AE8E15D32815AE,$EAFBCD15A582CEAA,$97F5DCFC4B936F56
   Data.q $3269A78DCDD89C96,$E47CA3C712E99AD9,$F44C886E7C2DD62F,$5000327DA5757DE6,$13DDC5639647B836
   Data.q $471E487330DB2EC7,$B7B24C00CF8A0406,$7D7FC370E0842146,$FE7B2F37AFD77EBD,$7D9567FEC9EF1B8E
   Data.q $1F63E5C37C9FEE2B,$738BDE7F53AB0A2A,$22A180039CE0B9CE,$D2814AE9CF900040,$7434F67B385764D1
   Data.q $F023D4231D4BEAAB,$FF8F779B55CAD29B,$ED97705F0DF199D9,$8B05D2739174EEDC,$BF59CB30555BA000
   Data.q $C37C52FCF8002374,$EBB8003D4632EE5E,$C8E476562753B5FE,$000514974D149248,$DC2D17D1A1084610
   Data.q $B94E8F09EE4F42DB,$BF75FB733FBFF5FF,$D7C5DC7E315953EC,$39AD1806BAD4FCDD,$4B1570F177507DAF
   Data.q $49210872C6300008,$B4D40A574E3C8002,$8EF70BD99C8BA5B7,$6D7DCF68D92FD71B,$B73592E9696696DE
   Data.q $ACB9F07C1F610B9F,$00079F4F2A739DC9,$A9AE2EF7E7E1ABA3,$FE3ACB89F8C0183D,$75F27BB73F260013
   Data.q $BA2645658C8E7681,$DFA1FCE0994792E0,$1F06F58742DBDEAF,$D5FE6E13527B3D81,$C57C2C39549DBF23
   Data.q $01AAA317ADAC0FC5,$494E7DC0C237B600,$3295C38C61EE0B80,$ED0EA1C8E8001596,$15D7B9CB8CCC814A
   Data.q $DF6B44A3764FBCCE,$2C13EC8F970C1D80,$D71915CBF3FF0E2B,$6739DDED4E751BDB,$00377A5DC697A6F7
   Data.q $C74AD27693D6F2BC,$FD369FBF83C18F4D,$6736B9870999CF6F,$F63C0028F37E6FEE,$91CEDD3F16EBAFF0
   Data.q $0E7A4A9D90730101,$BDA24FCDF5AAB55D,$2FC470120723E023,$AA300000DB5B4CA6,$AF7FA5D705CEFB3A
   Data.q $B8263DC45D5E5F81,$730E7681ECFEAB27,$C7B140B4815AEB28,$0042957EE6722E9C,$FDE9B85FDE930C67
   Data.q $92DE7F365C756E77,$3CFE70AE9060A5FE,$ED4A75BCEE278DFD,$2D336B68DBA70F27,$E939F2A0B535272D
   Data.q $A6B7693962D32A44,$E7D2C35DFACC9616,$3320B391CED82F89,$CD6BD55FED0E6296,$875D4D994B989B82
   Data.q $7A87087F0000963B,$C9D74958967A8514,$C6BCCE72E6336A50,$BE21D4798F732F15,$371CB50E76813650
   Data.q $D47908C440A5776D,$6D45FC7C00473AEE,$FB76DD17B3B982DA,$C8BA2FC2CD4AC058,$766FEA7A7B4C7671
   Data.q $2B1511E12A4CF67D,$0D12FE221E800104,$E9AD3799BF826400,$032391D82F88D79B,$F9CB534895B2E080
   Data.q $5892BA8B004D84F1,$451324BFA479CC76,$6BA6A1C03FA2E40F,$B6613F5410AECCA7,$4A00694E75DA51E4
   Data.q $6E374DF35972B003,$604D92CD75497B1A,$ECFB1A6D438574B6,$3222878B6DC32B19,$0807A994EC0008C6
   Data.q $738799BACC001CA7,$2E5A9A44AC5205B2,$E4991FC786AE8C00,$A434446302BAE151,$6A0245F41C57D869
   Data.q $BDFD7B3F79FD77D0,$0044D379DDE3A817,$0FFAAC92DA953E20,$5DBA8B69B8E39404,$E79095C57E698BBA
   Data.q $775EFAFDFE9CC2E2,$27F687F93C8F15D5,$3BDD69FDCF535AC6,$5DEEC0E9A78F3E73,$5C9B6E2C770EB8E2
   Data.q $00060031AF2DF0D5,$FB6C2D4D79F4DCB7,$F218400009EE3CE2,$93493AAC20003238,$E5A707BEFDB3B9DA
   Data.q $909DAFDB8E3BD85D,$12465D141ABA3A3D,$5461CED43D9E8992,$20A7C441D6974EB8,$BDEC10E615E4A884
   Data.q $B8590F6A6A1FF2F9,$1BD9502014D65CAE,$2D8E16D71C4BB954,$E4EEFC5E3AA84F3C,$3EDBAB4ECD4C0F29
   Data.q $D1AB9CAE62CD8BDD,$7BA90700815C9CA1,$B46F3A02DE5313F0,$D1494168ACBA251F,$23A9CBA872CA03DA
   Data.q $D20ACB9B1D80993E,$F60920BEC7EE927D,$888A3D8245940A28,$316A534ED4D2774F,$A63F5CE015184000
   Data.q $1E50E2EBDBAD86DF,$F460000867A48FCA,$1D71CA752E8923B9,$F1A8CB2410AE5D4E,$FCBF2987F33E3FEB
   Data.q $996D34FBBEAF13D5,$E3CA0573D13A7C49,$DDA7DE899AE000C8,$46EDFD16B7ABE3BC,$415903DC13CF098F
   Data.q $03525514828A4132,$E69F11A189D7EABA,$3C63DCB9EE51EE31,$26E66CECB04E67B3,$9A66639DA8400841
   Data.q $84249000098C1529,$71E17382F09EC865,$4D158225D0D550E6,$00A8499242171E12,$1597C57D0331DAE7
   Data.q $3A4B4D5976A68788,$5E9FE57FB3C5E4E5,$B7469BF77361E57C,$EC157EBFD0788150,$911AC783DE90CA73
   Data.q $AB0E8009955D90DE,$86E4FEE50D52DCBC,$E779B35C20000100,$7420256ABDD8FF37,$CB64CDD74564725C
   Data.q $501182269473DDFE,$0ED9871D43B661DB,$0421528F528F5C73,$5559144CB2CB0842,$00AA68AAAAC89565
   Data.q $4F9F11896A9A1D44,$817558391C971C00,$41CC88550E61AD13,$EB994A3CC63CC670,$DA872D4DB6A1C732
   Data.q $01CE09A6B2A9A2B6,$40B267124B08C210,$85D5409CB6CCB988,$D6A56A20E4B8E200,$53371CCD61B9307C
   Data.q $E545188368F7DF68,$1C002A7ABD0EC743,$AAF6A83649D91C97,$FD37F8A908D04F13,$1DE7B89A668ABD91
   Data.q $EC5E0FD8BC1F9C97,$BC4E9CBDFF62F7B8,$13A707C759F177D8,$E9C0F1D67CDDF62F,$4CE0B82686298BC4
   Data.q $83E3B17ADBF769B8,$215FAA1A0B400183,$65D1E984EA1AAC86,$D1E2863108D564BB,$76E31E630572CF36
   Data.q $F7FEA5FCF917AD9B,$2E0754BE23832716,$D8CB165346D9DBA8,$DD10E0750173839E,$434777E9CB284620
   Data.q $18F73E53B4EB25F1,$AB1A53A1C6FD73EF,$FD4BFBF52FE2DE6F,$CF4D8BE729D59F59,$38574F188F3DD224
   Data.q $F759CF72FC478A49,$5FCBCB4769D45745,$F5A4CB733EB45FEA,$3C10C35400191C79,$99ADF2F8C792A8A1
   Data.q $1FFAE46555335BE5,$7DC7F75B33F4E719,$1B2ED24EE6D4233D,$1DB9EB2C3BD423DC,$49EA7124A8B2962C
   Data.q $672EC8E76A87A0E4,$DEC0085244C92CAE,$FDDEEF74E322FADC,$943D658C604E1384,$805489597A9CBB67
   Data.q $A37A932D9BFB4F53,$51E2F213F2D3494F,$4E98FB9DAA394EA5,$1D2D13301C2FBF74,$F4D2FEF6589F0AF3
   Data.q $5EE99B52DE6F6F0B,$C5EF9391D9A4D0A2,$B81F13EECD5DA0B2,$17DEB6A765D203D3,$9B6E47F76A11562E
   Data.q $0B962E99B4E39D95,$02C1CC9C57E6287B,$E6F36F9F3ED39BA5,$E894D592749D27CD,$3C58914728F35FA2
   Data.q $9B456153F2A07182,$29D59F47663957F6,$97F5585F20503B47,$6333BD5D58BDDBF8,$2EA3FB0DA9EB78AD
   Data.q $790A6789C2EC2EE4,$12F8DEF296238EB1,$F72579CD74DD2E66,$CCBB97B0DA53D4DE,$4A4CB6CD47B26789
   Data.q $C7841C1287BA3860,$C807585A000E8BDB,$89D1B9E31F5537D5,$B48E2811E21C12CF,$CCF8D727144C48A2
   Data.q $B06F0715C3133D2D,$9DD1CA75EA31EB84,$3162F59691460C5C,$0A36CFC6C0F2DCA1,$9E3A45C13D8DD0F3
   Data.q $F85361B0E0C5E42E,$AA33D1798CE8DCDB,$86773C4B70B386E1,$2CF80B8DB1C7F6C7,$E1D955D594210184
   Data.q $64EB5B9DFE4B83F2,$8610C5EA7718C259,$0450045004700478,$44535628A731228A,$762B43FFAAF39616
   Data.q $62A0503D3A394EE2,$E7DB8BD4F67EF36D,$3CF4F2DA47E5117E,$62F7C9C8ED6A6D1E,$0901700000127847
   Data.q $9BBB2B2043094B57,$167C05E30A5A4A9B,$5DC1E4ECB69BA973,$1B2467FDBD4A92F7,$97318BDCEB38752E
   Data.q $C48451408A102C76,$77D69C7EBC031022,$0381CC2B0E68BE25,$77B56DF7C5F62579,$992210A8968E26D5
   Data.q $944762F10E723B30,$DD27066779C11859,$BD62D53937407FD5,$07A20004C019AF33,$B6C66E59F0178F89
   Data.q $D92A3B5B4B74E912,$1D465C2FB583F078,$EC66E62F53B75393,$8EA1002E23C502BC,$5EAB5753A2AADE74
   Data.q $48BDCFED49CC2AD0,$4DF3F9DCA23E3456,$DD2D0DBB985AF168,$A846AB084096FF91,$E3A72D462F10E723
   Data.q $0BF8C3FA7386556C,$965A1F2CF6E79195,$51EC94310000CC68,$8CA8790A0F89FBA2,$52076BDA6699B765
   Data.q $44B49CD228DF20F3,$8AF158CACFB9D61D,$D707888A478A0583,$D41346E8EFE7C264,$C663985CB49C722A
   Data.q $521FB4E9E3375C0E,$C548FE7C1F686F09,$ACF6F64BFB7F2E29,$C85C6109D5CED37A,$F0188F317733518B
   Data.q $0F77A2BEDCE8C193,$23FBB69731225C39,$5453EE8A23AEE7A2,$83995B936CA1EC28,$381D1A34697311AF
   Data.q $608A1EB373736070,$87C567C577136309,$4225891C5C523C40,$0C60D5DCB5D67391,$0084264A1903DBE8
   Data.q $B5E7703B158E53A0,$0DD1562F768195B9,$3EFA1343F540F73D,$268BED67D7AEEAFF,$E62F5471BA202028
   Data.q $F8E1EAE8253EADA6,$4CB19242D9827E9C,$40EDA6EE3C204210,$A26EE6A2B9731F77,$AA1E2BA93E264F8A
   Data.q $D97264C9E3C240BD,$47047FF9A00065B2,$628A4754E44750F2,$58CEB72D0D29D891,$1ED1EDF7099B9272
   Data.q $C8958E47567CD1CF,$ED5429B615D4629D,$62687A2AF67ABC90,$FB47F6F5EC6E7BBF,$2F547C8625145E3E
   Data.q $85B5D94EEB78A8C6,$B184232491FCE56D,$49A2A973D43982E0,$5C8B33FCF3DE5C37,$0F15DE51E455859B
   Data.q $2023250464A27735,$51EC1E9F175A2E0B,$A87A23DD25643DC4,$E37F4F9BB4CE7223,$0284A08D5B8D01F9
   Data.q $723AB3E68E78C772,$411D7647BACC4402,$E443F979C8EC7B80,$B519717A7FCB2BB6,$6308FEE1D8BD51D8
   Data.q $973297339CE61240,$A9829AA88E1E9F12,$87A2EBC7318B5CC5,$CE44750F34739C3A,$93EC905654FD2F55
   Data.q $E1C04822A30E3DFE,$01C3078DB7C5B1C2,$3EC28A942569262F,$45609923FAC8210B,$728BBF595140B493
   Data.q $7EC5E0FCE538EA1E,$D8BC1FB1783F62F0,$6291AEEC4E47277F,$520B62B23F8BBE0B,$9F28FFD7A048CB0D
   Data.q $FC4B07A2D8BCCC75,$DDEE8A3FA3BFDD45,$58EB3E51FFFEA92D,$4770709D62F07E71,$FCF739639A29262F
   Data.q $1F8CB9946E633139,$B4B1FE8FEED047F4,$FCF28E19F573FC6D,$D3963B632B1CE1D1,$0B91AA82C673E9CE
   Data.q $F9E2F2729D50F53A,$F89923F80E1839BE,$99BDB477F29F5564,$D799C58CAD37ACD7,$F062E085C0A5E2FF
   Data.q $6967FA68FEB2CB15,$541AAF6334FEF5C7,$788768AAA0D44189,$F316E6B452472CA8,$3CCE694D8DA3D7C1
   Data.q $43D07D5D18003CCE,$F593837375BB3B3D,$E549999499398550,$A718F71E13CCE1E2,$3E28E53B5C64E78E
   Data.q $8389EFD5F884FC42,$5593EA8A7CD14001,$A9C5C7D5B7AF57FD,$87EA9794C3A421BD,$001C9E9B7211BCDC
   Data.q $03EC4FC5DB617BEE,$FD27336C90A57E80,$7A3B84B0D616B576,$8F6B9B0CD1472CA8,$8CCDA6F5AF2D247D
   Data.q $9CECF2E9701D0E7A,$4EF7DD8B30565309,$5C6BDE9FF675FCCB,$A28E016A03569B5F,$63334D24CB4524F9
   Data.q $3F64DF565CF50E7B,$01867666D75AE7FE,$57E2BA8246A09591,$B63A308AA0908315,$12B2EF5558BC439C
   Data.q $77ECF22DF038D1A3,$51D923E3A8FEB311,$F50F3477A9C95D55,$39706F36A6D6C2EA,$73E3ADBC3FC74A70
   Data.q $A8303DEAE76D7A1F,$E72D67DE6CE9143B,$2588959F15D5525C,$6B5D6F3151A24A89,$866AD53B71D390C0
   Data.q $F8C2D6F6A0E5057A,$C66D4C9AC2AD6FCF,$700B00AECD41865D,$A1E13B375B52CFBC,$F25FD72F259C8EE1
   Data.q $439C8EF2D2E86EE3,$872436F87E9EC5FA,$609E7BC77267BDEF,$9DCEEFD57BF963CC,$FAD1D9FA340D99EE
   Data.q $CDCF53DB74981EB3,$8DC604180018CCF4,$DF5D7493F0CA75E9,$C5B35B8DC6F372B0,$4ADDDFE4C7BBD9EA
   Data.q $5B0805E7DA775F53,$126AB7D135E2C4E9,$6D4D59D5E430BFEF,$1E5062DB680E16AD,$39DF4D4F42FDD5C4
   Data.q $ACB8F21E6072A6F1,$E66B3805150FD968,$ADAC92CB3B77E7A3,$AAF27B6939CB2457,$70A8DE715D33CDD9
   Data.q $FCCB4E62FD21CE47,$39EC03BEF3779EF4,$7B000469D90E668C,$59FD02FCFD4E9BD7,$5C64F793F4F75F06
   Data.q $BFF1391ECFB38000,$E15198E56C72BB2E,$CDAFDBB8D1FCAE5B,$515EC344FCFA9FCE,$65D7E2120B4BCFB8
   Data.q $F4A5C3E04B53645F,$676958E932522182,$95EEC939D4F4CEEB,$694AA53FAD7FA9A1,$6662A44D6C773169
   Data.q $01741EDC99396126,$231EBAEC48B3F74E,$939D4F8CBEDB2756,$BF19DD9E3D6BF0AC,$003071E510516CAC
   Data.q $E7675D7307A18668,$933C4E16AF3ABDDC,$4BDDDB783DE74E6E,$7365345A4DC6789C,$1B20F473B543D07A
   Data.q $15150BDEADDF93FE,$D5F33B9CAC8CC7BD,$7EDFEBA2FD7FAF4B,$FF7179727F8F93FF,$B7FE2BB8C000A7A1
   Data.q $CDA8E1938052DAD3,$EC9771EF5F472483,$A998D75EE88C1710,$9F64BD23BAD896DD,$198EF60FCDE90964
   Data.q $F44379DD66637BEA,$84CD35152FB9FFB7,$30CDF381744858E5,$389A417D3A504B6D,$267948BB16D0F228
   Data.q $B58ED8BDF2738708,$63C2E0842001092F,$1C0CA60FFADEDA9C,$15CB31CF55CEF275,$C6DB45FD6B3CE3CC
   Data.q $F3FF3A0D43CD1CBF,$496557A1ABA3AA6C,$FDDEC86B9FE7B420,$BE224D7AF812AAE9,$439F8591BE90F17A
   Data.q $2D4D6D7FBAEE0445,$F8F70E70E2B1FCD4,$14005D453577D38B,$5616ED2DCE8BE3F6,$DBACF67307C55B6A
   Data.q $126B95D2C2F6FF2D,$F9BCA29EC6C497B3,$9CD9BF8AFD47FC75,$782A0023554CF2B9,$3B755FE719D41402
   Data.q $B8AACBFB18BCD2FC,$24F82FBB7B8AC570,$BF58738F2900D67E,$CF510459F39D9B18,$2BCB973DC45689A5
   Data.q $4830936993BDFDDF,$E4970E8287A9DC8A,$57149863E9295860,$4B75E08D07484114,$48802CDBCBC4B737
   Data.q $65838F3C7F6C666E,$A3C7E86278187399,$3C6ECE678B23D9C8,$92DC3FB82488D4F9,$AE35D6BB4739CFDE
   Data.q $634773B0333194DF,$9CC5358DEFD5E326,$10B0D49343094DFD,$9580D394EA124248,$022CE85B91A47D55
   Data.q $B17BE4E4472DADF5,$8E6F4D9DE416233E,$FF6C6E33F52A4B97,$1D2DDF6F14B397C8,$9E33997B6DD543CD
   Data.q $1E8EE766B4DACFED,$26BB3FBE476BEEF8,$ACB8AC359C672212,$47F1E42C969AE369,$396567F63BCE0B27
   Data.q $FA9B5ADDCB1C9258,$61657587C67B2BEC,$4FAE77331A6DA7E4,$2CF75697042812E8,$BA15CDAFB0DD1FDB
   Data.q $8F10415769526522,$C1490254250A8E5B,$EDF0C0483394EA32,$6C3EF29E5D2036AC,$62F7C9CE1F891450
   Data.q $3A938DD9FB4D965B,$78EACFACE3F74816,$9F4B0D77ED3A9F8F,$343985786ACFAA3F,$7CC7FD1757559FDB
   Data.q $6B7FDD8F5D80F869,$C3F0B63554CA13B7,$A608A2BFB258FFBD,$CC7A2F65C6D1E1FD,$A4C958E5959FD8E9
   Data.q $A6D6D434B8EF7193,$CD1F12CBE7D61325,$034185DCE4AF0C4F,$81695976AB470350,$3C44946A49EBBB2B
   Data.q $C915559291A0D586,$00ABCD90013E2B1C,$5759DABD5C354867,$E279707F57D63DAE,$B58655AAF7DCAFA2
   Data.q $31FF777317BE4E3C,$CACFA3A8214467AF,$9F28FE7999A6D88E,$DDEAC0FC9DEFB693,$ECD6F6EED61ABA30
   Data.q $C5BEF2CEED7A7EDA,$09FA48AE9F5857F3,$F6B91F47A9E04454,$36C7223D4F86DEBC,$39AEA6D47DB3D55D
   Data.q $50B5C2F9454DD2AA,$79329F52424A0DDD,$630DF4DAE6D0E0C8,$4591CAF9A4F8CFBB,$BA280A4F2399769B
   Data.q $1742F6817C4A6322,$BDAC10F916B65CE0,$7B9B9AD35E6C4FAD,$BE3C1489EEA5FD55,$6647F01C3071E50F
   Data.q $3627B3FA95ED392C,$E37CDCC46302D5E4,$52596BFCB75FE4FA,$332879E40F447D51,$69A5FD8F535B3496
   Data.q $847CDCF7506F6EF5,$BF9B37A9EC3582C4,$037B430A5FEC90D9,$11369FBBCEE34400,$789CA44EC72238DD
   Data.q $6F1CF2D33D244EDA,$413B2585280C2564,$E77C87B2A08C9096,$84647F3B14D1150D,$1141CCF706A6CA18
   Data.q $F640F44FDD75D555,$E54237BD3805063B,$EA559EBEE9EAF14E,$98F66846EC54379D,$F2643713EC7B7E92
   Data.q $256D22562902D938,$AB7E5145516B2B32,$4DA5A361C11FD64F,$B2879E6A292A9F10,$51C2F4BC96331912
   Data.q $8B8A4A032295CA83,$80C8A001AFDF7B7E,$D96CF84F7061DD81,$9F3E000FEE4E03AB,$70F90C427EEB9AEF
   Data.q $224E32DA7196DD8E,$0C17188E5DCA1DC9,$6BF9A047AB85F446,$C6155EBCF6418499,$47C8B4F232599C7F
   Data.q $CA0FE9E9AFBBB135,$0BDA3755544AA0FE,$143C9830F14E5474,$3D15F14E76E44AEA,$79EECFFC0C641F6F
   Data.q $DEB29391FC070C1C,$946C911581CEFE79,$13FF6B86E33CCEA3,$3799DE0008FEB200,$7BDDA3D9E9DCC67D
   Data.q $265D142FC8F43D96,$5D45949CA1E79286,$556579DF27446151,$F2FBABCF63D5E555,$FAFFCEADCD1E27D9
   Data.q $7E3E0F7BEB5EB3FE,$86FBBF6F83A1C0CB,$C722394FAA782741,$C0981CA7019CDB4D,$E156A70E8604141C
   Data.q $F3D825337D725521,$FDF930E126182229,$355850F5BD3EEA84,$16C8DD34443F8AFC,$906CA914FCA700A8
   Data.q $69D0FF526DB9C792,$57EF6C5E21CE3CE1,$7B795FABD3F1DD2F,$C054AB0E27C1B0EE,$5F1B139363E4FCDD
   Data.q $1AABEB9E596F9CE2,$FC3F371BB539C17D,$17EA171F5DC93DD4,$CF738AF26AC36E4B,$EBF1A8C8A79F6D88
   Data.q $8F608DEBBD2DA5DC,$ECABA1E5357F2222,$0172E8A4D12736D8,$3E0673947829C59F,$C9548615630D541D
   Data.q $208A6B89120B4E23,$EB9EA4D765D3D53E,$E9A192CB8C130E79,$98BF48738CC7C606,$FE389DCFB6766999
   Data.q $6897BB6DADBEE4AA,$0457E69CF65A6E06,$C23DDD77557DEDE7,$93AD1473F59B17E3,$50FE6C90DD372CFE
   Data.q $3FF968C6303630D5,$DB3F7D6BDD01A8A7,$C1326212A59C862F,$8C91C10318BCFB85,$265821415100AC85
   Data.q $7EE65520A6915748,$65166208C788F643,$481FFEEE1028C22A,$FFF9C36380083064,$C79EE73821098BC6
   Data.q $0804085CE71E1739,$0240201084B09061,$1FD5EECB76602100,$1C263E30895EADD5,$4D748FE063B4D159
   Data.q $CC3B6A2CFB7DFC20,$65840085CE528CA5,$644A8AA9AC8A2159,$669731002A9A2555,$6647158E30D531A2
   Data.q $288FE8EF9D31C8B8,$2CFB7DFE1AAA2E2A,$DAEDA6BB6D9975CF,$05C049A6B2AAACB6,$2032E025C4232046
   Data.q $20E431EED8E799C4,$9BA617B3F9F4D12B,$40D87DC8D4BA016B,$AB2F9DEE73EAB2FE,$53CBFED59F4BFFC6
   Data.q $5FFCE731C8497EF2,$DBD4767E0EA5411B,$444E454900000000,$826042AE
Fullend:
EndDataSection
Same problem, only sound no picture, if i add the following lines at the beginning of your code to open a "dummy video" first then the rest works like a charm.

Code: Select all

If (PathFileExists_(GetUserDirectory(#PB_Directory_Programs) + "Windows Media Player\Media Renderer\DMR_120.png"))
	mciSendString_("OPEN " + #DQUOTE$ + GetUserDirectory(#PB_Directory_Programs) + "Windows Media Player\Media Renderer\DMR_120.png" + #DQUOTE$ + " Type MPEGVIDEO ALIAS MCIDummyVideo_" + Str(Random(#MAXLONG)), 0, 0, 0)
EndIf

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:40 am
by RASHAD
Are your files h265(HVEC) or 4K?

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:41 am
by BarryG
novablue wrote:It shows an empty white window with correct resolution of the video and i can hear the audio.
Does the video start showing if you click and drag (or resize) the window while the media is playing?

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:50 am
by novablue
RASHAD wrote:Are your files h265(HVEC) or 4K?
It happens with any video format no matter what. the first video load will always just play audio, if i leave the handle to the first video open then all further videos that i load will play perfectly fine.
BarryG wrote:
novablue wrote:It shows an empty white window with correct resolution of the video and i can hear the audio.
Does the video start showing if you click and drag (or resize) the window while the media is playing?
No the first load attempt will always fail and just play audio even if i resize or drag it. And again XD if i leave the handle open and load the same video again or any other video after that it plays perfectly fine.

Re: How can i fix MCI Video playback on Win10?

Posted: Sat Oct 03, 2020 7:57 am
by RASHAD
Playing sound and no video looks to me it is a splitter problem
Make sure LAV codec is the merit (preferable codec)