Ideas and thoughts

A nice (keyboard based) front end for Arcade / Console game emulators.

Moderator: battlecat

Ideas and thoughts

Postby laxdragon » Fri Feb 24, 2012 5:01 pm

I realize that asking for new features when the project has stagnated is cheeky, but I wanted to get them down somewhere in any case. Maybe someday someone will pick them up. (BTW, sairuk, I love the work you have done on MahCade, I switched to using that. I've been using what is up on the bzr tip).

* Curved games list. Similar to Hyperspin or Mala. Set the radius of the curve.
* font scaling in game lists the selected item is largest, and scales down towards the ends. scaling is adjustable.
* font gradient in game lists, color transitions from the ends to the selected item in the center. Selected can still have a separate color/bg.
* user definable image / animation layers. Would be nice if I could layer more elements to create overlays and what not. Support animated gifs and PNG with full alpha in these layers.
* Ability to set the z-order of the layers.
* event sounds (list up/down, list select, game start, game end)
* make the emulator / list selection full screen, support screenshots of systems, even have custom skins like the game lists do.

I know these ideas will break compatibility with MameWah, but I've always felt that it was pointless to maintain compatibility with it.
User avatar
laxdragon
 
Posts: 24
Joined: Tue Feb 13, 2007 5:24 pm
Location: Minneapolis, MN

Re: Ideas and thoughts

Postby codefenix » Fri Feb 24, 2012 5:43 pm

All fine ideas. Unfortunately...

laxdragon wrote:* Curved games list. Similar to Hyperspin or Mala. Set the radius of the curve.
* font scaling in game lists the selected item is largest, and scales down towards the ends. scaling is adjustable.
* font gradient in game lists, color transitions from the ends to the selected item in the center. Selected can still have a separate color/bg.


I don't think Python would support these.

laxdragon wrote:* user definable image / animation layers. Would be nice if I could layer more elements to create overlays and what not. Support animated gifs and PNG with full alpha in these layers.
* make the emulator / list selection full screen, support screenshots of systems, even have custom skins like the game lists do.


The layout editor is pretty powerful. Have you not spent a lot of time with it? I have never tried using animated GIFs, but image layers with transparency is fully supported. Sairuk has a pretty lengthy page on Wah!ki about it (see: Layout Editor:Layering & Transparency).

You can make your list as big as you want, even full screen. As for system screen shots, I just make these part of the skin, and I have a different skin for each system.

laxdragon wrote:* event sounds (list up/down, list select, game start, game end)

Keep dreaming. ;) Zombie and I have been barking up that tree for a couple of years now.

I am starting to agree that maintaining MameWah compatibility is probably not the best goal. I'd guess that the original developer chose this route just to get a Mame frontend on the Linux scene, as there weren't really any others at the time, and cloning MameWah seemed like an easy way to go. Now that the Linux emulation community's needs are changing, Wah!Cade is starting to drop the ball. It's not likely that any of these enhancement requests will become reality in the foreseeable future.

If you're interested in a "pretty" frontend on Linux with a curved list, try Googling "Cabrio FE". It's a pretty promising frontend with all the frills you mention, but it's pretty buggy and not as customizable at this point.
User avatar
codefenix
 
Posts: 219
Joined: Fri Sep 25, 2009 3:45 pm
Location: USA

Re: Ideas and thoughts

Postby sairuk » Fri Feb 24, 2012 11:43 pm

laxdragon wrote:BTW, sairuk, I love the work you have done on MahCade, I switched to using that. I've been using what is up on the bzr tip.

Thanks laxdragon, glad you are enjoying it.

* Curved games list. Similar to Hyperspin or Mala. Set the radius of the curve.
* font scaling in game lists the selected item is largest, and scales down towards the ends. scaling is adjustable.
* font gradient in game lists, color transitions from the ends to the selected item in the center. Selected can still have a separate color/bg.
* user definable image / animation layers. Would be nice if I could layer more elements to create overlays and what not. Support animated gifs and PNG with full alpha in these layers.
* Ability to set the z-order of the layers.

Most of this would probably be possible if the project converted completely to pygame; an idea which has been around for a while. I mean to add a test gui written completely in pygame to ezLauncher.

* event sounds (list up/down, list select, game start, game end)

This is doable in the current code, how well it would work I have no idea. I've meant to attend to this request already, personally I only really run a basic Mah!Cade setup these days so motivation to add all the bells and whistles isn't really there.

* make the emulator / list selection full screen, support screenshots of systems, even have custom skins like the game lists do.

Layout editor should allow you to re-size the options window to be full screen; admitted I haven't tried it but I don't recall seeing any code that would stop it
Custom skins can be done already, see the docs

I know these ideas will break compatibility with MameWah, but I've always felt that it was pointless to maintain compatibility with it.


I don't think anything here breaks compatibility, its mostly cosmetic changes.

Moving forward with whatever I work on (either Mah!Cade or other) Mamewah compatibility will only be a subset of the interface. Now if i could only find the time.......
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Ideas and thoughts

Postby sairuk » Sat Feb 25, 2012 2:40 pm

I have added sound support to the latest bzr commit; it is highly unstable until gst_media.py gets a rewrite. Previously .... occasionally when using media you will see a parachute error; this occurs regularly with the addition of the sound support.

To use sounds:
• Music must be enabled and working (the actual mp3 for the music need not exist).
• Create a sounds sub-directory in the layout folder
• Add an audio file type supported by Wah!Cade (i.e. mp3, ogg, flac) into the sounds folder named as per the list below

Use the list below as filename to trigger audio for events in Mah!Cade bzr-91
Code: Select all
up_1_game
down_1_game
up_1_page
down_1_page
up_1_letter
down_1_letter
random_game
find_game
add_game_to_list
remove_game_from_list
launch_game
launch_game_with_options1
launch_game_with_options2
menu_show
select_emulator
next_emulator
previous_emulator
select_gamelist
next_gamelist
previous_gamelist
rotate_screen_toggle
rotate_screen_0
rotate_screen_90
rotate_screen_180
rotate_screen_270
next_track
previous_track
launch_app_1
launch_app_2
launch_app_3
exit_to_windows
exit_with_choice
op_up_1_option
op_down_1_option
op_up_1_option_page
op_down_1_option_page
op_menu_select
op_menu_hide
op_menu_back


To have a sound play when you launch a game create <layout_dir>/sounds/launch_game.mp3

Again, I state this is highly unstable currently
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Ideas and thoughts

Postby Zombie » Sun Feb 26, 2012 6:13 am

I have found that MahCade is not stable under Python 2.6 based systems. You have to use Python 2.7, which is bad because my Cabinet uses Python 2.6
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Ideas and thoughts

Postby sairuk » Sun Feb 26, 2012 8:37 am

Zombie wrote:I have found that MahCade is not stable under Python 2.6 based systems. You have to use Python 2.7, which is bad because my Cabinet uses Python 2.6


I use 2.6 (currently), so any fixes I get in will work on that
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Ideas and thoughts

Postby sairuk » Sun Feb 26, 2012 12:50 pm

I managed to stabilise the media support in Mah!Cade tonight. No more crashing for me under Ubuntu 10.04, Python 2.6. Running with background audio, videos & navigation sounds. Windows on the other hand .... bleh

Video here

I stole the navigation sounds from XBMC for testing...

A site for free sound clips: http://soundbible.com/free-sound-effects-1.html
We will host sound sets on Wah!Ki if people create them
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Ideas and thoughts

Postby laxdragon » Tue Feb 28, 2012 8:12 pm

Wow! Honestly, I didn't expect anything to come of this thread. I'm excited to see some continued development.

I'll try out the tip soon. On that note, bzr is a real pain. Any chance we could get this project moved over to Github. I prefer git myself and find it better for maintaining projects with multiple branches.
User avatar
laxdragon
 
Posts: 24
Joined: Tue Feb 13, 2007 5:24 pm
Location: Minneapolis, MN

Re: Ideas and thoughts

Postby sairuk » Tue Feb 28, 2012 9:52 pm

laxdragon wrote:On that note, bzr is a real pain. Any chance we could get this project moved over to Github. I prefer git myself and find it better for maintaining projects with multiple branches.


I've been wanting to move it for a while, personally most of my experience is with subversion although i have wanted to play with git. I just don't have the time atm to sit down and look at it.

'mahcade' is only on bzr to assist Andy with merging any of the updates across into the main project. I may pull mahcade into something else so it has its own ticketing system since I do not want to break the good reputation wahcade has based on changes I have done. This is the only reason i call it 'mahcade' atm, makes it easier for people to post problems here, i don't like the way bzr links bug reports to branches .. or in fact doesn't??? I can't seem to see a clear way to report them based solely on branch anyway.

I see archlinux had a 'mahcade-bzr' package which has been renamed to 'wahcade-bzr' using my branch. I guess I'm not succeeding in keeping that difference as obvious as I would like :mrgreen: . It may not be worth the effort; i should probably read the bzr manual properly relating to reporting bugs against branches.
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Ideas and thoughts

Postby Zombie » Wed Feb 29, 2012 7:56 am

I had an idea I thought I might share. Is it possible for us to implement a Suspend based command that issues pm-suspend based on a set of criteria:

The user holds down a certain button for a specified period of time. (say 6 seconds)
A Confirmation warning the system will go into suspend mode
The system issues a pm-suspend command

-or-

The User holds down a series of buttons down for a period of time.
A Confirmation warning the system will shut down
The system issues a shutdown -h now command.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Ideas and thoughts

Postby sairuk » Wed Feb 29, 2012 9:22 am

Zombie wrote:I had an idea I thought I might share. Is it possible for us to implement a Suspend based command that issues pm-suspend based on a set of criteria:


Can't you do this with launch external app and have a script execute?
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Ideas and thoughts

Postby Zombie » Wed Feb 29, 2012 1:57 pm

There exists an exit and shutdown command already, but it doesn't really work because you can't do that in user land. All this would require is an exit and suspend. command to be added. Timed button presses are a different matter.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Ideas and thoughts

Postby laxdragon » Wed Feb 29, 2012 8:12 pm

sairuk, played with the new tip. Love the new sound code! Works great in my testing.

Just some additional things. Is it possible for the up_1_game and down_1_game sounds to repeat when the list scrolls fast. As it is right now, the sound is only played when you tap the keys slowly. Not sure if there is limitations to sounds overlapping here.

Also, can we get an exit_game sound? This should be triggered when wahcade regains focus after a launched emulator exits. In my case, I want to use the Qbert ByeBye clip for this.
User avatar
laxdragon
 
Posts: 24
Joined: Tue Feb 13, 2007 5:24 pm
Location: Minneapolis, MN

Re: Ideas and thoughts

Postby sairuk » Wed Feb 29, 2012 9:55 pm

laxdragon wrote:sairuk, played with the new tip. Love the new sound code! Works great in my testing.

Just some additional things. Is it possible for the up_1_game and down_1_game sounds to repeat when the list scrolls fast. As it is right now, the sound is only played when you tap the keys slowly. Not sure if there is limitations to sounds overlapping here.

Also, can we get an exit_game sound? This should be triggered when wahcade regains focus after a launched emulator exits. In my case, I want to use the Qbert ByeBye clip for this.


I've been looking at why It doesn't repeat, I cannot find a way to do that atm, it is probably they way i've implemented threading. I think if i get it to work scrolling speed may be affected which isn't a good idea. 'Technically' it does play the sound on every key press based on how it is implemented but the clip 'stop' command is triggered before the clip is finished due to the speed of the scroll. I will have to look at some examples perhaps of other implementations of the same feature.

and exit game sound should be possible, just need to find the right spot in the code, will plan to have it in r98.
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Ideas and thoughts

Postby sairuk » Wed Feb 29, 2012 9:59 pm

Zombie wrote:There exists an exit and shutdown command already, but it doesn't really work because you can't do that in user land. All this would require is an exit and suspend. command to be added. Timed button presses are a different matter.


Hmmm, timed button presses. Cannot think of how best to implement, at least it is not obvious too me atm I will have to think about where the configuration options would lie, the code should be relatively simple.
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Next

Return to Wah!Cade

Who is online

Users browsing this forum: No registered users and 2 guests

cron