Attract-Mode Support Forum

Attract-Mode Support => Themes => Topic started by: liquid8d on June 04, 2017, 05:42:28 PM

Title: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 04, 2017, 05:42:28 PM
For a couple weeks I have been posting my progress on this in the scripting area but it's getting closer to real-world usage so I thought I would share here:

I have developed AMBuilder, an online Attract Mode layout builder. It is still a WIP, but it is pretty functional at minimum to the point of playing around and getting ideas.

Features:
 - full drag and drop design of AM layout
 - includes standard AM objects (text, image, artwork, list, clone, surface)
 - drag and drop upload for custom images and included fonts
 - included joystick/buttons media and arcade font
 - embedded sprite sites to help with using subimg sprites
 - save/resume session
 - view generated code
 - download a complete, ready to run layout zip file containing all resources. Drop this in your AM layouts folder and select it in your display options
 - zip files created with AMBuilder can be dropped right into the layout area to load them

Aspect support is touchy right now, but in the future it will be very simple to design your layout and make sure it looks great in all aspects and resolutions ;)

You can try it out here:
http://goodiesfor.me/attractmode/builder

You are welcome (and encouraged!) to share your zip files here, so we can all try the layouts you create! Please do keep in mind copyrights and rights usage when it pertains to included images and fonts.

In that spirit, I attached a layout that I just created in about 5 mins. Just download the attached zip, go to the site and drop the zip file right into the layout area t o check it out. When you are ready to build your own, hit the Clear button and start adding objects from the side menu

Please give it a shot and let me know what you think!

The code for this project is available here:
https://github.com/liquid8d/am-builder

If you are interested in helping, feel free to submit issues on the github site or PM me if you want to do more.

(http://i.imgur.com/a5CVvWol.png)
Title: Re: I present... AMBuilder: Layout Designer!
Post by: progets on June 04, 2017, 10:15:00 PM
Very cool. Great job!

Where is the romlist and artwork coming from? Are these just the defaults you have on the web server?
Title: Re: I present... AMBuilder: Layout Designer!
Post by: mortron on June 06, 2017, 06:07:38 AM
So I can understand this... I just go online and use this tool... create my layout and it gives me a zipped theme?

If so, as a Mac user, this is great... most of the cooler home brew programs are Windows only IME and I don't run bootcamp. This is a game changer and something to be proud of... cannot wait to experiment. Thank you!
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 06, 2017, 09:07:24 AM
Very cool. Great job!

Where is the romlist and artwork coming from? Are these just the defaults you have on the web server?

Yes, I added some fake data that it's using :) I'll add some more soon and/or look for local data.

So I can understand this... I just go online and use this tool... create my layout and it gives me a zipped theme?
Correct.. it's just for designing, though. You'll take the zip and put it in the AM layout folder and choose it in AM display settings.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: mahuti on June 06, 2017, 07:45:07 PM
Quote
If so, as a Mac user, this is great... most of the cooler home brew programs are Windows only

I just use Textmate on a Mac to make AttractMode layouts & changes. Obviously if you're not into programming much, it would be a lot more daunting than using a GUI like this. As for AttractMode itself, it's available on a Mac. If I recall, you have to right click on the app and "show package contents" to add or change layouts.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: taelonian on June 07, 2017, 12:20:34 AM
Thanks this is the best thing i will test
Title: Re: I present... AMBuilder: Layout Designer!
Post by: bobbanico on June 07, 2017, 03:34:11 PM
Hello,

i just gave a try to your app, it is working very well congratulations for the time and the GUI which is nice and user friendly !

I now have some questions :)

- To set up a background, you have to create a surface first is that right ? otherwise the background is not displayed when using the theme.

- When you select HD 16/9, i am guessing i have a resolution of 1920x1080 but it seems despite i try to set it in the layout res, i cannot get that size, so the display is shrinked once in AM.

- I have not understood how zorder was working. i tried to set text over another text, but despite the zorder, i cannot get it to display on screen in AM despite i see it in the app GUI.

- Finally, i used a font i uploaded, but despite i see it well in the app GUI, i dont have it working in AM. is there a step to perform to have it, like including it into the zip resources or something ?


Thanks again for this great work !

Update : I just realised i had used the font in your app, but forgotten to install it into my system. Once done it works perfectly ! :)
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 07, 2017, 07:23:55 PM
Thanks for the feedback!

To do a background, you don't need to use a surface and can just use any image including just the default pixel.png by setting the color. You may have had an issue with the zorder, which confused me as well. The default is sets all objects to -1 zorder, which means to create the objects in the order you add them to the layout. That's what it *should* do, but there could be bugs. Though if you do modify zorders to force it, use a different one for each object to ensure they are drawn in the order you expect (higher number draws on top).

Right now, 16x9 is actually using a resolution of 1024x576. The idea was to design for the lowest resolution of that aspect and scale it up. That may not all be fully implemented, and I'll be working on what aspects/resolutions should be available soon. I think for now you could probably just design your 16x9 layout, then set the layout width and height to 1920x1080 and preserve_aspect_ratio to true under the Layout settings and that should work.

As for fonts, at least on Windows I think they should work without needing to install them. Let me know if your on a different OS.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: mahuti on June 07, 2017, 08:33:56 PM
On the RPi you don't need to install them either. Just need to be included in the theme.

Don't recall on the Mac though.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 07, 2017, 11:00:33 PM
On the RPi you don't need to install them either. Just need to be included in the theme.

Don't recall on the Mac though.

They don't need to be in a specific folder or anything, right? I store them in a resources/ folder in the zip... but maybe it's a problem reading fonts from a zip or perhaps how the font is specified ( i.e. obj.font = 'MyFont' )? I know it works for me on Windows without installing them.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: shrunkenmaster on June 08, 2017, 05:22:31 AM
Can you explain what the page size is for?
I'm really struggling to get a vertical 600x800 layout working - any tips?

Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 08, 2017, 04:19:07 PM
Can you explain what the page size is for?
I'm really struggling to get a vertical 600x800 layout working - any tips?

That is my fault! I didn't realize/forgot it is always defaulting to Standard 4x3 settings, so yeah it will definitely come out screwed up. I'll have a fix up later tonight to correct this. I'm also correcting my screwed up 16x9 resolution :)

If you mean the page size setting in Layouts, that is to set the number of entries to jump each time the "Next Page" or "Previous Page" button is pressed.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: jedione on June 08, 2017, 07:01:27 PM
how do i set this up for my ....

Aspect Ratio. 5:4        " 1280 x 1024"   Screen.

if not can you please add it ?   this is what im using for my barcade thanks ....

their are a few themes i would like to redo in this scale...
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 08, 2017, 08:39:15 PM
how do i set this up for my ....

Aspect Ratio. 5:4        " 1280 x 1024"   Screen.

if not can you please add it ?   this is what im using for my barcade thanks ....

their are a few themes i would like to redo in this scale...

I will.. I'm still trying to determine what aspects should be included and how to handle additional custom aspects/resolutions. Is there a term for 5:4 - would anyone bother with 4:5? :P That should probably do it for common aspects, no?

I want to keep it is simple as possible to support as many aspects as possible. That's why I'd like to veer away from tons of resolutions - just scale larger/smaller for like-aspects. But I will also at some point add custom configurations as well.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: mahuti on June 08, 2017, 09:10:35 PM
There are a few ways I could see to handle resolutions dynamically:

scale to fill 100% (warping)

Scale up to height align left (content might letterbox on right or overflow right)
Scale up to width align top Of screen bottom might letterbox or overflow

Scale up to height align center (overflow or letterboxing on sides)
Scale up to width align vertical center (overflow or letterboxing on top/bottom)

Most of those could be pretty easy to handle with functions for handling x,y, width and height calculations based on a setting
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 08, 2017, 11:02:29 PM
Well, technically fe.layout.preserve_aspect_ratio already does that part. It will fit and letterbox based on your ScreenWidth/ScreenHeight and layout.width and layout.height settings. That's just a matter of if you should design a layout at the highest possible resolution and scale down, or the lowest possible and scale up. Ideally though, the purpose of designing in all aspects is you make sure your layout works with all of them, so no modifications needed :)

I'm more thinking about in the designer - should the creator be able to create any specific resolution they care about, then pick and choose the best fit for the users screen? Or force the designer to design at all aspects.. and non-matching would just use preserve_aspect_ratio. Or, perhaps when you select, say, 16x9 - you choose what resolution to design that aspect in?
Title: Re: I present... AMBuilder: Layout Designer!
Post by: mahuti on June 09, 2017, 12:17:21 AM
My main point which I wasn't really clear about is that there are 5 basic scaling modes that would be pretty common, and it's probably best to leave it to the end user as to which they want to use.

The designer will at a baseline design to meet what they see to be the primary use case for themselves or the "client" (friend,  compatriot, random web person they imagine using their stuff) first. Beyond that everything else is a nice-to-have. For the cases where the layout isn't thought out for the other cases, it's probably best left to the end user to decide how they want things to scale. Some might want it stretched full screen (damn the aspect ratio). Others fine with letter boxing. I personally loathe stretching, but in setting up a Pi for my buddy he wanted my Ol-Room style 4x3 layouts just stretched for his 16:9, rather than me setting up something else that actually fits correctly.

Some of the scaling also depends on whether the "live area" of content is tied to the positioning of background images or not making things much more complex to think about... in that sometimes parts would be appropriate to stretch and sometimes not.

Anyway, I obviously haven't thought it all through completely. :-) but I have been thinking about it in the context of making my own themes more flexible... and how I plan to approach it.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: ryuuji on June 09, 2017, 04:33:34 PM
Cool.  :o
Title: Re: I present... AMBuilder: Layout Designer!
Post by: omegaman on June 12, 2017, 06:37:03 AM
Liquid8d-

Awesome work as always - where do you find the time :p

I think your preserve_aspect_ratio should work well enough for most 4x3, 16x9, and 5x4 layouts using a bottom up approach. Creating layouts in 640x480 or 800x600 then scaling up to 1080p probably works for a majority of the users.

Heck, I am still doing fill to screen manually in my layouts like robospin - which I assume your preserve_aspect does without the extra coding needed for defining coordinates with x and y etc... Should I switch?

But having precise ratios "if there is such a thing" is not a bad thing either especially for those OCD people out there.  I think 4:3 is probably the most used followed by, 16:9, 5:3, 5:4, then 16:10.     
Title: Re: I present... AMBuilder: Layout Designer!
Post by: bobbanico on June 12, 2017, 02:07:00 PM
Thanks for the feedback!

To do a background, you don't need to use a surface and can just use any image including just the default pixel.png by setting the color. You may have had an issue with the zorder, which confused me as well. The default is sets all objects to -1 zorder, which means to create the objects in the order you add them to the layout. That's what it *should* do, but there could be bugs. Though if you do modify zorders to force it, use a different one for each object to ensure they are drawn in the order you expect (higher number draws on top).

Right now, 16x9 is actually using a resolution of 1024x576. The idea was to design for the lowest resolution of that aspect and scale it up. That may not all be fully implemented, and I'll be working on what aspects/resolutions should be available soon. I think for now you could probably just design your 16x9 layout, then set the layout width and height to 1920x1080 and preserve_aspect_ratio to true under the Layout settings and that should work.

As for fonts, at least on Windows I think they should work without needing to install them. Let me know if your on a different OS.

Hello,

Abt windows font needing to be installed i think it is the case, as when i had not installed it i had default fonts, then as soon as i double clicked it to install it it worked perfectly.

I would suggest (i know it is easy to say and less when it is abt to implement it :)), that you could maybe use the sort of elements treeview to sort them according to a hierarchy.
I mean the ones you want to be in background you set them in first position (with something like + - buttons) and this way the zorder would be more pictured, as the different elements position in the treeview would show also the zorder position. i hope it makes sense, i m not even sure i can reread myself well :D.

Thank you !
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 12, 2017, 10:15:27 PM
I'm not sure on the font thing, because I know for sure I used some fonts that I did not install and they worked fine. I'll have to look into it further.

As for ordering, that sounds about right. Once I implement re-ordering objects, i'll revisit how to handle zorder :) It might be a few days before I get to do some more work on it..
Title: Re: I present... AMBuilder: Layout Designer!
Post by: jingletit on June 16, 2017, 07:49:51 AM
Would there ever be an option to use a selector a bit like the nes mini themes people are making? Update I found that there is a default theme called Grid that shows off what I am talking about .
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on June 17, 2017, 03:23:12 PM
Would there ever be an option to use a selector a bit like the nes mini themes people are making? Update I found that there is a default theme called Grid that shows off what I am talking about .

Yes, possibly. Once I get the standard objects all working correctly, I can start adding other "objects" like a selector.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: jingletit on June 18, 2017, 12:22:04 AM
Would there ever be an option to use a selector a bit like the nes mini themes people are making? Update I found that there is a default theme called Grid that shows off what I am talking about .

Yes, possibly. Once I get the standard objects all working correctly, I can start adding other "objects" like a selector.
Nice can't wait :D I have a lot of theme ideas and without you they would be a nightmare to make. Keep up the amazing work
Title: Re: I present... AMBuilder: Layout Designer!
Post by: clockman on July 15, 2017, 06:27:46 PM
Could someone do a tutorial video on how to use this? i can't figure it out.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: drmechxico on September 03, 2017, 12:04:57 PM
Could someone do a tutorial video on how to use this? i can't figure it out.

I am confused too. Maybe if there was a guide on what terms correspond with what objects?
Title: Re: I present... AMBuilder: Layout Designer!
Post by: progets on December 01, 2017, 12:25:45 AM
If you can somehow include the new list module http://forum.attractmode.org/index.php?topic=1945.0 by ArcadeBliss into your design I think it would be great.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: liquid8d on December 02, 2017, 08:52:21 AM
It's probably still gonna be a bit before I get this going any further - adding some additional modules is definitely a next step. It should be easy enough to get added though - at least initially with no live preview, since I'd have to "emulate" how it works in AM in the designer.

We've opened up some discussion, so I'm hoping this leads to some exciting new modules that can be used in the designer - including ArcadeBliss' fantastic work in that one.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: clockman on January 15, 2018, 12:09:10 AM
How do i import my own back ground image? Never mind i figured it out. But hows do i get my 4:3 aspect ratio to 1024x768 in stead of 640x480?
Title: Re: I present... AMBuilder: Layout Designer!
Post by: Tapper on February 10, 2018, 05:57:53 AM
Just played with this a bit, and what a great tool!

However, I have 2 questions at this point...

1) Is there a way to make a 4K res layout with AMbuilder? The one I made only displays in the upper left corner of my screen.
2) How do I display videos? I tried using the Art tool, and checking video related boxes, but I'm just seeing normal artwork in the actual layout.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: Zednem on April 20, 2018, 03:22:18 PM
liquid8d

I cannot thank you enough for this. I have tried several other layout apps and IMO, nothing has worked as well as this.
Thanks!
Title: Re: I present... AMBuilder: Layout Designer!
Post by: theamity9 on May 03, 2018, 09:49:18 PM
this is outstand. thank you so much. :)
Title: Re: I present... AMBuilder: Layout Designer!
Post by: Ford_Prefect on May 06, 2019, 06:29:49 AM
I am playing around with AMbuilder, so far i am not very good at it.
Is there, or could you create some kind of tutorial.
I am trying to adapt my old Wahcade layouts to work with Attract mode.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: jedione on May 06, 2019, 06:44:40 AM
I don't think he is working on this anymore  :(MO
Title: Re: I present... AMBuilder: Layout Designer!
Post by: Ford_Prefect on May 06, 2019, 10:24:34 PM
I am starting to get the hang of it.
I just adapted my first layout, looks promising.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: toothlessgrinn on May 08, 2019, 10:54:50 AM
just a heads up maybe its just me but the layouts i have made with am builder work great for a few months then they start to crash AM. dont know why and questions i have asked on here have gone unanswered...  maybe it wont happen to you but it does happen to me. just a info bit. its a great app but he doesnt update it or answer any questions on it. good luck hope it works for you.

maybe im doing something wrong. idk... lol...
Title: Re: I present... AMBuilder: Layout Designer!
Post by: Billyc666 on January 23, 2020, 09:45:35 AM
I am starting to get the hang of it.
I just adapted my first layout, looks promising.

When you say adapted , do you mean you can load in already made themes...i've just come across atract mode and it looks like it does everything i want
so i would like to learn the theming process... i've probably done themes for every other FE there is and never stuck with them
Title: Re: I present... AMBuilder: Layout Designer!
Post by: tommiegunz on October 23, 2020, 04:33:15 PM
hey can anyone tell me how to show more than just one wheel when scrolling through the game list i want to have 3-5 showing like a listbox but with wheel art horizontally
Title: HELP: AMBuilder: Layout Designer!
Post by: chijb55 on June 09, 2022, 02:06:03 PM
I want so much to love this program.  But no matter what I change, the net result is a menu window that only occupies the top left 1/4 of my screen.

I've tried varying resolutions, height, width.  Nothing changes.

Has anyone made this program work properly?  It seems like it's.....almost great.  But I'm missing something.

Any help - hints, suggestions, sample files made with this, etc, greatly appreciated.
Title: Re: I present... AMBuilder: Layout Designer!
Post by: jedione on June 09, 2022, 05:46:20 PM
it was never finished......plus when you short hand it, is way less code, and makes cents..
Title: Re: I present... AMBuilder: Layout Designer!
Post by: clockman on September 13, 2022, 01:34:42 AM
It would be nice if someone would do a YouTube video tutorial on how to create a simple layout then we wouldn't need this program. Any one like to make a tutorial for us?
Title: Re: I present... AMBuilder: Layout Designer!
Post by: superdan on June 23, 2023, 11:24:08 AM
Great program but incomplete IMHO (or maybe I didn't understand something).
For some reason the outpout layout is tiny and sticks to the top left of the screen.

(https://www.cdlab.it/am.jpg)

I couldn't find any way to centre it and zoom it to make it occupy the whole screen while maintaining the aspect ratio.
I have a normal 40 inch TV and I want a 4:3 layout like Attrac-Man for example.
Has anyone succeeded?
Here is my layout.nut


Code: [Select]
///////////////////////////////////////
// Generated with AMBuilder 1.0
// https://github.com/liquid8d/am-builder
///////////////////////////////////////

//layout configuration
//fe.layout.width = 640
//fe.layout.height = 480
fe.layout.preserve_aspect_ratio = true
fe.layout.font = "Arial"
fe.layout.base_rotation = RotateScreen.None
fe.layout.toggle_rotation = RotateScreen.None
fe.layout.page_size = 10

// Stored Object Properties
local props = {"Standard (4x3)":{"AMImage1":{"x":0,"y":0,"width":640,"height":480,"visible":true,"rotation":0,"zorder":-1,"file_name":"stars.gif","preserve_aspect_ratio":false,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMArtwork2":{"x":120,"y":0,"width":390,"height":300,"visible":true,"rotation":0,"zorder":-1,"file_name":"snap","preserve_aspect_ratio":true,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMListBox3":{"x":120,"y":300,"width":390,"height":180,"visible":true,"rotation":0,"zorder":-1,"format_string":"[Title]","font":"Emulogic","charsize":12,"align":Align.Centre,"style":0,"rows":11,"red":255,"green":255,"blue":255,"alpha":255,"bg_red":0,"bg_green":0,"bg_blue":0,"bg_alpha":0,"sel_red":255,"sel_green":255,"sel_blue":0,"sel_alpha":255,"sel_style":0,"selbg_red":0,"selbg_green":0,"selbg_blue":255,"selbg_alpha":255,"shader":""}},"Standard Vert (3x4)":{"AMImage1":{"x":0,"y":0,"width":640,"height":480,"visible":true,"rotation":0,"zorder":-1,"file_name":"stars.gif","preserve_aspect_ratio":false,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMArtwork2":{"x":120,"y":0,"width":390,"height":300,"visible":true,"rotation":0,"zorder":-1,"file_name":"snap","preserve_aspect_ratio":true,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMListBox3":{"x":120,"y":300,"width":390,"height":180,"visible":true,"rotation":0,"zorder":-1,"format_string":"[Title]","font":"Emulogic","charsize":12,"align":Align.Centre,"style":0,"rows":11,"red":255,"green":255,"blue":255,"alpha":255,"bg_red":0,"bg_green":0,"bg_blue":0,"bg_alpha":0,"sel_red":255,"sel_green":255,"sel_blue":0,"sel_alpha":255,"sel_style":0,"selbg_red":0,"selbg_green":0,"selbg_blue":255,"selbg_alpha":255,"shader":""}},"SXGA (5x4)":{"AMImage1":{"x":0,"y":0,"width":640,"height":480,"visible":true,"rotation":0,"zorder":-1,"file_name":"stars.gif","preserve_aspect_ratio":false,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMArtwork2":{"x":120,"y":0,"width":390,"height":300,"visible":true,"rotation":0,"zorder":-1,"file_name":"snap","preserve_aspect_ratio":true,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMListBox3":{"x":120,"y":300,"width":390,"height":180,"visible":true,"rotation":0,"zorder":-1,"format_string":"[Title]","font":"Emulogic","charsize":12,"align":Align.Centre,"style":0,"rows":11,"red":255,"green":255,"blue":255,"alpha":255,"bg_red":0,"bg_green":0,"bg_blue":0,"bg_alpha":0,"sel_red":255,"sel_green":255,"sel_blue":0,"sel_alpha":255,"sel_style":0,"selbg_red":0,"selbg_green":0,"selbg_blue":255,"selbg_alpha":255,"shader":""}},"Wide (16x10)":{"AMImage1":{"x":0,"y":0,"width":640,"height":480,"visible":true,"rotation":0,"zorder":-1,"file_name":"stars.gif","preserve_aspect_ratio":false,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMArtwork2":{"x":120,"y":0,"width":390,"height":300,"visible":true,"rotation":0,"zorder":-1,"file_name":"snap","preserve_aspect_ratio":true,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMListBox3":{"x":120,"y":300,"width":390,"height":180,"visible":true,"rotation":0,"zorder":-1,"format_string":"[Title]","font":"Emulogic","charsize":12,"align":Align.Centre,"style":0,"rows":11,"red":255,"green":255,"blue":255,"alpha":255,"bg_red":0,"bg_green":0,"bg_blue":0,"bg_alpha":0,"sel_red":255,"sel_green":255,"sel_blue":0,"sel_alpha":255,"sel_style":0,"selbg_red":0,"selbg_green":0,"selbg_blue":255,"selbg_alpha":255,"shader":""}},"Wide Vert (10x16)":{"AMImage1":{"x":0,"y":0,"width":640,"height":480,"visible":true,"rotation":0,"zorder":-1,"file_name":"stars.gif","preserve_aspect_ratio":false,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMArtwork2":{"x":120,"y":0,"width":390,"height":300,"visible":true,"rotation":0,"zorder":-1,"file_name":"snap","preserve_aspect_ratio":true,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMListBox3":{"x":120,"y":300,"width":390,"height":180,"visible":true,"rotation":0,"zorder":-1,"format_string":"[Title]","font":"Emulogic","charsize":12,"align":Align.Centre,"style":0,"rows":11,"red":255,"green":255,"blue":255,"alpha":255,"bg_red":0,"bg_green":0,"bg_blue":0,"bg_alpha":0,"sel_red":255,"sel_green":255,"sel_blue":0,"sel_alpha":255,"sel_style":0,"selbg_red":0,"selbg_green":0,"selbg_blue":255,"selbg_alpha":255,"shader":""}},"HD (16x9)":{"AMImage1":{"x":0,"y":0,"width":640,"height":480,"visible":true,"rotation":0,"zorder":-1,"file_name":"stars.gif","preserve_aspect_ratio":false,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMArtwork2":{"x":120,"y":0,"width":390,"height":300,"visible":true,"rotation":0,"zorder":-1,"file_name":"snap","preserve_aspect_ratio":true,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMListBox3":{"x":120,"y":300,"width":390,"height":180,"visible":true,"rotation":0,"zorder":-1,"format_string":"[Title]","font":"Emulogic","charsize":12,"align":Align.Centre,"style":0,"rows":11,"red":255,"green":255,"blue":255,"alpha":255,"bg_red":0,"bg_green":0,"bg_blue":0,"bg_alpha":0,"sel_red":255,"sel_green":255,"sel_blue":0,"sel_alpha":255,"sel_style":0,"selbg_red":0,"selbg_green":0,"selbg_blue":255,"selbg_alpha":255,"shader":""}},"HD Vert (9x16)":{"AMImage1":{"x":0,"y":0,"width":640,"height":480,"visible":true,"rotation":0,"zorder":-1,"file_name":"stars.gif","preserve_aspect_ratio":false,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMArtwork2":{"x":120,"y":0,"width":390,"height":300,"visible":true,"rotation":0,"zorder":-1,"file_name":"snap","preserve_aspect_ratio":true,"video_flags":0,"video_playing":false,"smooth":true,"trigger":Transition.ToNewSelection,"red":255,"green":255,"blue":255,"alpha":255,"origin_x":0,"origin_y":0,"subimg_x":0,"subimg_y":0,"subimg_width":0,"subimg_height":0,"skew_x":0,"skew_y":0,"pinch_x":0,"pinch_y":0,"index_offset":0,"filter_offset":0,"shader":""},"AMListBox3":{"x":120,"y":300,"width":390,"height":180,"visible":true,"rotation":0,"zorder":-1,"format_string":"[Title]","font":"Emulogic","charsize":12,"align":Align.Centre,"style":0,"rows":11,"red":255,"green":255,"blue":255,"alpha":255,"bg_red":0,"bg_green":0,"bg_blue":0,"bg_alpha":0,"sel_red":255,"sel_green":255,"sel_blue":0,"sel_alpha":255,"sel_style":0,"selbg_red":0,"selbg_green":0,"selbg_blue":255,"selbg_alpha":255,"shader":""}}}

// Find correct aspect
function findAspect( ratio ) {
    if ( ratio == 1.77778 ) return "HD (16x9)"
    else if ( ratio == 1.6 ) return "Wide (16x10)"
    else if ( ratio == 1.33333 ) return "Standard (4x3)"
    else if ( ratio == 1.25 ) return "SXGA (5x4)"
    else if ( ratio == 0.625 ) return "Wide Vert (10x16)"
    else if ( ratio == 0.5625 ) return "HD Vert (9x16)"
    else if ( ratio == 0.75 ) return "Standard Vert (3x4)"
    //use default aspect
    print("Unrecognized or missing aspect, using default: Standard (4x3)")
    return "Standard (4x3)"
}

local aspects = ["Standard (4x3)","Standard Vert (3x4)","SXGA (5x4)","Wide (16x10)","Wide Vert (10x16)","HD (16x9)","HD Vert (9x16)"]
local aspect = findAspect( ScreenWidth / ( ScreenHeight * 1.0 ) )
print( "Layout Aspect: " + aspect + "\n ")


// Create AM Objects
local AMImage1 = fe.add_image( "resources/" + props[aspect]["AMImage1"].file_name, -1, -1, 1, 1)
   foreach( key, val in props[aspect]["AMImage1"] )
      if ( key != "file_name" && key != "subimg_width" && key != "subimg_height" && key != "zorder" && key != "shader" )
         try { AMImage1[key] = val } catch(e) { print("error setting property: " + key + "\n" ) }

local AMArtwork2 = fe.add_artwork( props[aspect]["AMArtwork2"].file_name, -1, -1, 1, 1)
   foreach( key, val in props[aspect]["AMArtwork2"] )
      if ( key != "file_name" && key != "subimg_width" && key != "subimg_height" && key != "zorder" && key != "shader" )
         try { AMArtwork2[key] = val } catch(e) { print("error setting property: " + key + "\n" ) }

local AMListBox3 = fe.add_listbox( -1, -1, 1, 1)
   foreach( key, val in props[aspect]["AMListBox3"] )
      if ( key != "zorder" && key != "shader" )
         try { AMListBox3[key] = val } catch(e) { print("error setting property: " + key + "\n" ) }



// Begin Triggers
/*
local triggers = [triggers]

fe.add_transition_callback(this, "on_transition")
fe.add_ticks_callback(this, "on_tick")

function on_transition( ttype, var, ttime ) {
    return false
}

function on_tick( ttime ) {

}
*/

thats my wanted behaviour

(https://www.cdlab.it/wanted.jpg)

with font Emulogic.TTF

Thanks