Author Topic: COMING SOON: MAME Media Type  (Read 17408 times)

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
COMING SOON: MAME Media Type
« on: January 30, 2008, 07:39:02 am »
Coming soon (no determinate date yet, I am working on this in my spare time), a new media type for LinuxMCE: MAME.

What does it do?


Simply? it allows for you to play games from MAME inside LinuxMCE by copying them to the games folder in your public or private user directories, and then selecting Games from your Media scenario menu.

So, are there screenies, or what?

Why, yes. I hope these are self explanatory. I used the game 10 Yard Fight as an example. Yes, it also works under UI1 just fine, I tested it.

http://www.localeconcept.com/pub/scratch/games/game_playing_with_menu.png
http://www.localeconcept.com/pub/scratch/games/game_playing_with_media.png
http://www.localeconcept.com/pub/scratch/games/game_playing_on_floorplan.png
http://www.localeconcept.com/pub/scratch/games/from_orbiter.png


Why are you doing this?


Honestly? I have an X-Arcade Tank Stick that has been collecting dust in the corner of my main room for quite some time now, since I moved over from a MythTV-only installation almost a year ago.

This is dumb, why don't you just compile MythGame and bolt it on?

Because quite frankly, I like things that are nicely integrated. Making games a first class media type inside LinuxMCE allows for some really cool possibilities that the other game emulator front-ends are not capable of doing, and it allows me to select games using the same stream-lined UI for selecting audio and video.

What can it currently do?


It can currently launch a game from the games list, they can be serially selected like audio or video into playlists, which can then be saved and shown in the Playlists. There is no joystick configuration, so the /root/.mame/mame.ini file currently must be modified to switch on joysticks, etc..

What's Left to do?

Well gee, if it can do that? why don't you just release it?

Heh, it barely does this. There is still so much to _do_.

* finish process management, thread monitoring mame process which will fire CMD_Stop_Media() when mame dies.
* Event Processing
* Proper media identification, so that game snapshots will be placed in the thumbnails, and game titles will properly be identified.
* Proper Attribute creation, so that typical media filtering can be done. (i.e. filtering by game type, manufacturer, year, etc.)
* new Orbiter UI made in Designer, I am currently using the remotes for Stored Video, this is not exactly a correct fit.
* CMD_Move_Media implemented so that games can be moved from one media director to another via floor plan.
* CMD_Leave_Room/CMD_Enter_Room implemented so that Follow Me will work correctly.
* CMD_Get_Video_Frame - so that I can get screen captures to use both in Thumbnail and for using the video display view on the orbiters normally used to display DVD Menus
* CMD_Simulate_Mouse_Click/Keypress - Need this for a LOT of reasons, too many to list.
* Create DCE devices for Joysticks and Gamepads, so that they can be used to control BOTH LinuxMCE and the MAME plugin. This is especially important for the features described in the REALLY HARD SECTION below.
* Create package definitions, so that they can be included in the LinuxMCE build process..the end result is to have something that can be enabled in the Install Additional Software screen in the Setup Wizard.

In addition, there are some HARD ones that I will ATTEMPT to implement, I have no idea if they will actually WORK in practice... Hell, this whole THING is a proof of concept exercise!, Particularly:

* Implementing the ability to stream a game to multiple media directors, replicating DCE joystick events across them, assigning them to player slots as needed, so that you can play the same game in different rooms in a house by assigning it on the floorplan.
* Implementing transport control, so that if you use the rewind/fast forward, it will pause the game and rewind a captured stream of the game that you can pause and fast forward through (yes, I've contemplated every single possible question you may ask to that. Please just let me try to get the basic transport control implemented!)

What version of MAME are you basing this on?

I am using SDLMAME 0.122u7, currently, it is currently not modified, and god I hope it can stay that way!

When are you gonna release this sucker?

When I think it's ready. I am under no obligations of any kind to release this. I am doing this as my primer into creating advanced Pluto/LinuxMCE functionality.

Are you doing more media types?

Hopefully, but let me get this one done first! Are you impatient? either (a) help me code it, or (b) ask me for my code, and use it as a pattern to create your own set of wrapper devices.

What version will this run under?

I am developing it for 0710 and above. I am developing this currently on 0710 beta 3, using the SVN sources from the primary LinuxMCE trunk.

Can I get the code?

Yes, PM me and I will give you a tarball with the current code. When it is more ready, I will ask for permission to shift it into the development tree. You will need a development environment to unpack it into and compile. There is also a lengthy set of database additions which must be made in order for it to work. A Scenario also must be created in the web admin, the games directory created, and roms put into it in zip format.

Anything else?

Not at the moment, I will paste more as time progresses. I do have a development thread over here in the Developers forum. This is just an announcement thread.

http://forum.linuxmce.org/index.php?topic=3433.0 --- start of the thread.

Out for now, fellas.

-Thom

lon22

  • Veteran
  • ***
  • Posts: 85
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #1 on: January 30, 2008, 02:18:58 pm »
Good stuff. Out of curiosty, what other media types do you think a wrapper would be useful for?


lon22

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #2 on: January 30, 2008, 07:25:14 pm »
not sure yet, but the point being that we don't know, we need to figure that out.. (and more to the point, we need to adapt Pluto to add these media types..currently, this is slightly more difficult than it should be.)

-Thom

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #3 on: January 31, 2008, 04:29:43 am »
I have created an initial movie of this plug-in in action:

http://www.localeconcept.com/pub/scratch/games/lmce_out2.html

Showing:

* Game Selection
* Playing games
* overlay of orbiter atop games
* Playlist management/usage for keeping tabs on favourite games.

There are a couple of mistakes made, but I think you get the drift.

Oh yes, if you have a Fiire Chief, you can use the on-screen playlist feature. It works very well when switching between games.

My Nokia 770 also works VERY well for selecting games. :-D

yes, there are some little window management bugs to squash, but I'll get those. This functionality is still VERY NEW!

I am using the remote to insert coins and start the game.

-Thom

Hipper

  • Regular Poster
  • **
  • Posts: 23
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #4 on: January 31, 2008, 04:42:47 am »
Forget the coming soon! I can’t wait to play Mario! How do I make it work now! :D

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #5 on: January 31, 2008, 07:40:09 am »
currently, i've only built code for 0710, and it requires a nice chunk of database work to get it integrated. I will not release it yet, because there are missing pieces.

-Thom
« Last Edit: January 31, 2008, 07:41:54 am by tschak909 »

ddamron

  • Alumni
  • wants to work for LinuxMCE
  • *
  • Posts: 962
    • View Profile
    • My LinuxMCE User Page
Re: COMING SOON: MAME Media Type
« Reply #6 on: January 31, 2008, 08:04:28 am »
*GREAT* work TS!

The only intuitive interface is the nipple.  After that it's all learned.
My other computer is your windows box.
I'm out of my mind.  Back in 5 minutes.
Q:  What's Red and smells like blue paint?

A:  Red Paint.

nite_man

  • NEEDS to work for LinuxMCE
  • ***
  • Posts: 1019
  • Want to work with LinuxMCE
    • View Profile
    • Smart Home Blog
Re: COMING SOON: MAME Media Type
« Reply #7 on: January 31, 2008, 01:43:25 pm »
Good job, Thom! I saw screen shots on your site - http://www.localeconcept.com/pub/scratch/games/media_scenarios.png. could you tell me, please (if it isn't secret) what button Weather does and how did you add it?
Michael Stepanov,
My setup: http://wiki.linuxmce.org/index.php/User:Nite_man#New_setup
Russian LinuxMCE community: http://linuxmce.ru

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #8 on: January 31, 2008, 01:47:45 pm »
nothing special, it's a media scenario that triggers media type 11 (Non Pluto LiveTV), and tunes the channel to 047, which here is the weather channel. I use it as a jump-off point for my wake-up event. :-)

-Thom

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4508
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: COMING SOON: MAME Media Type
« Reply #9 on: January 31, 2008, 04:37:19 pm »
Coming soon (no determinate date yet, I am working on this in my spare time), a new media type for LinuxMCE: MAME.

What does it do?


Simply? it allows for you to play games from MAME inside LinuxMCE by copying them to the games folder in your public or private user directories, and then selecting Games from your Media scenario menu.

So, are there screenies, or what?

Why, yes. I hope these are self explanatory. I used the game 10 Yard Fight as an example. Yes, it also works under UI1 just fine, I tested it.

http://www.localeconcept.com/pub/scratch/games/game_playing_with_menu.png
http://www.localeconcept.com/pub/scratch/games/game_playing_with_media.png
http://www.localeconcept.com/pub/scratch/games/game_playing_on_floorplan.png
http://www.localeconcept.com/pub/scratch/games/from_orbiter.png


Why are you doing this?


Honestly? I have an X-Arcade Tank Stick that has been collecting dust in the corner of my main room for quite some time now, since I moved over from a MythTV-only installation almost a year ago.

This is dumb, why don't you just compile MythGame and bolt it on?

Because quite frankly, I like things that are nicely integrated. Making games a first class media type inside LinuxMCE allows for some really cool possibilities that the other game emulator front-ends are not capable of doing, and it allows me to select games using the same stream-lined UI for selecting audio and video.

What can it currently do?


It can currently launch a game from the games list, they can be serially selected like audio or video into playlists, which can then be saved and shown in the Playlists. There is no joystick configuration, so the /root/.mame/mame.ini file currently must be modified to switch on joysticks, etc..

What's Left to do?

Well gee, if it can do that? why don't you just release it?

Heh, it barely does this. There is still so much to _do_.

* finish process management, thread monitoring mame process which will fire CMD_Stop_Media() when mame dies.
* Event Processing
* Proper media identification, so that game snapshots will be placed in the thumbnails, and game titles will properly be identified.
* Proper Attribute creation, so that typical media filtering can be done. (i.e. filtering by game type, manufacturer, year, etc.)
* new Orbiter UI made in Designer, I am currently using the remotes for Stored Video, this is not exactly a correct fit.
* CMD_Move_Media implemented so that games can be moved from one media director to another via floor plan.
* CMD_Leave_Room/CMD_Enter_Room implemented so that Follow Me will work correctly.
* CMD_Get_Video_Frame - so that I can get screen captures to use both in Thumbnail and for using the video display view on the orbiters normally used to display DVD Menus
* CMD_Simulate_Mouse_Click/Keypress - Need this for a LOT of reasons, too many to list.
* Create DCE devices for Joysticks and Gamepads, so that they can be used to control BOTH LinuxMCE and the MAME plugin. This is especially important for the features described in the REALLY HARD SECTION below.
* Create package definitions, so that they can be included in the LinuxMCE build process..the end result is to have something that can be enabled in the Install Additional Software screen in the Setup Wizard.

In addition, there are some HARD ones that I will ATTEMPT to implement, I have no idea if they will actually WORK in practice... Hell, this whole THING is a proof of concept exercise!, Particularly:

* Implementing the ability to stream a game to multiple media directors, replicating DCE joystick events across them, assigning them to player slots as needed, so that you can play the same game in different rooms in a house by assigning it on the floorplan.
* Implementing transport control, so that if you use the rewind/fast forward, it will pause the game and rewind a captured stream of the game that you can pause and fast forward through (yes, I've contemplated every single possible question you may ask to that. Please just let me try to get the basic transport control implemented!)

What version of MAME are you basing this on?

I am using SDLMAME 0.122u7, currently, it is currently not modified, and god I hope it can stay that way!

When are you gonna release this sucker?

When I think it's ready. I am under no obligations of any kind to release this. I am doing this as my primer into creating advanced Pluto/LinuxMCE functionality.

Are you doing more media types?

Hopefully, but let me get this one done first! Are you impatient? either (a) help me code it, or (b) ask me for my code, and use it as a pattern to create your own set of wrapper devices.

What version will this run under?

I am developing it for 0710 and above. I am developing this currently on 0710 beta 3, using the SVN sources from the primary LinuxMCE trunk.

Can I get the code?

Yes, PM me and I will give you a tarball with the current code. When it is more ready, I will ask for permission to shift it into the development tree. You will need a development environment to unpack it into and compile. There is also a lengthy set of database additions which must be made in order for it to work. A Scenario also must be created in the web admin, the games directory created, and roms put into it in zip format.

Anything else?

Not at the moment, I will paste more as time progresses. I do have a development thread over here in the Developers forum. This is just an announcement thread.

http://forum.linuxmce.org/index.php?topic=3433.0 --- start of the thread.

Out for now, fellas.

-Thom


Nice! Can't wait to give it a try :-)
Andy Herron,
Convergent Home Technologies Ltd

My Blog; http://ellipticalcurve.com

Get RaspSqueeze-CEC or Raspbmc-CEC Wifi enabled for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

For Smart Home consulting advice;
@herron on Twitter, inquiries@ellipticalcurve.com via email or PM me here.

Get a Dianemo License: http://forum.linuxmce.org/index.php?topic=8880.msg100221#msg100221
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #10 on: January 31, 2008, 07:29:16 pm »
Thom, you are cool :).

I have created an initial movie of this plug-in in action:

http://www.localeconcept.com/pub/scratch/games/lmce_out2.html
(...)
* Playlist management/usage for keeping tabs on favourite games.
(...)
Oh yes, if you have a Fiire Chief, you can use the on-screen playlist feature. It works very well when switching between games.

Does the playlist work with a game ending to start up the next game in the list automatically?

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #11 on: January 31, 2008, 07:48:25 pm »
no, because there is no way to get at that within MAME. for all it knows, it is an emulator, maintaining a self contained state machine. So I just select the playlist view to get at the next game in my favourites list.

-Thom

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #12 on: January 31, 2008, 10:30:02 pm »
no, because there is no way to get at that within MAME. for all it knows, it is an emulator, maintaining a self contained state machine. So I just select the playlist view to get at the next game in my favourites list.

Can you quit MAME (and its process dies) from the LMCE UI? What happens next if you do?

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5501
  • DOES work for LinuxMCE.
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #13 on: January 31, 2008, 11:52:12 pm »
yes.

and if you hit esc, the watchdog thread will catch it and do the same thing.

that is,

it will stop the media type entirely, and the orbiter will return to nothing playing (Photo_Screen_Saver will resume).


Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: COMING SOON: MAME Media Type
« Reply #14 on: February 01, 2008, 05:33:05 pm »
yes.

and if you hit esc, the watchdog thread will catch it and do the same thing.

that is,

it will stop the media type entirely, and the orbiter will return to nothing playing (Photo_Screen_Saver will resume).

Seems to me that if the games are in a playlist, then quitting out of one would start the next one in the list, rather than exit the playlist.