Index: core/shooting.c===================================================================--- core/shooting.c (revision 2405)+++ core/shooting.c (working copy)@@ -736,6 +736,10 @@ // TODO whats the reason for this ?!? return (shooting_get_zoom()<8) && (m!=MODE_AUTO) && (m!=MODE_SCN_UNDERWATER); #else+#if CAM_ONLY_SD_OVER_WHEN_NO_CONFLICT+ if ( (shooting_get_prop(PROPCASE_CONTINUOUS_AF)) || (shooting_get_prop(PROPCASE_SERVO_AF)) )+ return 0;+#endif return 1; #endif }Index: include/camera.h===================================================================--- include/camera.h (revision 2405)+++ include/camera.h (working copy)@@ -46,6 +46,7 @@ #undef CAM_CAN_SD_OVER_IN_AF_LOCK // Camera allows subject distance (focus) override when in AF Lock mode #undef CAM_CAN_SD_OVER_IN_AF_LOCK_ONLY // Camera allows subject distance (focus) override only when in AF Lock mode OR in movie mode #define CAM_CAN_SD_OVERRIDE 1 // Camera allows to do subject distance override+ #undef CAM_ONLY_SD_OVER_WHEN_NO_CONFLICT // Camera can't tolerate subject distance override when servo AF or continuous AF is active #define CAM_HAS_MANUAL_FOCUS 1 // Camera has manual focus mode #define CAM_HAS_USER_TV_MODES 1 // Camera has tv-priority or manual modes with ability to set tv value #undef CAM_SHOW_OSD_IN_SHOOT_MENU // On some cameras Canon shoot menu has additional functionality and useful in this case to see CHDK OSD in this modeIndex: include/propset2.h===================================================================--- include/propset2.h (revision 2405)+++ include/propset2.h (working copy)@@ -52,4 +52,7 @@ #define PROPCASE_DIGITAL_ZOOM_MODE 91 //G10 Digital Zoom Mode/State 0 = off/standard, 2 = 1.7x, 3 = 2.1x #define PROPCASE_STITCH_DIRECTION 233 //D10 0=left>right, 1=right>left #define PROPCASE_STITCH_SEQUENCE 238 //D10 counts shots in stitch sequence, positive=left>right, negative=right>left+#define PROPCASE_VIDEO_RESOLUTION 169+#define PROPCASE_SERVO_AF 293 //ixus110 0 = servo AF not active, 1 = servo AF active+#define PROPCASE_AF_LOCK 11 #endif
It would be good to check some other cameras with these modes, it's hard to see how SD override would actually work (even if it doesn't crash). In that case maybe we don't need the ifdef.
There are multiple problems with this.- there might be more situations where SD override could cause trouble, which may require inclusion of other propcases
- make shooting_can_focus() weak, so it can be overridden for models that need it -> thumb code, probably not possible
What I meant is that it seems likely SD override will *never* work in servo or continuous af mode, in which case, those ones don't need to be under a camera.h ifdef. They might need an #ifdef propcase_* but to me that's better than a camera.h define, because it's only in one place and people making ports don't have to worry about it.
I can confirm my D10 also shuts down if SD override is used in servo AF mode, ASSERT!! AFScanDriver.c Line 1228I don't think it has continuous AF, auto seems to work OK.
If it will be me doing this, the check will probably be restricted to propsets 2, 4, 5, as the others miss both propcases in their propset*.h header.
BTW, may I go ahead and add this port to trunk / 1.1? It's good enough for an alpha, I think.
I think we can just guard each one with with #ifdef PROPCASE_SERVO_AF etc, since even if it didn't crash, SD override doesn't make much sense in these modes.
Started by uri998
Started by c10ud
« 1 2 ... 77 78 »
Started by msaddicted
Started by msaddicted
Started by nafraf
« 1 2 ... 28 29 »