Ok--let's try to figure this out. There is another user, @Felipe, who posted some test results on the
Canon 650D / T4i topic.
On the unified branch (a.k.a. "stable" or "Nightly") and some of the experimental branches there is a line of code that is intended to turn off Movie crop mode. Why? Because users were freaking out when they switch to a non Magic Lantern card. The camera seems to be "stuck" in Movie crop mode. Note that Movie crop mode is only valid in 1920x1080 mode and simply switching to 1280x720 or 640x480 will get the camera out of this mode. So, the expected behavior on all cameras that can do Movie crop mode (EOSM, 100D, 650D, 700D) is for the camera to never be "stuck" in this mode.
However, if you use Movie crop mode regularly it would be nice not to have to keep resetting it every time you start the camera by saving the state of Movie crop mode in a settings file. That is what
pull request #787 is intended to do.
Ok, so all this works great on the EOSM but--there is a problem with the 700D. The theory is that the way the power switch is configured on the 700D (and 100D, 650D as well) is that it switches from movie mode to photo mode before switching off. Well, turns out you can't switch off Movie crop mode from photo mode, the camera has to be in movie mode. The result is that on shutdown the code that turns off Movie crop mode doesn't work.
Now let's look at the build that a1ex provided for testing. A neat trick is to open autoexec.bin in a text editor to see the details about this build:
Magic Lantern Nightly.2018Oct31.650D104
Camera : 650D
Firmware : 104
Changeset: 565ee36ef132+ (100D_merge_fw101) tip
Built on : 2018-10-31 16:15:32 by jenkins@nightly
diff -r 565ee36ef132 src/debug.c
--- a/src/debug.c Tue Jun 05 18:26:37 2018 +0200
+++ b/src/debug.c Wed Oct 31 17:15:32 2018 +0100
@@ -275,8 +275,13 @@
}
#endif
+extern void movie_crop_hack_disable();
+
static void run_test()
{
+ msleep(2000);
+ movie_crop_hack_disable();
+ NotifyBox(5000, "movie crop disabled");
}
static void unmount_sd_card()
diff -r 565ee36ef132 src/tasks.c
--- a/src/tasks.c Tue Jun 05 18:26:37 2018 +0200
+++ b/src/tasks.c Wed Oct 31 17:15:32 2018 +0100
@@ -372,9 +372,6 @@
static void ml_shutdown()
{
check_pre_shutdown_flag();
-#ifdef FEATURE_CROP_MODE_HACK
- movie_crop_hack_disable();
-#endif
ml_shutdown_requested = 1;
info_led_on();
The code to disable Movie crop mode on shutdown has been removed and a test to run the movie_crop_hack_disable() function was added to the debug "Don't click me" menu.
So if the power switch theory holds true then the only test that a1ex told us to run that would turn off Movie crop mode is this one:
Test 4:
- start camera in movie mode, make sure crop mode is enabled
- stay in movie mode
- select "Don't click me" (this will call movie_crop_hack_disable)
- restart camera from power switch; is crop mode still enabled?
In fact that's what
my test results showed. Note that the question for each test is, "is crop mode still enabled?" so the expected result on test 4 is "No."
In all of Walter's 650D tests using the a1ex test build, Movie crop mode was not persistent after restarting the camera so
all of his test results were "No." That wasn't expected.
Ok--so what about that shutdown code that is supposed to turn of Movie crop mode, is that working on the 650D? We have some test results for that because the builds I posted runs movie_crop_hack_disable() as a shutdown task:
Build dfort: Yes, crop mode on after opening/closing card lid.
When I turn off the camera in crop mode and turn it on again remains in crop mode,Fantastic Function. Thank you!!
Wait--this is opposite of the expected behavior! It appears that movie_crop_hack_disable() turned
on Movie crop mode.
[EDIT] Or rather, the reports on my build are inconsistent with what we are seeing on the 700D.
Just for completeness, here are the tests run on the 700D showing the expected results.