Activemovie glitches

I've recently upgraded to Visual Studio 2005, from Visual studio 5, which was designed for Windows 95.

I have a piece of software, "The DeeSampler" which uses Activemovie to display AVI movies triggered by Midi messages, it's available on my website www.deelong.com.

After porting it to the new compiler, everything works great except the AVI files flicker when I send any kind of command to the video window such as SetCurrentPosition(), or SetRate(); I've tried compiling in Win 95 mode, and Win XP mode, no difference.

In Visual Studio 5 I added the CActivemovie3.cpp object which simplifies opening a video window, and it works great, just not so smooth in the new compiler. Everything else works fine, so it's going to be frustrating to have to find some more up to date way to display the video clips. It's not in winmm.dll because the old version of the DeeSampler works fine on Win XP, and shares the same dll.

The version compiled on the old VStudio 5 is flicker free. I am linking WINMM.LIB, and I tried going back to the older WINMM.LIB file but that doesn't make any difference. Does anyone know where the routines for Activemovie actually lie I figured it must be WINMM.LIB, and the old version from 1996 is 176k while the new version is only 46k, so changes have been made. Am I looking in the wrong place

Any help would be very much appreciated! Seems a shame to have to stick with the old system for just this one problem.




Answer this question

Activemovie glitches

  • Nicolas V

    I think you are looking into a wrong directoin. The WINMM.LIB is just an import library. AFAIK there is a minimum of code in it. You can look at it with DUMPBIN.

    I think something in the generated code changed. When you ported from the old VS with the new compiler a lot of things changed. for loop conformance and other things. This might affect your new code.



  • Gomathi Sarma

    Thanks, it helps to know where not to look!

    It looks as if the window briefly closes then opens again. In the old version I was using GetSafeHwnd() and SetParent() to make the video window a child window of a black background window. That no longer works and causes an exception, so I changed it to make the video window a child window when created, which does work. The video window has a null window handle, in both versions, yet both GetSafeHwnd() and SetParent() work in the old version and not in the new, even with a null Hwnd. I just never noticed it.

    Nothing else has been changed in my code, except substituting strcpy_s for strcpy, elsewhere in the code. Maybe they fixed a bug, and that messed me up.

    I am baffled. I'll try again tomorrow. Thanks for the help



  • Matthew deWet

    There might be a problem in clipping and drawing the child windows client area. Are you sure that the parent windows does not draw its cleiant area because its completely filled byt the child

  • Activemovie glitches