500d development - page 247 - DSLR Hack development - CHDK Forum

500d development

  • 2487 Replies
  • 898183 Views
*

Offline a1ex

  • *****
  • 671
  • ML dev
Re: 500d development
« Reply #2460 on: 08 / May / 2012, 06:34:34 »
Advertisements
Looks exactly as on 5D2 - ML menu sits on top of Canon's picture style menu to be able to use the scrollwheel. I assume the scrollwheel works, right?

To play with that dialog, call SetGUIRequestMode(43).

Can you run the menu backend test in LiveView? (under stability test).

Re: 500d development
« Reply #2461 on: 08 / May / 2012, 07:12:22 »
Yes, scrollwheel works. Menu backend test is already running for a few minutes right now. It shows picture style menu on and off over a black screen.

*

Offline a1ex

  • *****
  • 671
  • ML dev
Re: 500d development
« Reply #2462 on: 08 / May / 2012, 07:31:38 »
Sounds good.

You can play with GUIMode values to find more dialogs. Some of them are fake error messages - good for april fools jokes :P

On 550D, one of them shows the Jackie Chan logo :)

Re: 500d development
« Reply #2463 on: 10 / May / 2012, 07:41:46 »
Sounds good.

Scrollwheel doesn't work in movie mode but works well in other modes. Currently I'm compiling from changeset 01b1aca9e350.

You can play with GUIMode values to find more dialogs. Some of them are fake error messages - good for april fools jokes :P

On 550D, one of them shows the Jackie Chan logo :)

April fool jokes seems a good idea :P

Btw, is there any way to change/redirect default GUI to another?
For example I want to change default whitebalance menu to 5D-like menu. Is that possible?


*

Offline a1ex

  • *****
  • 671
  • ML dev
Re: 500d development
« Reply #2464 on: 10 / May / 2012, 07:54:34 »
Scrollwheel works in movie mode in standby? It won't work while recording (no camera can trap scrollwheels while recording yet).

To replace a GUI with another, you can do something like this, somewhere in a loop:

Code: [Select]
if (CURRENT_DIALOG_MAYBE == old_dialog) SetGUIRequestMode(new_dialog);

CURRENT_DIALOG_MAYBE is actually GUIMode (43 for 5D picstyle dialog).

Re: 500d development
« Reply #2465 on: 10 / May / 2012, 08:26:36 »
Scrollwheel works in movie mode in standby? It won't work while recording (no camera can trap scrollwheels while recording yet).

In standby mode it doesn't work.

To replace a GUI with another, you can do something like this, somewhere in a loop:
Code: [Select]
if (CURRENT_DIALOG_MAYBE == old_dialog) SetGUIRequestMode(new_dialog);

CURRENT_DIALOG_MAYBE is actually GUIMode (43 for 5D picstyle dialog).

Is it similar to remapping A-DEP/CA dial to movie mode?

*

Offline a1ex

  • *****
  • 671
  • ML dev
Re: 500d development
« Reply #2466 on: 10 / May / 2012, 08:39:55 »
No, mode remapping is done with set_shooting_mode(SHOOTMODE_M), for example.

In standby mode, does the dialog appear behind ML menu?

Is there any other transparent LiveView dialog that could be used?

Re: 500d development
« Reply #2467 on: 10 / May / 2012, 09:27:32 »
No, mode remapping is done with set_shooting_mode(SHOOTMODE_M), for example.

I see...  But my question originally meant 'how to check the state'. Never mind, I already looked at the code.
Something like this?

Code: [Select]
static void wbgui_task(void* unused) {
    TASK_LOOP {
        if(CURRENT_DIALOG_MAYBE == old_dialog) SetGUIRequestMode(new_dialog);
    }
}

TASK_CREATE("wbgui_task", wbgui_task, 0, 0x1f, 0x1000);

In standby mode, does the dialog appear behind ML menu?

It behaves like in the video I posted before.

Is there any other transparent LiveView dialog that could be used?

How to find out?

Btw, these are GUI modes I found, in non liveview mode.

Code: [Select]
0 - Standby mode
 1 - Play mode
 2 - Menu
 3 - Date/time
 4 - Direct transfer
 5 - Picture style
 6 - White balance
 7 - Image quality
 8 - * Black screen
 9 - Drive mode
10 - AF mode
11 - Flash exposure compensation
12 - White balance (alternative)
13 - Cannot communicate with battery
14 - Too many batteries registered
15 - * Black screen
16 - * Black screen
17 - * Black screen
18 - Info menu
19 - * Black screen
20 - * Black screen
21 - * Does nothing
22 - * Does nothing
23 - Temperature too high, no LiveView
24 - Temperature too high, can't shoot
25 - LiveView
26 - Error 00
27 - * Does nothing
28 - * Does nothing
29 - * Black screen
30 - Set pressed
31 - ISO speed
32 - Exposure compensation/AEB setting
33 - Flash exposure compensation
34 - AF point selection
35 - Picture style
36 - White balance
37 - Metering mode
38 - Image quality
39 - Toggle trap focus
40 - Drive mode
41 - * Black screen
42 - * Black screen
43 - Picture style (alternative)
44 - ERR screen

* Does nothing means back to standby mode.

I tested until number 50 but they seem does nothing and then I stopped testing.


Re: 500d development
« Reply #2468 on: 10 / May / 2012, 09:38:43 »
One more question:

TASK_CREATE vs task_create, what is the difference, and why/when to use one or another?
I already looked at http://magiclantern.wikia.com/wiki/Magic_Lantern_API but still need to ask...

*

Offline a1ex

  • *****
  • 671
  • ML dev
Re: 500d development
« Reply #2469 on: 10 / May / 2012, 09:40:28 »
Basically, any transparent dialog that uses the scrollwheel should work for the menu. Plug its code in consts.h, at GUIMODE_ML_MENU, and recompile with "make clean && make".

On 550D I'm using the flash exposure compensation dialog.

Can you post a video showing the alternate WB dialog? (and also the default one).

TASK_CREATE will create the task at ML startup. The other one, task_create, will create the task at the moment of call. Usually you will only need the first one.
« Last Edit: 10 / May / 2012, 09:43:13 by a1ex »

 

Related Topics