ML UI rationalization

Started by stevefal, January 29, 2013, 01:37:55 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

1%

other cams have arrow keys + wheel. I think both the wheel and keys have to work it, they do right now. i like the graying of things not working in whatever mode. just have to make sure the reasons are right so we don't really disable a feature that will actually work.

stevefal

Quote from: 1% on February 02, 2013, 12:56:06 AM
other cams have arrow keys + wheel. I think both the wheel and keys have to work...
Missed that. Fixed, thx.
Steve Falcon

a1ex

Quote from: 1% on February 02, 2013, 12:50:23 AM
sometimes it glitches when graying out items. might be from dma copy

Using uncacheable BMP VRAM (see bmp_vram()) will fix that (but it will draw slower, so probably negates the dma copy advantage). Worth running some benchmarks.

Quotenot everything needs autoiso off.
I've counted 3 things, and I'm sure I've missed some.

I'm thinking to add a callback to check dependencies, instead the MNI_WARNING icon hack.

Quotei like the graying of things not working in whatever mode. just have to make sure the reasons are right so we don't really disable a feature that will actually work.

Sure, that's why I've introduced 2 levels of warnings: first will gray out the feature (meaning it won't work at all), and the second will just display some advice (e.g. intervalometer works best in photo mode... but if you want to enable it in movie mode, it will still work; but for bulb ramping, you really need to go to photo mode => intervalometer is not grayed out, but ramping is).

wolf

@stevefal I like the design of your submenu. It looks cleaner and doesn't change size depending on the entries.
In my opinion fast and easy editing of features should have priority.

a1ex

If we go for full-screen submenu, it may not be obvious that submenu items are using a different keybinding (left-right: toggle values).

More stuff on the repo: icons removed, ON/OFF labels dimmed, colon erased (really dirty implementation, but it's just enough to try the concept without breaking the entire codebase).

In menu.c, define CONFIG_MENU_ICONS and undefine CONFIG_MENU_DIM_HACKS to go back to the old style (icons, colons and no dimming).

To me, it starts to look more and more like an old DOS program :D

SDX

I just tested the latest stuff by Alex and noticed something about the now missing icons:


  • *It looks dead and yea... like an DOS application
  • *I can not find my stuff anymore. I just identified functions by the icon. I'm highly used to ML, but suddenly I have trouble with the menu
  • *I'm serious, it looks dead boring now.

This only applies to the Icons of course. Otherwise I love the stuff discussed here!

SDX

Okay, a bit more constructive.
Together with A1ex we tested a few ways to solve this. You see three screenshots, whereas the first one is the discussed one, without icons and grayed entries. The second one, my favourite with only grayed entries. The last one is pretty much the original.


nanomad

I rely a lot on visual feedback and the second one looks the best to me
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

stevefal

I think main and submenus should look and work the same, as much as possible.
Steve Falcon

screamer

the second one is my favorite
always trying to use the 100% of magic lantern..
Gear:
Canon 60D, all the samyang lenses, Canon 50 mm 1.4, Canon 60mm macro, Canon 70-300 usm, Sigma 4.5mm fisheye, Sigma 17-70 2.8, Canon 40mm f2.8 pancake, all the Lensbabies and a lot of other pieces, Flash metz 58 af2

stevefal

I think folks will get used to more emptiness. I like it.
Steve Falcon

stevefal

What do people really get out of the icons?
Steve Falcon

stevefal

Steve Falcon

1%

Well its not compiling yet, probably cause a1ex isn't done.

getting rid of the reverse toggles might drop binary size some but now i have to rewrite the 600D build and its bitrate.c and hope the pulls don't eat a bunch of functions.

a1ex

It's quite easy to rewrite the reverse toggle: if (delta < 0) call the reverse func. I did that in audio.c.

What error are you getting? Here it compiles fine on all cameras from nightly repo, with the default feature set.


1%

I have to upgrade gcc, found it in an earlier commit.

*I'll go by what you did on how to fix it but still a pita... oh well its for the best. kinda itching to know how much if any size got saved.

nanomad

Looks like it's time to upgrade the default settings to GCC 4.7 at least. I'll get cracking on a version check
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

nanomad

Quote from: stevefal on February 02, 2013, 05:46:56 PM
Everyone relies on visual feedback! Can you please describe, in priority order, any specific elements of information that you rely on from the icons?

The most important (to me) is the ON/OFF/DISABLED status. But also the "volume icon" (not the correct name, but I hope you get the idea) to quickly tell how far a value is from the starting one
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

screamer

Agree with nanomad, the left icons for me are useful because you have an immediate feedback about the generic status of a function (green or red dot ecc). And really the space that icons use is not so much
always trying to use the 100% of magic lantern..
Gear:
Canon 60D, all the samyang lenses, Canon 50 mm 1.4, Canon 60mm macro, Canon 70-300 usm, Sigma 4.5mm fisheye, Sigma 17-70 2.8, Canon 40mm f2.8 pancake, all the Lensbabies and a lot of other pieces, Flash metz 58 af2

1%

well 600D audio is broken now. the values jump aroun. ie internal mic is gray. 12db is last and gray on analog gain.

6d crashes from beep.c task on memor.c... maybe from shoot_malloc small or dma copy... i dunno but both worked yesterday. playback also crashes from the same thing and sometimes the menu.

its not from dma, I took it out and still dies;

ASSERT: 0
at ./Memory/Memory.c:568, task write_q_task
lv:0 mode:7


bug is confirmed to be from smallaloc... took it out and still get an error, shit

compiled a smaller binary an so far no crash... wtf, was only like 450k

a1ex

Graying is not exact, ignore it for now. Whenever a value is zero, the menu code thinks it's off and grays it. Disable CONFIG_MENU_DIM_HACKS and should be OK.

The change for analog gain looks alright, should toggle exactly the same as before:

static void analog_gain_toggle( void * priv, int delta )
{
-    menu_numeric_toggle(priv, 1, 0, 7);
-    audio_ic_set_analog_gain();
-}
-static void analog_gain_toggle_reverse( void * priv, int delta )
-{

-    menu_numeric_toggle(priv, -1, 0, 7);
+    menu_numeric_toggle(priv, delta, 0, 7);
     audio_ic_set_analog_gain();
}


Can you show a screenshot with what's wrong?

stevefal

Quotehe most important (to me) is the ON/OFF/DISABLED status
I'll give the left side icons a go..
Steve Falcon

1%

that is supposed to be -12 db



also screen shot now says 0s

a1ex

The menus are not aligned, the ":" should stay on the same column for all items. This is what's causing the bug.

The ":" is now erased the hard way, and its position is hardcoded. To implement it cleanly, I need to rewrite all the display functions.

Disable CONFIG_MENU_DIM_HACKS and should be OK.

1%

ok, works without the dim hacks.

still says off db tho.