600D: silent pics, AF and star button

Started by escho, October 27, 2013, 05:58:40 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

escho

Two questions:

1.
Is ist possible to take a silent pic only, if focus is confirmed (simple mode an AF)?

2. How do I disable, that a silent pic ist taken, if I press the star-button?

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

a1ex

1. IIRC, PROP_LV_FOCUS_STATE was updated when AF was confirmed by Canon in LiveView.

You can also try some heuristic based on focus_value (0-100), focus_value_delta, focus_min_value and focus_value_raw (all in focus.c). The one I use for LV trap focus and Magic Zoom green bars is: (focus_value > 80 && focus_min_value < 60).

2. With strong reverse engineering skills and lots of time. It's easier to disable trigger on half-shutter, or add a check for focus confirmation.

escho

I think, a check for focus-confirmation would be fine. I tried it like this

I added to the end of gui-common.c this function:

char focus_confirmed() { return FOCUS_CONFIRMATION; }

And I changed silent.c like this:

static unsigned int silent_pic_polling_cbr(unsigned int ctx)
{
    static int silent_pic_countdown;
    if (!display_idle())
    {
        silent_pic_countdown = 10;
    }
    else if (!get_halfshutter_pressed())
    {
        if (silent_pic_countdown) silent_pic_countdown--;
    }

    if (lv && silent_pic_enabled && get_halfshutter_pressed() && (focus_confirmed() || is_manual_focus()))
    {
        if (silent_pic_countdown) // half-shutter was pressed while in playback mode, for example
            return 0;
       
        silent_pic_take(1);
    }
    return 0;
}



With these changes, the silent pics (simple mode) were taken in three cases:
1. no lens adapted always
2. lens in MF-mode always
3. lens in AF-mode only if focus is confirmed
This is tested on my 600d.

What do you think about the way, I try to integrate this stuff? Did I forget something?. Can this be coded, like I did?

It´s nice to learn a little bit coding on a living object like magiclantern :)

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

a1ex

Does FOCUS_CONFIRMATION work in LiveView?! Cool, never tried, since I only checked it for trap focus in MF.

escho

https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

1%