Author Topic: DreamMovie  (Read 52381 times)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #60 on: January 21, 2017, 11:38:44 am »
Mike

The switch has been fixed and put into the resource folder, however i have used another one for the official version.

I have also fixed several small issues when switching between the different media modes, and solved one z-order problem.
Added a couple of new backgrounds, and reworked some of the interlude animations.

I have attached the latest source code there.
« Last Edit: January 21, 2017, 11:40:38 am by Patrice Terrier »
Patrice
(Always working with the latest Windows version available...)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #61 on: January 24, 2017, 03:42:27 pm »

Mike--

I have updated the project to support D&D of ani_png.

Note: While they can be used as "Interlude", they are not saved into the "Resource" folder, meaning you can use them only during the current session.

Try with the attached ani.

Patrice
(Always working with the latest Windows version available...)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Oscilloscope
« Reply #62 on: January 30, 2017, 07:37:03 pm »
Mike--

I am starting to work on the next version (the one with 64-bit OpenGL plugins).

First thing i have added recording sound capture to display a FFT of the audio flow.
There are some latencies, because WIM data generally arrive from the recording device in blocks rather than in a continuous stream,
while this seems acceptable on my computer, i have no idea of what it could give on yours.

Thus i am looking forward for your feedback, thank you!

Note: while the Oscilloscope would work also with a movie sound track, it is enabled only with regular audio files.

In full screen mode the Oscilloscope widget stay always visible (no vanishing).

The 64-bit plugins will give us the opportunity to check new effects functions, that we could use also in ObjReader (to achieve post-processing).

...

« Last Edit: February 06, 2017, 08:49:30 am by Patrice Terrier »
Patrice
(Always working with the latest Windows version available...)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #63 on: February 01, 2017, 02:04:30 pm »
Adding audio support for
.ogg, .aif, .cda, .mo3, .it, .xm, .s3m, .mtm, .mod, .umx.
altogether with extra DirectSound capabilities.

...
Patrice
(Always working with the latest Windows version available...)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #64 on: February 05, 2017, 05:23:13 pm »
Big update done to the project.

Learn more here.

...
Patrice
(Always working with the latest Windows version available...)

Michael Lobko-Lobanovsky

  • Administrator
  • *****
  • Posts: 1481
Re: Oscilloscope
« Reply #65 on: February 08, 2017, 10:13:24 pm »
Thus i am looking forward for your feedback, thank you!

Sorry for my prolonged silence, Patrice. You probably wouldn't believe me but I'm still in the process of refurbishing my workstation and it is only temporarily and for short time periods that this or that one of its constituent PCs is in full working order. One of the major upgrades will be a brand new 27" full HD monitor to ease up the stress my older 22" monitors are causing to my aging eyesight; but that one is going to arrive by the end of the month only. In the meantime, I'm replacing my older hard disks with new ones and also rearranging the overall disposition of numerous pieces of HW and furniture the workstation is composed of.

Nonetheless I'm going to DL your latest binaries right away and I'll come back with my feedback if I see anything unusual about their intended behavior. Thanks for your patience! :)
Mike
(3.6GHz Intel Core i5 Quad w/ 16GB RAM, nVidia GTX 1060Ti w/ 6GB VRAM, Windows 7 Ultimate Sp1)

Michael Lobko-Lobanovsky

  • Administrator
  • *****
  • Posts: 1481
Re: DreamMovie
« Reply #66 on: February 09, 2017, 03:49:52 am »
Big update done to the project.
Learn more here.

OK here are my observations:

1. x64 Win 7 Ult Sp1/ASUS MB/i5 quadcore @3.6GHz/2 x nVidia GTX 550Ti/wireless mouse and keyboard

-- Audio files sound OK, woofer and spectrum alive;
-- Video files windowed mode OK, full screen KO: when video comes to an end, both cursor and HUD remain invisible and the app needs a restart to get access to its controls again. (I refuse to debug this glitch myself because your sources available on the site do not match the latest public binaries ;) )

2. x64 Win 10 Pro AE/ASUS MB/i5 quadcore @3.1GHz/2 x nVidia geForce 8600 GTS/USB mouse and keyboard

-- Audio files sound OK, woofer dead, spectrum invisible;
-- Video files all modes OK.

3. x64 Win 7 Ult Sp1/ASUS MB/AMD Sempron single core @2GHz/AMD ATi Saphire Radeon R7 240/USB mouse and keyboard

-- Audio files sound OK, woofer dead, spectrum invisible;
-- Video files all modes OK.

4. Ani-PNG D&D is OK everywhere.

5. Static image D&D leads to the spinner staying permanently visible/unkillable everywhere.
« Last Edit: February 09, 2017, 03:58:33 am by Michael Lobko-Lobanovsky »
Mike
(3.6GHz Intel Core i5 Quad w/ 16GB RAM, nVidia GTX 1060Ti w/ 6GB VRAM, Windows 7 Ultimate Sp1)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #67 on: February 09, 2017, 10:10:09 am »
Mike--

Thank you for your detailed feedback much appreciated !

Here is the latest source code + binaries i am working on, to make sure that we are dealing with the same version.

Currently i am working on the plugin code section, however this part of the code is disabled until i have converted at least one plugin to 64-bit.

Looking forward to your feedback to see if this version works better than the one you have (in video mode, cursor and hud should now restore properly).

Added:
In the HideVideo procedure, please remove
if (IsWindowVisible(gP.hVideo)) {
this is a mistake.

Here is the good one
Code: [Select]
void HideVideo() {
    if (ZD_GetObjectAngle(ID_VIDEO_ZOOM) > 0) { gP.pPlayer->SetZoom(1.0f); }
    ZD_ShowGauge(ID_VIDEO_ZOOM, FALSE);

    //ZD_DeleteObject(ID_VIDEO_SIZE);
    ZD_SetObjectVisibility(ID_VIDEO_SIZE, FALSE);
    SetWindowText(gP.hMain, EXEcaption());
    if (IsWindowVisible(gP.hVideo)) {

        ShowWindow(gP.hVideo, SW_HIDE);

        //EnableWindow(gP.hMute, gP.bMediaLoaded); SendMessage(gP.hMute, BM_SETCHECK, gP.bMediaLoaded, 0);
        ZD_SetObjectHidden(ID_BTN_MUTE, ZS_INACTIVE); // 2 = Transparent, its ID won't be detected and it couldn't be moved.
        ZD_SetObjectFrameToUse(ID_BTN_MUTE, 2, FALSE);

        ZD_SetObjectHidden(ID_BTN_LOOP, ZS_INACTIVE); // 2 = Transparent, its ID won't be detected and it couldn't be moved.
        ZD_SetObjectVisibility(ID_BTN_LOOPING, FALSE);
        ZD_SetObjectFrameToUse(ID_BTN_LOOPING, 1, FALSE);
        ZD_SetObjectFrameToUse(ID_BTN_LOOP, 2, TRUE);

    }
}

Quote
5. Static image D&D leads to the spinner staying permanently visible/unkillable everywhere
This one has not been solved yet, i am working on it.
...
« Last Edit: February 10, 2017, 06:42:47 pm by Patrice Terrier »
Patrice
(Always working with the latest Windows version available...)

Michael Lobko-Lobanovsky

  • Administrator
  • *****
  • Posts: 1481
Re: DreamMovie
« Reply #68 on: February 09, 2017, 05:33:36 pm »
No Patrice,

In config #1, the HUD still remains invisible when the video ends and the viewport jumps from its full screen mode back to the default window size. The cursor is visible only as long as it stays outside the window and disappears when entering it. The hidden HUD controls however seem to be responsive to this invisible cursor, and I can pop up the File Open dialog if I click intuitively someplace where the Run triangle should've been. I can also close the app clicking the [X] button that lights up red when the invisible cursor "hovers" over it.

This HideVideo() routine doesn't seem to have any means to show anything. It hides everything all right, but where's the code that actually brings it all back on screen when the video ends? Is it explicit or hidden somewhere in the libraries?

Again, configs #2 and #3 still don't exhibit this weird behavior...
Mike
(3.6GHz Intel Core i5 Quad w/ 16GB RAM, nVidia GTX 1060Ti w/ 6GB VRAM, Windows 7 Ultimate Sp1)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #69 on: February 09, 2017, 06:43:26 pm »
Argh!

The problem is with Media Foundation that works in assynchrone mode, while DirectX works in synchrone mode.
And the way to hide show the cursor is a true nightmare.

This is the code that is responsible to restore the cursor visibility as well as the widget controls.

Code: [Select]
       
        // Make sure to restore the alpha channel of the widget control panel content
        gP.AlphaEffect = 0;
        if (ZD_GetObjectAlpha(gP.controlID[0]) < 255) {
            Show_Cursor(); ChangeCtrlAlpha(255);
        }
Patrice
(Always working with the latest Windows version available...)

Michael Lobko-Lobanovsky

  • Administrator
  • *****
  • Posts: 1481
Re: DreamMovie
« Reply #70 on: February 10, 2017, 05:58:51 am »
The problem is with Media Foundation that works in assynchrone mode ...

Patrice,

I think that regardless of synchronicity, the HUD and cursor should simply be forced visible unconditionally every time the window changes its size. It would look like a programmatic crutch because it doesn't fight the very cause of the glitch but it is perfectly logical functionally and it would produce the exact effect we desire on all the HW configurations in question.

8)
Mike
(3.6GHz Intel Core i5 Quad w/ 16GB RAM, nVidia GTX 1060Ti w/ 6GB VRAM, Windows 7 Ultimate Sp1)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #71 on: February 10, 2017, 10:02:31 am »
I am fighting with another problem when there is a mixing of several media type within a single playlist D&D.

MEDIA_IMAGE
MEDIA_VIDEO
MEDIA_AUDIO
MEDIA_AUDIO_BASS

I had to write this, to wait for full completion of asynchronous MF process

Code: [Select]
void STOP_MFP() { // Have to do this because MFP is asynchronous
    MSG msg = { 0 };
    if ((gP.media == MEDIA_VIDEO) || (gP.media == MEDIA_AUDIO)) {
        gP.stopmfp = 1; (void)gP.pPlayer->SetPosition(gP.duration);
        while (GetMessage(&msg, NULL, 0, 0)) {
            if (gP.stopmfp == 0) { break; }
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        if (msg.message == WM_QUIT) { gP.stopmfp = BAIL_OUT; }
    }
}
Patrice
(Always working with the latest Windows version available...)

Michael Lobko-Lobanovsky

  • Administrator
  • *****
  • Posts: 1481
Re: DreamMovie
« Reply #72 on: February 10, 2017, 10:21:38 am »
I had to write this, to wait for full completion of asynchronous MF process

Ha yes,

It is high time to write a DOEVENTS procedure or macro into you BASIC Tools include file.  :D
Mike
(3.6GHz Intel Core i5 Quad w/ 16GB RAM, nVidia GTX 1060Ti w/ 6GB VRAM, Windows 7 Ultimate Sp1)

Patrice Terrier

  • Administrator
  • *****
  • Posts: 1983
    • zapsolution
Re: DreamMovie
« Reply #73 on: February 11, 2017, 03:55:53 pm »
Mike--

Here is a new build, i hope all issues have been fixed in it.

In this version i have added also my first 64-bit "LaserBeam" visual plugin for test purpose.

I shall provide soon the 64-bit plugin source code, in case you want to write one ;)

...
« Last Edit: February 12, 2017, 03:42:02 pm by Patrice Terrier »
Patrice
(Always working with the latest Windows version available...)

Michael Lobko-Lobanovsky

  • Administrator
  • *****
  • Posts: 1481
Re: DreamMovie
« Reply #74 on: February 12, 2017, 01:37:53 pm »
Hi Patrice,

Well done! The config #1 issue seems to be gone now. :)
Mike
(3.6GHz Intel Core i5 Quad w/ 16GB RAM, nVidia GTX 1060Ti w/ 6GB VRAM, Windows 7 Ultimate Sp1)