• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

MovieBox 2.61

Started by Patrice Terrier, February 16, 2008, 11:38:29 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Patrice Terrier

MovieBox is the PowerBASIC translation of my C# zMoviePlayer.

This version uses the DirectX ActiveMovie.inc from José Roca.


Note: You must download and install the CCCP codec attached to this post before running MovieBox (and un-install first any other codecs before installing the CCCP codec)


MovieBox playing a 1920 x 800 MKV HD movie in composited mode on Windows 7:





To play a movie, just use drag & drop from the Explorer onto the MovieBox, or click on the play button to open the file dialog selector.

MovieBox adjust its size to the real size of the video being played, however you can drag the borders to resize the window as you want.

If you encounter a problem while playing a movie, most of the time this is because you are not using the good codec.
There are plainty of Codec packages on the Internet, thus you should be able to find the right one on a dedicated web site.


See below the attached MovieBox2.zip from 08-09-2011

History:
Date       Version
01-31-10 2.61 - Use TextRenderingHintAntiAlias with font when running in DWM mode + new codec pack.
06-05-09 2.60 - Added SnapShot feature (JPEG, BMP, TIFF).
02-07-09 2.50 - Added FLV support.
08-13-08 2.50 - Reworked to work with the latest Skin Engine and the brand new PB9 compiler (with source code and CCCP codec).
04-19-08 2.00 - HD movie detection has been improved, and true video size shown on status bar.
04-12-08 2.00 - Release of version 2.00, with new GUI and support for HD MKV format (matroska).
02-25-08 1.04 - Quick launch by dragging movie icon onto MovieBox desktop short cut.
02-24-08 1.03 - Added "full screen" mode button.
02-18-08 1.02 - XP version has been reworked for better integration of the "Active Movie Window" inside MovieBox.
02-16-08 1.01 - Version compatible XP
02-15-08 1.00 - Initial version for VISTA


Version 2.60+ is using the PB9 compiler it is provided with:

- Complete PB9 source code using low level DirectX API
- Dedicated include file to work with the PB9 compiler.
- Embedded CCCP codec that must be installed first.
- Latest Skin Engine with additional backgrounds.


About the MovieBox status:

This is a "participative project" (french definition: "projet participatif"), it means you can contribute with new themes, code enhancements, documentations, feedback. And all contributions must be posted there for the benefit of the members of this forum.

Things that you are not allowed to do:
Change the name of the project, change the logo without prior agreement, alter a theme without prior agreement, produce any derivated SkinEngine from this project.
And of course do not change or alter the copyright.

8) ...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Kent Sarikaya

I just saw this today Patrice, good luck with it. There are so many video codecs out there, I am sure it can keep you busy for some time to come. Good luck!

José Roca

 
I'm interested. Although I haven't expertise in graphics programming, I can help if you have problems with the wrappers or need additional wrappers.

Petr Schreiber

Hi Patrice,

thanks for new version, works perfectly!

I have one idea - would it be possible make a switch for fullscreen mode too ( no GUI, just video )?


Bye,
Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Patrice Terrier

--Petr

Quotewould it be possible make a switch for fullscreen mode too ( no GUI, just video )?

Yes, it is on my list (see zMoviePlayer).

But so far I am figthing with the difference between XP and VISTA to produce a code that would run fine on both versions, XP is such a real pain compared to VISTA.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

Version 1.02

- XP version has been reworked for better integration of the "Active Movie Window" inside of the MovieBox.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Kent Sarikaya

Patrice you did it! It is working perfectly so far. I am happy the Fullscreen option that Petr mentioned will be coming in the future.

Patrice Terrier

MovieBox has been updated to version 1.03.

Added a new button to switch the display to full screen mode.

Latest zip file attached to the first post of this thread.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

MovieBox has been updated to version 1.04

New features:

  • Support for dragging the movie onto the quick launch icon (short cut) like in BassBox.
  • Now you can restore from maximized using double click on caption bar.

Latest zip file attached to the first post of this thread.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Kent Sarikaya

Thanks Patrice works very nicely. Many of the players for watching video don't respond to the play and pause button on my keyboard but your player responds very nicely :)  Thanks.

José Roca

#10
 
Hi Patrice,

Attached to this post you will find wrapper functions for the IMediaSeeking interface and my translation of the uuids.h include file.

The IMediaSeeking interface contains methods for seeking to a position within a stream, and for setting the playback rate. The Filter Graph Manager exposes this interface, and so do individual filters or pins. Applications should query the Filter Graph Manager for the interface.

The Filter Graph Manager distributes any IMediaSeeking call to each of the renderer filters in the graph. The renderer filters send the call upstream to the source filters. This sequence of events ensures that all streams remain synchronized. If any of the distributed calls returns an error, the Filter Graph Manager returns the first error value it received, even if some of the distributed calls succeed. An exception is E_NOTIMPL: the Filter Graph Manager does not return E_NOTIMPL unless it was returned by all of the distributed calls.

An application can seek the graph while the graph is in any state (running, paused or stopped). If the graph is running, the Filter Graph Manager pauses the graph before it issues the seek command. Then it runs the graph again. All seeking operations are independent of the current playback rate. Seeking operations cause any pending media data to be flushed from the graph.

For all IMediaSeeking parameters that specify time, the unit of time depends on the current time format. To set the time format, call the IMediaSeeking::SetTimeFormat method. Time formats are globally unique identifiers (GUIDs) defined in uuids.h.

Time Format GUIDs

The following globally unique identifiers (GUIDs) define different time formats.


GUID                 Description
----------------------- --------------------------------------
TIME_FORMAT_NONE No format.
TIME_FORMAT_FRAME Video frames.
TIME_FORMAT_SAMPLE Samples in the stream.
TIME_FORMAT_FIELD Interlaced video fields.
TIME_FORMAT_BYTE Byte offset within the stream.
TIME_FORMAT_MEDIA_TIME Reference time (100-nanosecond units).


Patrice Terrier

--José

What is "ksuuids.inc", i don't have it.

What do you think would be the best $TIME_FORMAT _xxx to use, to be compatible with IMediaPosiion put_CurrentPosition?
$TIME_FORMAT_MEDIA_TIME ?

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

José Roca

 
I have uploaded ksuuids.inc and a new uuids.inc.

I'm sorry but can't help you about the time format. I never have used the IMediaSeeking interface.

Patrice Terrier

QuoteI'm sorry but can't help you about the time format. I never have used the IMediaSeeking interface.

No problem, i have been able to make it works, and dixit MSDN:
$TIME_FORMAT_MEDIA_TIME is the default value.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Patrice Terrier

#14
Attached to this post you will find the complete source code of the MovieBox MCI version.

It is based on my MMengine.dll (source code is also provided).

I drop MCI myself in the year 2000 in favor of the low level API, but my MMengine coud be useful for trivial tasks.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com