Close the AAA loop

This commit is contained in:
Martijn Braam
2023-07-21 13:43:24 +02:00
parent f26f81e3f1
commit 16dfb9ba19
3 changed files with 58 additions and 48 deletions

View File

@@ -131,13 +131,12 @@ update_io_pipeline()
.focus.max = state.focus.max,
.focus.manual = state.focus.manual,
.focus.manual_req = state.focus.manual_req,
.stats.exposure = state.stats.exposure,
.stats.whitebalance = state.stats.whitebalance,
.stats.focus = state.stats.focus,
};
mp_io_pipeline_update_state(&new_state);
// Make the right settings available for the camera
gtk_widget_set_visible(flash_button, state.control_flash);
gtk_widget_set_visible(iso_button, state.gain.control != 0);
gtk_widget_set_visible(shutter_button, state.exposure.control != 0);
}
/*
@@ -146,33 +145,42 @@ update_io_pipeline()
static bool
update_state(const mp_state_main *new_state)
{
if (state.camera == new_state->camera) {
state.gain.control = new_state->gain.control;
state.gain.auto_control = new_state->gain.auto_control;
state.gain.value = new_state->gain.value;
state.gain.max = new_state->gain.max;
state.gain.manual = new_state->gain.manual;
state.gain.control = new_state->gain.control;
state.gain.auto_control = new_state->gain.auto_control;
state.gain.value = new_state->gain.value;
state.gain.max = new_state->gain.max;
state.gain.manual = new_state->gain.manual;
state.exposure.control = new_state->exposure.control;
state.exposure.auto_control = new_state->exposure.auto_control;
state.exposure.value = new_state->exposure.value;
state.exposure.max = new_state->exposure.max;
state.exposure.manual = new_state->exposure.manual;
state.exposure.control = new_state->exposure.control;
state.exposure.auto_control = new_state->exposure.auto_control;
state.exposure.value = new_state->exposure.value;
state.exposure.max = new_state->exposure.max;
state.exposure.manual = new_state->exposure.manual;
state.focus.control = new_state->focus.control;
state.focus.auto_control = new_state->focus.auto_control;
state.focus.value = new_state->focus.value;
state.focus.max = new_state->focus.max;
state.focus.manual = new_state->focus.manual;
state.focus.control = new_state->focus.control;
state.focus.auto_control = new_state->focus.auto_control;
state.focus.value = new_state->focus.value;
state.focus.max = new_state->focus.max;
state.focus.manual = new_state->focus.manual;
state.has_auto_focus_continuous =
new_state->has_auto_focus_continuous;
state.has_auto_focus_start = new_state->has_auto_focus_start;
}
state.has_auto_focus_continuous =
new_state->has_auto_focus_continuous;
state.has_auto_focus_start = new_state->has_auto_focus_start;
state.preview_buffer_width = new_state->preview_buffer_width;
state.preview_buffer_height = new_state->preview_buffer_height;
state.stats.exposure = new_state->stats.exposure;
state.stats.whitebalance = new_state->stats.whitebalance;
state.stats.focus = new_state->stats.focus;
// Make the right settings available for the camera
gtk_widget_set_visible(flash_button, state.control_flash);
gtk_widget_set_visible(iso_button, state.gain.control != 0);
gtk_widget_set_visible(shutter_button, state.exposure.control != 0);
update_io_pipeline();
return false;
}