Experiment - Dynamic My Menu

Started by a1ex, January 31, 2017, 09:51:00 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

a1ex

Today I was a bit tired of debugging low-level stuff like Lua tasks or camera-specific quirks, but still wanted to write something cool. So here's something I wanted for a long time. The feedback back then wasn't exactly positive, so it never got implemented, but I was still kinda missing it.

Turns out, it wasn't very hard to implement, so there you have it.

What is it?

You already know the Modified menu (where it shows all settings changed from the default value), and My Menu (where you can select your favorite items manually). This experiment attempts to build some sort of "My Menu" dynamically, based on usage counters.

How it works?

After a short while of navigating ML menu as you usually do, your most recently used items and also your frequently used items should appear there. As long as you don't have any items defined for My Menu, it will be built dynamically. The new menu will be named "Recent" and will keep the same icon as My Menu.



Every time you click on some menu item, the usage counter for that item is incremented. All the other items will have a "forgetting factor" applied, so the most recently used items will raise to the top of the list fairly quickly.

Clicking the same item over and over will only be counted once (so scrolling through a long list of values won't give extra priority to menu items). Submenu navigation doesn't count; only changing a value or running an action are counted.

Time is discrete (clicks-based). It doesn't care if you use the camera 10 hours a day or a couple of minutes every now and then.

To have both good responsiveness to recent changes, but also learn your habits over a longer time, I've tried two usage counters: one for short term and another for long term memory. If, let's say during some day, you need to keep toggling a small set of options, it should learn that quickly. But, if no longer need those options after that special day, those menu items will be forgotten quickly, and the ones you use daily (stored in the "long term memory") should be back soon.

So, the only difference between the "long term" and the "short term" counters is the forgetting factor: 0.999 vs 0.9. In other words, the "long term" counters have more inertia.

When deciding whether a menu item is displayed or not, the max value between the two is used, resulting a list of "top 11 most recently or frequently used menus". The small gray bars from the menu are the usage counters (debug info).

I have no idea how well this works in practice - it's something I came up with a few hours ago, and the tuning parameters are pretty much arbitrary.

Source code committed, and if there is interest, I can prepare an experimental build as well.

DeafEyeJedi

Quote from: a1ex on January 31, 2017, 09:51:00 PM
Source code committed, and if there is interest, I can prepare an experimental build as well.

Awesome stuff a1ex and I'm definitely interested in this one yet another useful feature!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


Licaon_Kter


RenatoPhoto

Yes looks interesting.  I use My menu in Canon menu for quick access to the most important functions.
What happens when you switch from one config file to the next?  I use multiple config files for specific recording options.. will this menu be built across all of the config files or will it only be specific to each config file.
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

a1ex

Currently, the config file presets are used for all settings, including menu customization.

Tom_LS

Hi, ML is amazing, thanks.
Is there any solution to use ML menu like canon user presets? For example:
preset 1 "RAW" turn on RAW Video, MLV Sound, Crop Mode, etc.
preset 2 "h.264" turn off RAW Video, MLV Sound, Crop Mode, etc.


Tom_LS


cybermarmotte

Tous mes profils sur les réseaux sociaux depuis mon site perso: http://www.etiennebretteville.com

DeafEyeJedi

Just for shits and giggles... This is how I go out and about for my basic daily needs within the Modified settings.

https://vimeo.com/202070321

Now let's just imagine how much more fluid this would be with @a1ex's latest Dynamic My Menu coming out of the magic hat?

:D
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

NoCp_Albert

Very interesting, at the moment I use the Canon Presets c2, c3 for 1920x1080x25fps and 1280x720x50fps as Basics for either ML FPS-override 25fps ore ML FPS-Override 50fps. 25Fps as preset for FHD and 3xcrop mode recording and 50fps for 5x centered Crop, 10bit.
It will be a dream to get a "ML Menu" Version where the user can select 2-3 config files as presets for a quick Change for different recording situations.
If I like to make a quick change in front of a rear Animal or Bird in Nature and I touch the wrong Button the session is over, restart and maybe Battery, skipping Module loading, stop again and start new is the normally way to restart the System. To avoid this will be a very great step and help.
EOS 5D3 -113,-123, EOS 7D2, EOS 400, Lens EF16-35 f4 L, EF35 f2 IS, EF85 f1.8, EF 24-105 f4 L, EF 100-400 L II, EF 600 f4 L, Samyang 14mm f2.8, Canon Tc 1,4III, Kenko Tc 1,4 DGC

Walter Schulz

Quote from: NoCp_Albert on February 01, 2017, 07:09:21 PM
It will be a dream to get a "ML Menu" Version where the user can select 2-3 config files as presets for a quick Change for different recording situations.

2-3? How about 13?
http://www.magiclantern.fm/forum/index.php?topic=8499.0
For German speakers:
http://www.magiclantern.fm/forum/index.php?topic=15045.msg147465#msg147465


garry23

Like others, I'm looking forward to using this.

Such a feature was why I played around with the 'Toggler' idea, especially on the EOSM.

https://gist.github.com/pigeonhill/156ea0e55cd0a029bc447f8bf5593224

The Toggler lets me cycle through different ML 'use states', without going into the ML menu.

a1ex

Experimental build posted.

The Junkie menu is now auto-generated as well. Please post screenshots.

DeafEyeJedi

5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

RenatoPhoto

http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

budafilms



a1ex

Recently I had to change often a setting that was normally hidden under Advanced, in a submenu (that was mlv_lite -> raw video -> preview). This required a bit too many clicks for my taste. Of course, it's easy to move this particular setting back to main menu, but I was thinking at something more generic.

Since we already have usage counters, a submenu with more than say 8 items could auto-hide the less frequently used ones, overriding my default choice of simple/advanced options.

Is this something worth looking into?

DeafEyeJedi

Quote from: a1ex on April 22, 2017, 09:04:34 PM
...Since we already have usage counters, a submenu with more than say 8 items could auto-hide the less frequently used ones, overriding my default choice of simple/advanced options.

Is this something worth looking into?

Sure. It would be nice.
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

Licaon_Kter

This works nicely indeed.

One glitch that I saw, I enabled DualISO, set recovery ISO, set normal ISO, whatever shoot, later went to MyMenu to toggle it off but I could only see the sub-menu (where you set normal ISO and recovery ISO), so I had to go back to the main menu, turn it off from there and then coming back I had DualISO is MyMenu too.

a1ex

Update - this has been available for a while in some experimental builds (lua_fix, crop_rec_4k, 1200D). If you have used any of these builds for a longer time, please post:

- a screenshot of your (automatically created) My Menu (Recent ★)
- a screenshot of your Junkie menu (press the MENU key while in ML menu)
- your comments on whether the contents of this menu match your most used options, or anything was missed
- whether or not you have actually noticed / used / found this menu useful
- your ML/SETTINGS directory from the card, to allow me to reproduce your screenshot in QEMU

Note: if you clear ML settings, this feature will forget everything it has "learned" about your ML menu browsing habits :)

Thanks.

axelcine

Dynamic My Menu is an extremely good idea. Is it possible to have the Dynamic My Menu pop up as an automatic menu choice when we activate ML? (Like Canon in Creative modes)? Anyway the Dynamic My Menu is a godsend. Thanx A1ex.
EOS RP, 5dIII.113/Batt.grip, 5dIII.123, 700d/Batt.Grip/VF4 viewfinder + a truckload of new and older Canon L, Sigma and Tamron glass