Jump to content


Photo

Gmmovie Dll - Extended Audio And Video Playing!


  • Please log in to reply
151 replies to this topic

#1 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 29 August 2004 - 02:14 AM

Here's my newest DLL: the GMMovie DLL. This DLL allows extended possiblities of playing audio and video files in your games (although i don't really reccommend it for audio files, there's better DLL's for that.) It includes functions to show them (audio files are blank) either in your game or in an external popup window. This DLL won't pause your game while its playing, great for trailers, etc that may do other things while playing a cutscene. It's a little hard to explain, just download it and try it out! Its only 21kb. Download here: http://ravotus.nfshost.com/GMMovie.zip It's just in its beta stage right now so it may have bugs. Also I kinda hurried through the help file so if you find any errors please report them also. Ok well enjoy! :) One thing: This uses MCI so you could do it directly from Game Maker. However, I am not sure about speed imporvment but this is also easier and is well documented. Generally things with DLL's are faster so I think this could be faster but I'm not sure. Just please don't go around saying you could do most of it with MCI. If you know you can, then go make your own scripts, etc. ;)

Edited by Ravotus, 21 February 2012 - 02:56 AM.

  • 0

#2 ih8censorship

ih8censorship

    GMC Member

  • New Member
  • 165 posts

Posted 29 August 2004 - 10:28 PM

you know whats funny? for a long time people complained about the crappyness of gamemakers movie player, and now they got a dll that fixes the minor problems (i know from what i told Nintendofreak88 that there are also things you cant do from the mci commands in gml) and from what ive seen its a ton easyer to use than mci commands. just thought id say that.
  • 0

#3 Shaltif

Shaltif

    The Audio Master

  • Retired Staff
  • 1185 posts

Posted 30 August 2004 - 03:29 AM

Glad to see this finally come available, I really need something like this for my next media player (SXMS Player 3.0). Hopefully, I can get video support to be just as good as my audio support.

Keep up the good work, and keep me informed on any changes / progress (as you said, it's kinda in a beta stage). I'll let you know if I find any issues when I start using it in my player.

the only thing I need to figure out now, is to get DVD player :blink: (without using Xception's DVD dll, so please don't post about recommending that one)

If you can figure that out nintendofreak88 (I've tried for quite some time, but you seem to know a bit more than me in C++ when it comes to video), that would be a great.

~Brandon

Edited by Shaltif, 30 August 2004 - 03:33 AM.

  • 0

#4 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 31 August 2004 - 12:27 AM

Thanks for the great comments guys! As far as the dvd thing goes, Shaltif, I think that would be fairly hard. I think you could access the data on a dvd like any other drive in C++ or Assembly, but I'm not sure. I can check on that a bit more.
  • 0

#5 ih8censorship

ih8censorship

    GMC Member

  • New Member
  • 165 posts

Posted 31 August 2004 - 12:41 AM

for the dvd thing you could probly find something on sourceforge and wrap it for gm.
  • 0

#6 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 31 August 2004 - 11:45 PM

Well I have one question. Do you mean DVD player like executing files on a DVD or is there a special format for DVD's? (Like .cda for cd's)
  • 0

#7 Nipa

Nipa

    Ruler of Game Maker

  • New Member
  • 72 posts

Posted 01 September 2004 - 01:01 AM

Yes,

I don't remember it but look for it....

Nipa
  • 0

#8 MaJoRa

MaJoRa

    GMC Member

  • New Member
  • 71 posts

Posted 01 September 2004 - 10:18 AM

The format is .vob
  • 0

#9 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 01 September 2004 - 09:07 PM

Alright thank you I'll look into how to do this? BTW is there anything that needs to be improved on this DLL it doesn't seem to be very popular at all and I'm wondering what i'm doing wrong... :o
  • 0

#10 zzzchristian

zzzchristian

    GMC Member

  • New Member
  • 42 posts

Posted 03 September 2004 - 12:23 AM

i see a media player coming :P :)
  • 0

#11 MaJoRa

MaJoRa

    GMC Member

  • New Member
  • 71 posts

Posted 03 September 2004 - 11:24 AM

You are doing nothing wrong, i used it for a hile, the problem is i know how to do all of these with MCI_command, so i gave up, maybe thats why a few people arnt using it, maybe if you added something extra to it that MCI_command() cant do more people might download it.....
  • 0

#12 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 03 September 2004 - 09:14 PM

i see a media player coming

Nah, I use SXMS.

if you added something extra to it that MCI_command() cant do more people might download it.....

Hmm well I don't know what else to add... I do know a fair amount of api and c++ in general so if you know of something in perticular just ask.
  • 0

#13 fallen^angel

fallen^angel

    mperedimas the great

  • New Member
  • 66 posts

Posted 04 September 2004 - 08:16 AM

I just downloaded the dll..i'll edit in a few hours because i can't check it right now.....

However since u guys seem to know about MCI could someone help me ?If yes plz pm me
I dont want something simple like MCI_command('pause all') but something really complex...

ok i checked it

It sucks :) no j/k

It is really good and it has a lot of options that are not available in gm ...

I really liked it.Keep up the good work and don't give up this project :(
  • 0

#14 zmaj

zmaj

    GMC Member

  • GMC Member
  • 327 posts
  • Version:Unknown

Posted 28 September 2004 - 07:54 AM

zmmaj@ptt.yu

:mellow: :ph34r: REPORT FROM SERBIA ABOUT GMMovie Dll...
Hi...I try this thing...Work wery good,but???
Now look this:
*.vob some *.avi-es playing well, mpeg2/3(DivX2 and DivX3) playing well...I took about video formats...
But any format with harder compresion,playing tooooo quick ,without sound...
I was trying everuthig,but I can't solved this problem.
I't is posiblle , to inplement subtitle in moovie, only if you play movie on GM window and put some place for subtitle down...
My question is...Why this playing so slow. I was try on Win98(AMD 500 Mhz-terrible ; AMD 2000+ playin very bad... with one bug...After couple minutes picture come smoutlles...And just look what procesor do...98 - 100% ocupate with this dll...)
Similar things was repeat on other OS (WIN 2000 ; WIN XP-Pro ; )...On every of these OS procesor work with maximum own resources...Why???, And How to limit this to 20 - 30%...
Thanks !!!

P.S. I have not my site but...If you interesed i can send to everyone my own ZMAJ Player who work only with this dll...With subtitles,of course...
Everuthing is on my language but I hope you will understand the code...
Of course any messages of player you can changing on script "srpske_poruke"if you translate these messages on your language...
All program with free code is about 1Mb on zip format...

Edited by zmaj, 28 September 2004 - 08:34 AM.

  • 0

#15 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 28 September 2004 - 11:15 PM

That's Windows' problem. This DLL just uses MCI, so everything is played through Windows. If it doesn't work, sorry, but I can't do anything about it.
  • 0

#16 SSNautilus

SSNautilus

    S.S.Nautilus

  • New Member
  • 137 posts

Posted 11 October 2004 - 02:50 AM

Very nice. :lol: I've tested it within a GM game, and it opens and autoplays nicely in any coordinates/size given. And the game continues playing as well. ;) (I haven't checked it with views[] yet, but I think it should be able to handle that correctly.) ^_^

Two things I noted:
(1.) It does not auto 'close' when the video ends.
(2.) It does not 'follow' an object when given dynamic x,y coordinates. (eg. GMMovie_SetPosition(sampleMovie,mouse_x,mouse_y); )

It starts at the relative coordinates and stays there during the step event. This would be nice if it could be allowed - so we could have 'animated' videos come floating in. (eg. Powerpoint).

Question: Will it work with dynamic SetSize()? I haven't tried that either - so we can 'scale' the video as needed. Useful. :(

Glitch: When I skip the question "Do you want to open it in a new window?" And allow it to play directly if file exists, then the video opens (for 1 frame - or duration of LOADING of the movie file!!) at its original size, and THEN resizes and sits itself in the x,y coordinates I had defined ) and causes a glitchy jump. Not good if we are to play ingames movies. Cannot show something 'jumpy' onscreen whenever a video is to be played. (eg. Mech Commander 'comms' (mission transmissions) chatter in a specified view while game is being fought!)

Please set it to 'load' in background if possible.

Overall - fantastic. :D MUCH needed by the GM community. :) Thanks. And keep up the great work. :)

Edited by SSNautilus, 11 October 2004 - 02:57 AM.

  • 0

#17 Shaltif

Shaltif

    The Audio Master

  • Retired Staff
  • 1185 posts

Posted 11 October 2004 - 03:05 PM

SSNautilus, the first suggestion can be done easily already. Just check it's progress in a step or alarm, when it is complete (or 100% done) then you can use the close function.

The video your seeing is actually it's own window being cast over or embed into the GM window. If you ever noticed, if you right-click a video being played, you get the MCI default video options.

You probably could get away with making your own "dynamic" set position if you knew the window_handle of the video window. Then using some WinAPI manipulation, have the video move. I'm not sure tho if that would work when "inside" the GM window.

I never noticed the glitch you spoke of. Try setting it's position, size, etc before playing the file. This should fix that "glitch".

As for loading in the "background", I don't see that being possible...

~Brandon
  • 0

#18 Blijbol

Blijbol

    Happy business

  • GMC Member
  • 313 posts

Posted 11 October 2004 - 07:43 PM

Great job! Be proud of your DLL! This is exactly what I needed to finish my media player. I had seen many audio dll's, but no video ones before.
  • 0

#19 SSNautilus

SSNautilus

    S.S.Nautilus

  • New Member
  • 137 posts

Posted 12 October 2004 - 12:34 AM

In the code of the STEP event, change the first case/switch segment to:

switch(choice){
  case 0:
   file = get_open_filename("All Files (*.*)|*.*","");
   if(file_exists(file)){
     sampleMovie = GMMovie_Load(window_handle(),file,"");
     GMMovie_SetSize(sampleMovie,50,50);
     GMMovie_SetPosition(sampleMovie,0,0);
     GMMovie_Play(sampleMovie);
    }
   }
  break;

Specify a video file (much) LARGER than 50x50. You'll see that a window first appears which is BLANK and is much larger, and then it switches to the 50x50 size. Basically, it stays blank till the file is completely loaded. This should be done in the BG - preferably without causing any 'hiccups' in GM.

Thanks.
  • 0

#20 Rune Hunter

Rune Hunter

    GMC Member

  • New Member
  • 317 posts

Posted 12 October 2004 - 01:15 AM

Good job Nintendofreak88! Keep up the good work!
  • 0

#21 zmaj

zmaj

    GMC Member

  • GMC Member
  • 327 posts
  • Version:Unknown

Posted 01 November 2004 - 11:04 AM

^_^ HI...Here I am again...

Now take look ...
If you simultaneosly play GMMovie_Play(movie) (only video...very important thikg is to set volume to 0 GMMovie_SetVolume(movie)) and sound separately thry
SXMS.dll (SXMS_C_Play) you will be ablle to watch DivX format movies...

Also very important is to put volume back (to 1000) after finising movie
thry GMMovie_SetVolume(1000,movie)becouse when you set volume to zero(0)
you set on main mixer of your computer WAVE out to zero(0)

Of course you mast to have some DivX codec(I have last Divx-pro and ffd-show)

I was sad before that DivX movies run to faaaast and without sound
This is simply solution to catch the rabit...!!!???
Gretings from ZMAJ
Http://zmmaj@hotmail.com
  • 0

#22 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 01 November 2004 - 01:28 PM

Thats interesting although I've already played movies encoded with the DivX codec on GmMovie without SXMS... But yeah you have to have the codec.
  • 0

#23 zmaj

zmaj

    GMC Member

  • GMC Member
  • 327 posts
  • Version:Unknown

Posted 03 November 2004 - 08:10 AM

[quote name='Nintendofreak88' date='Nov 1 2004, 01:28 PM']
Thats interesting although I've already played movies encoded with the DivX codec on GmMovie without SXMS... But yeah you have to have the codec.
:skull:
I am just think...
Does nobody know how to wrote one dll for DivX format...
I don't know C++ even tip,but someone who knows C++ culd see
how that work on everu LINUX sites...They have all on free code...
(even I have free DivX code wroten on C ++)but I don't know how to
using them on GM...

Gretings ZMAJ
  • 0

#24 Sindarin

Sindarin

    Indie Game Developer

  • New Member
  • 1644 posts
  • Version:GM:HTML5

Posted 03 November 2004 - 09:56 PM

Ehh...sorry to say it but.. it sucks..at least for me.
Okay,I'll state my reasons.
-It just summons mci commands
thus if you lack codecs,you can't play movies
-Some mci commands do not work
-If you right click on the movie a context menu appears
with the mci actions
-The cursor it's shown
-When you zoom in then sometimes you can't zoom out.
-There's no command to add a movie control/slider?

sorry for being hard..

Edited by kio, 03 November 2004 - 09:57 PM.

  • 0

#25 Shaltif

Shaltif

    The Audio Master

  • Retired Staff
  • 1185 posts

Posted 04 November 2004 - 02:49 AM

It extends GM in an area that is still lacking, and that is all that matters :)

Actually, a few of your "points" can easily be corrected.

If you lack the codecs, you can easily get them. The internal GM video functions also require the user to have the correct codecs installed. So this isn't really a factor, since your only alternative to display video is GM itself, which has the same issue.

So far, all the MCI commands I've tested worked fine. I'm using this in my SXMS Player 3.0 and done quite some testing with it. If you could explain which functions aren't "working" I assume NintendoFreak88 (and myself) would greatly appeciate it.

This has been taken care of (in a future release). I'm not sure if NintendoFreak88 released this version yet or if he is still making updates, but the user will have the ability to "shut off" this default menu.

It depends on the "enviroment" whether the cursor being shown is a bad thing. In my media player, having the cursor display is a plus. Having the cursor display isn't a huge problem. If the user wants to see the image, just move the cursor aside, that simple.

I haven't had any issues with the zoom feature, and I've done many tests with it. Could you explain in more detail how you caused this issue to occur?

You can easily make your own "controls" or "slider" in GM. The nice thing about this dll is that it actually gives the ability to have the video display in the actual GM window. And by using the return functions, you can easily make your own "interface". In the SXMS Player 3, you control the video the same way you control all the other media, so the video having it's "own" controls or slider would look out of place. (Just an example)

Conclusion:

So I wouldn't go as low as saying "it sucks". Instead, try something a little more contructive (ex: It's a good idea and it has potential, but here are a few points I thought could be improved) or something of that nature.

There are two things I would like to see in a future release, and that is the ability to set the video to fullscreen with a function call rather than having to set the video's size to match that of the screen and set the window (GM's or it's own) to "Ontop". And the ability to switch from embeded to it's own window (and vise versa) on the fly.

A very good job NintendoFreak with the current product. I am happy to say it works great in my media player setting. Now if I can just get DVD support to be just like this movie dll :chikin

~Brandon
  • 0

#26 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 04 November 2004 - 02:57 AM

Lol thanks for the nice comments Shaltif and for defending me (I owe ya one!) I really didn't think people cared about this anymore. I might release the new version (or add some more stuff) if people are still actually interested
(shaltif I might try to get that other stuff done for you anyway.)
  • 0

#27 digitalwar

digitalwar

    GMC Member

  • New Member
  • 321 posts

Posted 04 November 2004 - 01:07 PM

Hey , the dll is great , it has good use !! I'using it i my RTS game , but I have a question :
Can you please tell me if it is possible to make a dll that lets you play avi files in the background , in sead of using large gif files ?
  • 0

#28 Sindarin

Sindarin

    Indie Game Developer

  • New Member
  • 1644 posts
  • Version:GM:HTML5

Posted 04 November 2004 - 03:14 PM

okay.. not anyone wants this dll for a media player, so the cursor is a minus to me
(While I was playing Resident Evil 2 [commercial game] yesterday I noticed that in videos no cursor was shown?)

When I opened a clip of Silent Hill I zoomed and zoomed in and I wasn't able to reach the main options anymore so to Play Stop n Stuff.

That the in-built Video Player of gm needs the codecs too,yes that's true.
but why then don't you make a dll that it doesn't need them,it just supports
internally mpeg,avis,wmv and any other format just like the jmod dll?


Plus I don't need the context menu when I right click on the movie.

Ah, yes a detail on your dll's version information you write:
'Gmmovie dll for Gamemaker'
I don't think anyone wants to show to people that the game was made with GM?
Isn't this one reason that people register?
(To get rid of the gm logo?)

  • 0

#29 SSNautilus

SSNautilus

    S.S.Nautilus

  • New Member
  • 137 posts

Posted 04 November 2004 - 03:25 PM

Nintendofreak88, please continue to refine this dll. It is fantastic and very useful for playing videos from 'within' GM. :medieval: Please check out the *glitch* about video sizes in the above Post#20.

Many thanks. :D

Edited by SSNautilus, 04 November 2004 - 03:26 PM.

  • 0

#30 ih8censorship

ih8censorship

    GMC Member

  • New Member
  • 165 posts

Posted 04 November 2004 - 03:38 PM

okay.. not anyone wants this dll for a media player, so the cursor is a minus to me
(While I was playing Resident Evil 2 [commercial game] yesterday I noticed that in videos no cursor was shown?)

i may be wrong, but arent there dlls and now a function in gamemaker itself to show/hide the cursor? :medieval:
  • 0




1 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users


    Bing (1)