salutte: we implemented menus in the _osd_menu.tcl script. See for simple usage _quit_menu.tcl, which uses these procs. I'm not sure if these are good enough for the thing you want to do with it. The OSD stuff is (by design) not a replacement of a full GUI toolkit.
For alignment to the right, try to use -relx 1.0 and negative width (-w).
Thanks again Manuel! I forgot about -relx. And I'll check _osd_menu.tcl.
I'm doing my best to look for resources myself, but I'm still very new to tcl and openMSX.
No problem, just keep asking when you get stuck. It's my pleasure to help you and see you do all kinds of fantastic things with it
the profiler GUI is looking promising! But there's still much to do.
BTW, is there a way to reload a script without reloading openMSX?
Use the source
command on the console to (re)load a script. That's a standard Tcl command.
Hi all,
Quite some progress on the overhauled profiler with new UI. Still, there are myriads of bugs and a number of non impleemnted features. But scroll buttons work, favorites, timeline, etc..
Teaser:
Pushed in (dev branch):
https://github.com/MartinezTorres/openMSX_profiler
Looking good so far!, keep on the good work!
Salutte, I sent you my work-in-progress timeline code shown earlier. It’s not submitted to my repository yet because the way it is now it’s too wide for me to be usable, I need some collapse/expand type UI, but it may be useful to you.
p.s. I was also thinking about showing an info box when you click on a timeline section, showing you details for the individual section. Maybe an idea you can use.
Nice. Could be even nicer if the timeline support for a "pr frame"-profiling which can markers for where vblank is, where line 0 starts and where the last line ends (192/212), both automatically set according to the current refresh rate. Possible?
Thanks for the positive feedback!
I'll have the info box, and we can check how to implement the collapse/expand UI for the timeline. As of now, I have that when you click a "tag" you see the timeline of sections contained in that tag during the last execution of that talk (timeline is not dynamic, while the rest is).
W.r.t. VDP frames, I do have code already to support getting info from this markers. I do not know how yet how to put the info without overwhelming the UI, but I'll try!
I tried to make the concept of "frame" more generic. Right now, "frame" is just another tag. In my game, the main scroll routine cycles every 6 frames, thus a "scroll frame" is 6 interupts for me.
Lot's to do still