Author Topic: 500D control such as 5D II.  (Read 33794 times)

Marsu42

  • Contributor
  • Hero Member
  • *****
  • Posts: 1557
  • 66d + flashes
Re: 500D control such as 5D II.
« Reply #100 on: April 08, 2013, 09:42:08 AM »
Basically for 60D you need to add the missing consts used to recognize the dialogs

Ok, in the pull request you're writing you're re-doing this from the latest trunk source and simpler, so I'll wait for that.

It would be good if you'd put the basic af point & metering PROP_HANDLER and setting functions a bit outside btw, other features might want to use them so it'd be easier to add them to the #ifdef

Code: [Select]
void set_metering_mode(int new_metering_mode)
{
    new_metering_mode = COERCE(new_metering_mode, 1, 5);
    prop_request_change(PROP_METERING_MODE, &new_metering_mode, 4);
}

void set_af_mode(int new_af_mode)
{
    new_af_mode = COERCE(new_af_mode, 1, 5);
    prop_request_change(PROP_AF_MODE, &new_af_mode, 4);
}

and

propvalues.c:volatile PROP_INT(PROP_METERING_MODE, metering_mode);
propvalues.h:extern int metering_mode;

scrax

  • Contributor
  • Hero Member
  • *****
  • Posts: 1543
  • Code monkey
Re: 500D control such as 5D II.
« Reply #101 on: April 09, 2013, 12:34:01 AM »
Ok, in the pull request you're writing you're re-doing this from the latest trunk source and simpler, so I'll wait for that.

It would be good if you'd put the basic af point & metering PROP_HANDLER and setting functions a bit outside btw, other features might want to use them so it'd be easier to add them to the #ifdef

Code: [Select]
void set_metering_mode(int new_metering_mode)
{
    new_metering_mode = COERCE(new_metering_mode, 1, 5);
    prop_request_change(PROP_METERING_MODE, &new_metering_mode, 4);
}

void set_af_mode(int new_af_mode)
{
    new_af_mode = COERCE(new_af_mode, 1, 5);
    prop_request_change(PROP_AF_MODE, &new_af_mode, 4);
}

and

propvalues.c:volatile PROP_INT(PROP_METERING_MODE, metering_mode);
propvalues.h:extern int metering_mode;

I've found how to make the pull request work again, so maybe restarting from a new clone is not anymore needed. I'm not sure if I understood right what you suggest, will try.
If you want to try it, download my fork and add the missing consts for 60D and then define the feature you want to test.
I'm learning C by writing that code, so any suggestion to improve it is really appreciated. I suppose there is a lot of things that to expert devs could look strange so fell free to criticize it :D
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

Marsu42

  • Contributor
  • Hero Member
  • *****
  • Posts: 1557
  • 66d + flashes
Re: 500D control such as 5D II.
« Reply #102 on: April 09, 2013, 01:51:22 AM »
Does this non-lv shortcut solution cover the idea that I don't need to take my eye away from the viewfinder when changing settings, i.e. say toggle spot/eval metering with the UP key and get a different audio confirmation for each binary value? That's what I proposed in http://www.magiclantern.fm/forum/index.php?topic=5058.0

Other non-lv shortcuts are really nice, but if I want to look at the lcd screen to see the confirmation I can just use full-fledged lv in the first place - what's important for me is access to af/drive/metering functuions without looking.


scrax

  • Contributor
  • Hero Member
  • *****
  • Posts: 1543
  • Code monkey
Re: 500D control such as 5D II.
« Reply #103 on: April 09, 2013, 02:00:31 AM »
Does this non-lv shortcut solution cover the idea that I don't need to take my eye away from the viewfinder when changing settings, i.e. say toggle spot/eval metering with the UP key and get a different audio confirmation for each binary value? That's what I proposed in http://www.magiclantern.fm/forum/index.php?topic=5058.0

Other non-lv shortcuts are really nice, but if I want to look at the lcd screen to see the confirmation I can just use full-fledged lv in the first place - what's important for me is access to af/drive/metering functuions without looking.
if you lear and remember (by using it) the key needed you can change the value for example to change meter mode from spot to multi you have to press left arrow once and up/down arrow twice.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

Marsu42

  • Contributor
  • Hero Member
  • *****
  • Posts: 1557
  • 66d + flashes
Re: 500D control such as 5D II.
« Reply #104 on: April 09, 2013, 07:28:02 AM »
if you lear and remember (by using it) the key needed you can change the value for example to change meter mode from spot to multi you have to press left arrow once and up/down arrow twice.

Ok, then this is not what I need, at least not in the current state as you'll understand - what I'd like are very quick and bulletproof one- or two-click (with meta) key for use in stress situations.

Do you see any sense in my "viewfinder approach" (basically this is something like professional cameras like 1dx or Nikon d4 with switches for access to crucial functions like servo/one shot af) and there's a chance to integrate it into your approach, or am I better off just implementing my own?