Magic Lantern Forum

Developing Magic Lantern => General Development => Topic started by: a1ex on January 06, 2017, 07:02:44 PM

Title: Touch-friendly ML menu
Post by: a1ex on January 06, 2017, 07:02:44 PM
Some experiments I did last summer on a 700D (which I no longer have).

I remember it worked to some extent, but had some quirks. Don't remember the exact details, but I hope it could be useful (or at least fun to tinker with).

http://bitbucket.org/hudson/magic-lantern/commits/branch/touch-menu
Title: Re: Touch-friendly ML menu
Post by: dfort on January 06, 2017, 10:03:50 PM
Compiles fine on the 700D but not on the EOSM:

[ CC       ]   menu.o
../../src/menu.c: In function 'handle_ml_menu_touch':
../../src/menu.c:598:14: error: 'BGMT_DRAG_1_FINGER' undeclared (first use in this function)
         case BGMT_DRAG_1_FINGER:
              ^
../../src/menu.c:598:14: note: each undeclared identifier is reported only once for each function it appears in
../../src/menu.c: In function 'handle_ml_menu_keys':
../../src/menu.c:4901:10: error: 'BGMT_DRAG_1_FINGER' undeclared (first use in this function)
     case BGMT_DRAG_1_FINGER:
          ^
make: *** [menu.o] Error 1
Title: Re: Touch-friendly ML menu
Post by: dfort on January 06, 2017, 11:52:49 PM
Note to self: Look at the code before compiling.

In any case, gave EOSM the finger and it works now. Pull request in progress.
Title: Re: Touch-friendly ML menu
Post by: DeafEyeJedi on January 07, 2017, 03:54:35 PM
Quote from: dfort on January 06, 2017, 11:52:49 PM
...gave EOSM the finger and it works now. Pull request in progress.

That's great news actually, Dan!
Title: Re: Touch-friendly ML menu
Post by: garry23 on January 07, 2017, 04:45:24 PM
Dan/All

As we 'fix' various things on the EOSM, would it be possible to put all fixes in one experimental EOSM build, that we can all access at the same time, ie in the experimental download area?

Just a thought ;)

Cheers

Garry
Title: Re: Touch-friendly ML menu
Post by: Licaon_Kter on January 07, 2017, 05:33:46 PM
Drag the finger... hmmm
Title: Re: Touch-friendly ML menu
Post by: dfort on January 07, 2017, 07:01:15 PM
Quote from: garry23 on January 07, 2017, 04:45:24 PM
As we 'fix' various things on the EOSM, would it be possible to put all fixes in one experimental EOSM build, that we can all access at the same time, ie in the experimental download area?

You mean like roll in all the latest stuff like crop_rec, 10bit/12bit, manual_lens_info, dm_spy, touch-menu, serialflash, compressed_raw and EOSM.203 into one mega merge and put it on the experiments (https://builds.magiclantern.fm/experiments.html) page? Those builds are done automatically on a Jenkins (https://jenkins.io/) system. I'm not sure if it can merge branches automatically but my experience is that many of these experimental branches require resolving merging conflicts.

My suggestion is to learn the basics of compiling, there are several tutorials in the General Development Discussion (http://www.magiclantern.fm/forum/index.php?board=25.0) section.

You are already doing some advanced lua coding. Setting up a development environment should be relatively simple for you.

I'll still make special builds on request if I have the time and interest to do it.
Title: Re: Touch-friendly ML menu
Post by: garry23 on January 07, 2017, 07:04:43 PM
@dfort

Thanks  :)

Cheers

Garry
Title: Re: Touch-friendly ML menu
Post by: Licaon_Kter on January 08, 2017, 03:55:35 PM
Would this help for Autoexpo ( http://www.magiclantern.fm/forum/index.php?topic=7208.250 ) ?
Right now on EOS M we don't have enough hardware buttons to actually use it.
Title: Re: Touch-friendly ML menu
Post by: dfort on January 12, 2017, 03:57:14 AM
I was playing around with this on the EOSM and got into a problem getting into submenus because we don't have a Q button. Is it remapped to another button? The "normal" one finger tap just toggles the menu item on/off and doesn't go into the submenu.
Title: Touch-friendly ML menu
Post by: DeafEyeJedi on January 12, 2017, 06:28:40 AM
This has been the norm (quite not cumbersome tho) for years and yet I thought if you once disable the "back focus button" set-up within Canon's custom menu for those that enjoy this type of photo work (at least I do) and the other work around for me was to go into the last page of ML menu (on far right) and basically scroll through the options from each selected module(s) or thought so?

Don't have the M with me at the moment but I am throwing all of this from the top of my head.
Title: Re: Touch-friendly ML menu
Post by: garry23 on January 12, 2017, 08:18:37 AM
@DeafEyeJedi/@dfort

Which is why I added a dedicated [Q] simulation to my Toggler script  ;) https://gist.github.com/pigeonhill/156ea0e55cd0a029bc447f8bf5593224 (https://gist.github.com/pigeonhill/156ea0e55cd0a029bc447f8bf5593224)

Also, here is 'just' the [Q] sim: https://gist.github.com/pigeonhill/488d28d40da266a5b634bb35b23339a0 (https://gist.github.com/pigeonhill/488d28d40da266a5b634bb35b23339a0) - once again thanks to A1ex for educating me  :)

Also, although the EOSM has the touch UI, if you are wearing gloves or simply don't/can't use the touch, having remapped button functionality that dynamically changes according to your camera's state, eg Toggler, could be a boon. As you can see from my Toggler script's ML states, I can change the EOSM ML states very quickly and reliably, with on-screen feedback  :)
Title: Re: Touch-friendly ML menu
Post by: a1ex on January 12, 2017, 11:45:27 AM
Quote from: dfort on January 12, 2017, 03:57:14 AM
I was playing around with this on the EOSM and got into a problem getting into submenus because we don't have a Q button.

Ideas:

- long press (see TOUCH_ENTRY_LONG_CLICK in the code, not yet functional)
- register a touch zone at the right side of a menu entry
Title: Re: Touch-friendly ML menu
Post by: garry23 on January 12, 2017, 01:59:44 PM
An additional idea (most probably beyond the time available to develop): build into the touch-Lua, the ability to create 'several' touch-zones, say, 4 on the left and 4 on the right, eg zone_L1, zone_L2, zone_R1 etc.

These zones to be able to sense long press would be great as well.

These zones to be configurable in Lua, eg like the current menu get/set arrangement.

Such zones would have some UI control, eg colour and text.

Such an enhancement of the touch UI would, I believe, really add to the touch cameras interactivity, especially the button poor EOSM.

Just some thinking.

Cheers

Garry
Title: Re: Touch-friendly ML menu
Post by: dfort on January 13, 2017, 01:47:04 AM
Quote from: a1ex on January 12, 2017, 11:45:27 AM
Ideas:

- long press (see TOUCH_ENTRY_LONG_CLICK in the code, not yet functional)
- register a touch zone at the right side of a menu entry

The Q is always on the right side of the menu so that seems to be the most intuitive.
Title: Re: Touch-friendly ML menu
Post by: DeafEyeJedi on January 13, 2017, 05:01:12 AM
Quote from: dfort on January 13, 2017, 01:47:04 AM
The Q is always on the right side of the menu so that seems to be the most intuitive.

+1