Looking at this enum for selecting the setting that you want to get or set:
/**
* Defines the list of settings.
* Seekware_SetSetting and Seekware_GetSeting are valid for settings less than or equal to SETTING_THERMOGRAPHY_VERSION
* Seekware_SetSettingEx and Seekware_GetSettingEx are valid for all settings.
*/
typedef enum sw_settings { // Size in Bytes:
SETTING_ACTIVE_LUT, // 4
SETTING_TEMP_UNITS, // 4
SETTING_TIMEOUT, // 4
SETTING_CONTROL, // 4
SETTING_EMISSIVITY, // 4
SETTING_BACKGROUND, // 4
SETTING_THERMOGRAPHY_VERSION, // 4
SETTING_TEMP_DIODE_ROOM, // 4
SETTING_TEMP_DIODE_SLOPE, // 4
SETTING_TEMP_DIODE_OFFSET, // 4
SETTING_GLOBAL_THERM_ADJUST, // 4
SETTING_SCENE_THERM_ADJUST, // 8
SETTING_ENVIRONMENT_THERM_ADJUST, // 8
SETTING_SPECIFIC_THERM_ADJUST, // 12
SETTING_TRANSIENT_CORRECTION_ENABLE, // 4
SETTING_TRANSIENT_CORRECTION_PARAMS, // 8
SETTING_SMOOTHING, // 4
SETTING_AUTOSHUTTER, // 4
SETTING_MINMAX, // 24
SETTING_SHARPENING, // 4
SETTING_ENABLE_TIMESTAMP, // 4
SETTING_RESET_TIMESTAMP, // 4
SETTING_TRIGGER_SHUTTER, // 4
// AGC Settings
SETTING_AGC_MODE, // 4
SETTING_HISTEQ_BIN_COUNT, // 4
SETTING_HISTEQ_INPUT_BIT_DEPTH, // 4
SETTING_HISTEQ_OUTPUT_BIT_DEPTH, // 4
SETTING_HISTEQ_HIST_WIDTH_COUNTS, // 4
SETTING_HISTEQ_PLATEAU_VALUE, // 4
SETTING_HISTEQ_GAIN_LIMIT, // 4
SETTING_HISTEQ_GAIN_LIMIT_FACTOR_ENABLE, // 4
SETTING_HISTEQ_GAIN_LIMIT_FACTOR, // 4
SETTING_HISTEQ_GAIN_LIMIT_FACTOR_XMAX, // 4
SETTING_HISTEQ_GAIN_LIMIT_FACTOR_YMIN, // 4
SETTING_HISTEQ_ALPHA_TIME, // 4
SETTING_HISTEQ_TRIM_LEFT, // 4
SETTING_HISTEQ_TRIM_RIGHT, // 4
SETTING_LINMINMAX_MODE, // 4
SETTING_LINMINMAX_MIN_LOCK, // 4
SETTING_LINMINMAX_MAX_LOCK, // 4
SETTING_LINMINMAX_ACTIVE_MIN_VALUE, // 4
SETTING_LINMINMAX_ACTIVE_MAX_VALUE, // 4
FEATURE_OEM = 1000, // Size in bytes and type dependent on setting. Please contact Seek for details. Use FEATURE_OEM + index with additional settings provided by Seek
SETTING_LAST = 100000,
} sw_settings;
It looks like I would need to use Seekware_SetSettingEx (not Seekware_SetSetting) to set the autoshutter mode, as it comes after SETTING_THERMOGRAPHY_VERSION in the enum. However, I realized that the only difference between the Ex and normal versions of Seekware_SetSetting (and Seekware_GetSetting) was that the Ex versions of these functions allow you to pass any arbitrary sized data as the value, while the normal versions of these functions allow you to pass only a 4-byte value. As such, I tested and confirmed, that MOST of the settings in this enum can be retrieved with Seekware_GetSetting, and set with Seekware_SetSetting, as most of the settings here fit in 4 bytes. The ONLY settings you actually need to use Seekware_SetSettingEx and Seekware_GetSettingEx for are SETTING_SCENE_THERM_ADJUST, SETTING_ENVIRONMENT_THERM_ADJUST, SETTING_SPECIFIC_THERM_ADJUST, SETTING_TRANSIENT_CORRECTION_PARAMS, and SETTING_MINMAX.
Theoretically the Ex settings functions might also do something else inside their own code in the DLL, but the interface they present is different only by how big the value is that you are allowed to pass to the settings (looking at how the arguments are defined for the functions in the seekware.h file). And so far, all of the settings I've tried to adjust have been 4-byte settings, and they have all worked with the normal Seekware_GetSetting and Seekware_SetSetting, and produced the intended results. Of course if internally the Ex versions are doing something very different, I might end up (in a worst case scenario) corrupting the firmware settings on the camera, but I haven't experienced this with my Seek Compact Pro FastFrame camera.