Silent Picture help text not displaying correctly on 5D3

Issue #1980 closed
Audionut created an issue

help2 does not display correctly on 5D3. Instead, all options produce "Set AF to back btn (*) from Canon menu (CFn / custom ctrl)."

I can't even find this help text in the source, to try and fix it myself.

Comments (7)

  1. Audionut reporter

    I know I am stupid, but I am not that stupid. Well, not on this occasion anyway :P (I hope)!

    I always use back button focusing on *.

  2. Alex

    Then, the bug is for all other functions that depend on AF on the back-button (lookup DEP_CFN_AF_BACK_BUTTON). Hard to notice though, since it's not widely used.

    In Custom Controls, if you set half-shuter to AE lock, it will be recognized correctly, but if you set it to Metering start, it will fail.

    At first sight, the fix should be along these lines (not tested):

    diff -r 108d93d9abc9 src/menu.c
    --- a/src/menu.c    Sun May 11 11:01:09 2014 +0300
    +++ b/src/menu.c    Tue May 13 23:39:10 2014 +0300
    @@ -1995,7 +1995,7 @@
             snprintf(warning, MENU_MAX_WARNING_LEN, "This feature requires manual focus.");
         else if (DEPENDS_ON(DEP_CFN_AF_HALFSHUTTER) && cfn_get_af_button_assignment() != AF_BTN_HALFSHUTTER && !is_manual_focus())
             snprintf(warning, MENU_MAX_WARNING_LEN, "Set AF to Half-Shutter from Canon menu (CFn / custom ctrl).");
    -    else if (DEPENDS_ON(DEP_CFN_AF_BACK_BUTTON) && cfn_get_af_button_assignment() != AF_BTN_STAR && !is_manual_focus())
    +    else if (DEPENDS_ON(DEP_CFN_AF_BACK_BUTTON) && cfn_get_af_button_assignment() == AF_BTN_HALFSHUTTER && !is_manual_focus())
             snprintf(warning, MENU_MAX_WARNING_LEN, "Set AF to back btn (*) from Canon menu (CFn / custom ctrl).");
         else if (DEPENDS_ON(DEP_EXPSIM) && lv && !lv_luma_is_accurate())
             snprintf(warning, MENU_MAX_WARNING_LEN, EXPSIM_WARNING_MSG);
    @@ -2038,7 +2038,7 @@
                 snprintf(warning, MENU_MAX_WARNING_LEN, "This feature works best with manual focus.");
             else if (WORKS_BEST_IN(DEP_CFN_AF_HALFSHUTTER) && cfn_get_af_button_assignment() != AF_BTN_HALFSHUTTER && !is_manual_focus())
                 snprintf(warning, MENU_MAX_WARNING_LEN, "Set AF to Half-Shutter from Canon menu (CFn / custom ctrl).");
    -        else if (WORKS_BEST_IN(DEP_CFN_AF_BACK_BUTTON) && cfn_get_af_button_assignment() != AF_BTN_STAR && !is_manual_focus())
    +        else if (WORKS_BEST_IN(DEP_CFN_AF_BACK_BUTTON) && cfn_get_af_button_assignment() == AF_BTN_HALFSHUTTER && !is_manual_focus())
                 snprintf(warning, MENU_MAX_WARNING_LEN, "Set AF to back btn (*) from Canon menu (CFn / custom ctrl).");
             //~ else if (WORKS_BEST_IN(DEP_EXPSIM) && lv && !lv_luma_is_accurate())
                 //~ snprintf(warning, MENU_MAX_WARNING_LEN, "This feature works best with ExpSim enabled.");
    

    and maybe also #define AF_BTN_STAR 1 in consts.h.

  3. Audionut reporter

    I don't understand why you suggest I might have needed to define AF_BTN_STAR? Wouldn't this have needed to be defined with the removed code?

    I also don't understand how this works, when it looks like the same code as DEP_CFN_AF_HALFSHUTTER?

    Two different key assignments appear to be activated by the same code?

  4. Alex

    AF_BTN_STAR is the setting used by ML when it takes pictures without autofocus (that is, most of the time - intervalometer, bracketing, whatever else).

    There seem to be many settings for this AF button configuration, and they are camera-specific. When ML code decides to change it (either enable AF on half-shutter, or disable it), it's fine to pick two of these settings (that's what the macros do). But when ML only recommends the setting in the menu, it will be probably wise to know about all these settings (which of them are on half-shutter, which of them are on back button).

    So, I need to look at some more cameras to see how these things are assigned.

  5. Log in to comment