If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
knob tooltips
Re: knob tooltips
You're still not getting my point. Every view is basically a bitmap that you can draw to. You do so by connecting a yellow V link. If you don't use an mgui but activate graphics on the panel, you also created a view link (you just don't see it in the schematic).
A MGUI also has a view input. Normally you connect a wireless link to it. This means, whatever the mgui draws, it draws it to the view of the input. And that's the point. If now the top layer needs a redraw (and it does as soon as you move the tooltip), it triggers ALL MGUIs connected to this view as well. So, in your example, if moving the tooltip, all 64 buttons get an order to draw themselves.
Maybe this very simple schematic can make it clear? You will see random colored pixels and a trigger button. Each time you hit the button the whole view is redrawn. Now look inside. There's a RubyEdit for the main view (the top layer), but it only contains an event method. In this method I call "redraw"". There is no draw method at all, still all 16 submodules redraw themselves. That's because the top layer commands all 16 sub modules to redraw, by just this one redraw command in the event method.
A MGUI also has a view input. Normally you connect a wireless link to it. This means, whatever the mgui draws, it draws it to the view of the input. And that's the point. If now the top layer needs a redraw (and it does as soon as you move the tooltip), it triggers ALL MGUIs connected to this view as well. So, in your example, if moving the tooltip, all 64 buttons get an order to draw themselves.
Maybe this very simple schematic can make it clear? You will see random colored pixels and a trigger button. Each time you hit the button the whole view is redrawn. Now look inside. There's a RubyEdit for the main view (the top layer), but it only contains an event method. In this method I call "redraw"". There is no draw method at all, still all 16 submodules redraw themselves. That's because the top layer commands all 16 sub modules to redraw, by just this one redraw command in the event method.
- Attachments
-
- view_redraw.fsm
- (885 Bytes) Downloaded 864 times
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: knob tooltips
And here is the redraw area version. You will see that only the first submodule gets the order to redraw.
- Attachments
-
- view_redrawArea.fsm
- (894 Bytes) Downloaded 918 times
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: knob tooltips
This system has no degradation of performance redraw,
It can be easily customized
and has already implemented a wait before being displayed,
then move your mouse and wait a second to see appear on the tooltips popups.
Edit: need to fix the drag mouse up release, at moment not work, very well.
It can be easily customized
and has already implemented a wait before being displayed,
then move your mouse and wait a second to see appear on the tooltips popups.
Edit: need to fix the drag mouse up release, at moment not work, very well.
- Attachments
-
- Gui-Performant-Ruby_Tooltip_System_Tronic-2016.fsm
- (587.19 KiB) Downloaded 944 times
- Tronic
- Posts: 539
- Joined: Wed Dec 21, 2011 12:59 pm
Re: knob tooltips
thank you tronic, thats the real smart way
there are a few things new for me, like the @tooltip = ObjectSpace._id2ref(@ruby_id_tooltip)
what exactly is this @tooltip variable ? is it generated inside the master tooltip module?
is there a difference to other variables starting with @?
and what does clear_events?
thanks for linking in!
there are a few things new for me, like the @tooltip = ObjectSpace._id2ref(@ruby_id_tooltip)
what exactly is this @tooltip variable ? is it generated inside the master tooltip module?
is there a difference to other variables starting with @?
and what does clear_events?
thanks for linking in!
Last edited by Nubeat7 on Fri Jun 10, 2016 10:37 pm, edited 1 time in total.
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: knob tooltips
Unfortunately I get a RUBY error when touching knobs. [FS 3.04]
I can't tell what the error message is since it clears when I leave the knob area.
I can't tell what the error message is since it clears when I leave the knob area.
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: knob tooltips
thanks to tronic and tulamide i could fix and improve my own version too,
i also integrated a delay for the infopanel to show up (done in green) because i really like the idea, also used the right area redrawing now so i think evrything is fine now..
but i'm pretty sure that tronics version has a better cpu performance, if you will test it with 448 knobs aombk or anyone else it would be interesting
@ rj hollins maybe this works too in 3.04
i also integrated a delay for the infopanel to show up (done in green) because i really like the idea, also used the right area redrawing now so i think evrything is fine now..
but i'm pretty sure that tronics version has a better cpu performance, if you will test it with 448 knobs aombk or anyone else it would be interesting
@ rj hollins maybe this works too in 3.04
- Attachments
-
- controller tooltip.fsm
- (873.93 KiB) Downloaded 894 times
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: knob tooltips
No errors with 3.04 .... however ...
nothing is displayed in the black box
nothing is displayed in the black box
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: knob tooltips
Nubeat7 wrote:there are a few things new for me, like the @tooltip = ObjectSpace._id2ref(@ruby_id_tooltip)
what exactly is this @tooltip variable ? is it generated inside the master tooltip module?
is there a difference to other variables starting with @?
This is part of Tronic's and my efforts of finding ways for direct communication between modules. @ruby_id_tooltip is an input that gets fed with the object_id of the RubyEdit that creates the tooltip. ObjectSpace._id2ref converts an object_id to a usable object reference (e.g. @tooltip now represents the RubyEdit that manages the tooltip). See more about it in this thread.
clearEvents is an undocumented method of the RubyEdit class. I never used it, but from the name I guess it clears a buffer of events (which would make sense here to avoid too many triggers/redrawings).
Nice to see so much improvement. Yes, Tronic's version is lighter on the cpu, but all of us have learned today, and that is the most important thing, isn't it?
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: knob tooltips
@ Nubeat7
even your suffering of my own bugs,
I can not find an efficient way to handle the mouse up when captured after an drag and drop, and must be resolved.
@tulamide
Thanks for the explanation, but the clearEvents is documented in Chapter 8, page 148
even your suffering of my own bugs,
I can not find an efficient way to handle the mouse up when captured after an drag and drop, and must be resolved.
@tulamide
Thanks for the explanation, but the clearEvents is documented in Chapter 8, page 148
- Tronic
- Posts: 539
- Joined: Wed Dec 21, 2011 12:59 pm
Re: knob tooltips
Tronic wrote:@ Nubeat7
even your suffering of my own bugs,
I can not find an efficient way to handle the mouse up when captured after an drag and drop, and must be resolved.
oh, you mean that the info label jumps around after valuechanges on the knobs?
a mOver to false when releasing mouse fixes this..
- Attachments
-
- controller tooltip.fsm
- (583.17 KiB) Downloaded 924 times
Last edited by Nubeat7 on Sat Jun 11, 2016 4:13 pm, edited 1 time in total.
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Who is online
Users browsing this forum: No registered users and 32 guests