28#define PEAK_AFL_EXPORT
29#undef PEAK_AFL_CALLCONV
30#define PEAK_AFL_CALLCONV
44typedef peak_afl_status (*dyn_peak_afl_GetVersion)(uint32_t* majorVersion, uint32_t* minorVersion, uint32_t* subminorVersion, uint32_t* patchVersion);
140class LoadLibraryException :
public std::runtime_error {
141 using std::runtime_error::runtime_error;
149 static DynamicLoader& instance()
151 static DynamicLoader dynamicLoader{};
152 return dynamicLoader;
154 bool loadLib(
const char* file);
156 bool setPointers(
bool load);
161 static bool isLoaded();
166 static peak_afl_status peak_afl_GetVersion(uint32_t* majorVersion, uint32_t* minorVersion, uint32_t* subminorVersion, uint32_t* patchVersion);
262 void* m_handle =
nullptr;
263 dyn_peak_afl_Init m_peak_afl_Init{};
264 dyn_peak_afl_Exit m_peak_afl_Exit{};
265 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
266 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
267 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
268 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
269 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
270 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
271 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
272 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
273 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
274 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
275 dyn_peak_afl_AutoFeatureManager_SetGainIPL m_peak_afl_AutoFeatureManager_SetGainIPL{};
276 dyn_peak_afl_AutoFeatureManager_SetCCM m_peak_afl_AutoFeatureManager_SetCCM{};
277 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
278 dyn_peak_afl_AutoFeatureManager_Controller_IsSupported m_peak_afl_AutoFeatureManager_Controller_IsSupported{};
279 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
280 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
281 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
282 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
283 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
284 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
285 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
286 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
287 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
288 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
289 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
290 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
291 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
292 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
293 dyn_peak_afl_AutoController_BrightnessAlgorithm_Set m_peak_afl_AutoController_BrightnessAlgorithm_Set{};
294 dyn_peak_afl_AutoController_BrightnessAlgorithm_Get m_peak_afl_AutoController_BrightnessAlgorithm_Get{};
295 dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported{};
296 dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported{};
297 dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported{};
298 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set m_peak_afl_AutoController_BrightnessComponent_Mode_Set{};
299 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get m_peak_afl_AutoController_BrightnessComponent_Mode_Get{};
300 dyn_peak_afl_AutoController_BrightnessComponent_Status m_peak_afl_AutoController_BrightnessComponent_Status{};
301 dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set m_peak_afl_AutoController_BrightnessComponent_Callback_Set{};
302 dyn_peak_afl_AutoController_ExposureLimit_IsSupported m_peak_afl_AutoController_ExposureLimit_IsSupported{};
303 dyn_peak_afl_AutoController_ExposureLimit_Set m_peak_afl_AutoController_ExposureLimit_Set{};
304 dyn_peak_afl_AutoController_ExposureLimit_Get m_peak_afl_AutoController_ExposureLimit_Get{};
305 dyn_peak_afl_AutoController_ExposureLimit_GetRange m_peak_afl_AutoController_ExposureLimit_GetRange{};
306 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
307 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
308 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
309 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
310 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
311 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
312 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
313 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
314 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
315 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
316 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
317 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
318 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
319 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
320 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
321 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
322 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
323 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
324 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
325 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
326 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
327 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
328 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
329 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
330 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
331 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
332 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
333 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
334 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
335 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
336 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
337 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
338 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
339 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
340 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
341 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
342 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
343 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
344 dyn_peak_afl_AutoController_GainLimit_IsSupported m_peak_afl_AutoController_GainLimit_IsSupported{};
345 dyn_peak_afl_AutoController_GainLimit_Set m_peak_afl_AutoController_GainLimit_Set{};
346 dyn_peak_afl_AutoController_GainLimit_Get m_peak_afl_AutoController_GainLimit_Get{};
347 dyn_peak_afl_AutoController_GainLimit_GetRange m_peak_afl_AutoController_GainLimit_GetRange{};
348 dyn_peak_afl_AutoController_GainAnalogLimit_Set m_peak_afl_AutoController_GainAnalogLimit_Set{};
349 dyn_peak_afl_AutoController_GainAnalogLimit_Get m_peak_afl_AutoController_GainAnalogLimit_Get{};
350 dyn_peak_afl_AutoController_GainAnalogLimit_GetRange m_peak_afl_AutoController_GainAnalogLimit_GetRange{};
351 dyn_peak_afl_AutoController_GainDigitalLimit_Set m_peak_afl_AutoController_GainDigitalLimit_Set{};
352 dyn_peak_afl_AutoController_GainDigitalLimit_Get m_peak_afl_AutoController_GainDigitalLimit_Get{};
353 dyn_peak_afl_AutoController_GainDigitalLimit_GetRange m_peak_afl_AutoController_GainDigitalLimit_GetRange{};
354 dyn_peak_afl_AutoController_GainCombinedLimit_Set m_peak_afl_AutoController_GainCombinedLimit_Set{};
355 dyn_peak_afl_AutoController_GainCombinedLimit_Get m_peak_afl_AutoController_GainCombinedLimit_Get{};
356 dyn_peak_afl_AutoController_GainCombinedLimit_GetRange m_peak_afl_AutoController_GainCombinedLimit_GetRange{};
357 dyn_peak_afl_AutoController_GainHostLimit_Set m_peak_afl_AutoController_GainHostLimit_Set{};
358 dyn_peak_afl_AutoController_GainHostLimit_Get m_peak_afl_AutoController_GainHostLimit_Get{};
359 dyn_peak_afl_AutoController_GainHostLimit_GetRange m_peak_afl_AutoController_GainHostLimit_GetRange{};
363inline void* import_function(
void *module,
const char* proc_name)
366 return dlsym(module, proc_name);
368 return reinterpret_cast<void*
>(GetProcAddress(
static_cast<HMODULE
>(module), proc_name));
372inline DynamicLoader::DynamicLoader()
374#if defined _WIN32 || defined _WIN64
376 if (_wgetenv_s(&sz, NULL, 0, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0
379 std::vector<wchar_t> env_ids_peak_afl(sz);
380 if (_wgetenv_s(&sz, env_ids_peak_afl.data(), sz, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0)
382 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
385 std::vector<wchar_t> env_path(sz);
386 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
388 std::wstring ids_peak_afl_path(env_ids_peak_afl.data());
390 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_64");
392 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_32");
394 AddDllDirectory(ids_peak_afl_path.c_str());
400 loadLib(
"ids_peak_afl.dll");
402 loadLib(
"libids_peak_afl.so");
406inline DynamicLoader::~DynamicLoader()
408 if(m_handle !=
nullptr)
414inline bool DynamicLoader::isLoaded()
416 auto&& inst = instance();
417 return inst.m_handle !=
nullptr;
420inline void DynamicLoader::unload()
424 if (m_handle !=
nullptr)
429 FreeLibrary(
static_cast<HMODULE
>(m_handle));
436inline bool DynamicLoader::loadLib(
const char* file)
443 m_handle = dlopen(file, RTLD_NOW);
445 m_handle = LoadLibraryExA(file,
nullptr, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
447 if (m_handle !=
nullptr)
452 }
catch (
const std::exception&) {
459 throw LoadLibraryException(std::string(
"Lib load failed: ") + file);
464 throw LoadLibraryException(
"Filename empty");
470inline bool DynamicLoader::setPointers(
bool load)
473 m_peak_afl_Init =
reinterpret_cast<dyn_peak_afl_Init
>(load ? import_function(m_handle,
"peak_afl_Init") : nullptr);
474 if(m_peak_afl_Init ==
nullptr && load)
476 throw std::runtime_error(
"Failed to load peak_afl_Init");
479 m_peak_afl_Exit =
reinterpret_cast<dyn_peak_afl_Exit
>(load ? import_function(m_handle,
"peak_afl_Exit") : nullptr);
480 if(m_peak_afl_Exit ==
nullptr && load)
482 throw std::runtime_error(
"Failed to load peak_afl_Exit");
485 m_peak_afl_GetLastError =
reinterpret_cast<dyn_peak_afl_GetLastError
>(load ? import_function(m_handle,
"peak_afl_GetLastError") : nullptr);
486 if(m_peak_afl_GetLastError ==
nullptr && load)
488 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
491 m_peak_afl_GetVersion =
reinterpret_cast<dyn_peak_afl_GetVersion
>(load ? import_function(m_handle,
"peak_afl_GetVersion") : nullptr);
492 if(m_peak_afl_GetVersion ==
nullptr && load)
494 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
497 m_peak_afl_AutoFeatureManager_Create =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Create
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") : nullptr);
498 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
500 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
503 m_peak_afl_AutoFeatureManager_Destroy =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Destroy
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") : nullptr);
504 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
506 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
509 m_peak_afl_AutoFeatureManager_AddController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_AddController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") : nullptr);
510 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
512 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
515 m_peak_afl_AutoFeatureManager_RemoveController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_RemoveController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") : nullptr);
516 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
518 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
521 m_peak_afl_AutoFeatureManager_Process =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Process
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") : nullptr);
522 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
524 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
527 m_peak_afl_AutoFeatureManager_CreateController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_CreateController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") : nullptr);
528 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
530 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
533 m_peak_afl_AutoFeatureManager_DestroyAllController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_DestroyAllController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") : nullptr);
534 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
536 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
539 m_peak_afl_AutoFeatureManager_DestroyController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_DestroyController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") : nullptr);
540 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
542 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
545 m_peak_afl_AutoFeatureManager_SetGainIPL =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_SetGainIPL
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetGainIPL") : nullptr);
546 if(m_peak_afl_AutoFeatureManager_SetGainIPL ==
nullptr && load)
548 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetGainIPL");
551 m_peak_afl_AutoFeatureManager_SetCCM =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_SetCCM
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetCCM") : nullptr);
552 if(m_peak_afl_AutoFeatureManager_SetCCM ==
nullptr && load)
554 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetCCM");
557 m_peak_afl_AutoFeatureManager_Status =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Status
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") : nullptr);
558 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
560 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
563 m_peak_afl_AutoFeatureManager_Controller_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Controller_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Controller_IsSupported") : nullptr);
564 if(m_peak_afl_AutoFeatureManager_Controller_IsSupported ==
nullptr && load)
566 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Controller_IsSupported");
569 m_peak_afl_AutoController_Create =
reinterpret_cast<dyn_peak_afl_AutoController_Create
>(load ? import_function(m_handle,
"peak_afl_AutoController_Create") : nullptr);
570 if(m_peak_afl_AutoController_Create ==
nullptr && load)
572 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
575 m_peak_afl_AutoController_Destroy =
reinterpret_cast<dyn_peak_afl_AutoController_Destroy
>(load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") : nullptr);
576 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
578 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
581 m_peak_afl_AutoController_SkipFrames_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_SkipFrames_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_IsSupported") : nullptr);
582 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
584 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
587 m_peak_afl_AutoController_SkipFrames_Set =
reinterpret_cast<dyn_peak_afl_AutoController_SkipFrames_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Set") : nullptr);
588 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
590 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
593 m_peak_afl_AutoController_SkipFrames_Get =
reinterpret_cast<dyn_peak_afl_AutoController_SkipFrames_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Get") : nullptr);
594 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
596 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
599 m_peak_afl_AutoController_SkipFrames_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_SkipFrames_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_GetRange") : nullptr);
600 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
602 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
605 m_peak_afl_AutoController_ROI_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_ROI_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_ROI_IsSupported") : nullptr);
606 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
608 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
611 m_peak_afl_AutoController_ROI_Set =
reinterpret_cast<dyn_peak_afl_AutoController_ROI_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Set") : nullptr);
612 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
614 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
617 m_peak_afl_AutoController_ROI_Get =
reinterpret_cast<dyn_peak_afl_AutoController_ROI_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Get") : nullptr);
618 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
620 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
623 m_peak_afl_AutoController_ROI_Preset_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_ROI_Preset_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_IsSupported") : nullptr);
624 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
626 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
629 m_peak_afl_AutoController_ROI_Preset_Set =
reinterpret_cast<dyn_peak_afl_AutoController_ROI_Preset_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_Set") : nullptr);
630 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
632 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
635 m_peak_afl_AutoController_Mode_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_Mode_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_Mode_IsSupported") : nullptr);
636 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
638 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
641 m_peak_afl_AutoController_Mode_Set =
reinterpret_cast<dyn_peak_afl_AutoController_Mode_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Set") : nullptr);
642 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
644 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
647 m_peak_afl_AutoController_Mode_Get =
reinterpret_cast<dyn_peak_afl_AutoController_Mode_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Get") : nullptr);
648 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
650 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
653 m_peak_afl_AutoController_BrightnessAlgorithm_Set =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessAlgorithm_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Set") : nullptr);
654 if(m_peak_afl_AutoController_BrightnessAlgorithm_Set ==
nullptr && load)
656 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Set");
659 m_peak_afl_AutoController_BrightnessAlgorithm_Get =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessAlgorithm_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Get") : nullptr);
660 if(m_peak_afl_AutoController_BrightnessAlgorithm_Get ==
nullptr && load)
662 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Get");
665 m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_IsSupported") : nullptr);
666 if(m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported ==
nullptr && load)
668 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_IsSupported");
671 m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_IsSupported") : nullptr);
672 if(m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported ==
nullptr && load)
674 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_IsSupported");
677 m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Unit_IsSupported") : nullptr);
678 if(m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported ==
nullptr && load)
680 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Unit_IsSupported");
683 m_peak_afl_AutoController_BrightnessComponent_Mode_Set =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Set") : nullptr);
684 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Set ==
nullptr && load)
686 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Set");
689 m_peak_afl_AutoController_BrightnessComponent_Mode_Get =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Get") : nullptr);
690 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Get ==
nullptr && load)
692 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Get");
695 m_peak_afl_AutoController_BrightnessComponent_Status =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessComponent_Status
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Status") : nullptr);
696 if(m_peak_afl_AutoController_BrightnessComponent_Status ==
nullptr && load)
698 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Status");
701 m_peak_afl_AutoController_BrightnessComponent_Callback_Set =
reinterpret_cast<dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Callback_Set") : nullptr);
702 if(m_peak_afl_AutoController_BrightnessComponent_Callback_Set ==
nullptr && load)
704 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Callback_Set");
707 m_peak_afl_AutoController_ExposureLimit_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_ExposureLimit_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_IsSupported") : nullptr);
708 if(m_peak_afl_AutoController_ExposureLimit_IsSupported ==
nullptr && load)
710 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_IsSupported");
713 m_peak_afl_AutoController_ExposureLimit_Set =
reinterpret_cast<dyn_peak_afl_AutoController_ExposureLimit_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Set") : nullptr);
714 if(m_peak_afl_AutoController_ExposureLimit_Set ==
nullptr && load)
716 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Set");
719 m_peak_afl_AutoController_ExposureLimit_Get =
reinterpret_cast<dyn_peak_afl_AutoController_ExposureLimit_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Get") : nullptr);
720 if(m_peak_afl_AutoController_ExposureLimit_Get ==
nullptr && load)
722 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Get");
725 m_peak_afl_AutoController_ExposureLimit_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_ExposureLimit_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_GetRange") : nullptr);
726 if(m_peak_afl_AutoController_ExposureLimit_GetRange ==
nullptr && load)
728 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_GetRange");
731 m_peak_afl_AutoController_Status =
reinterpret_cast<dyn_peak_afl_AutoController_Status
>(load ? import_function(m_handle,
"peak_afl_AutoController_Status") : nullptr);
732 if(m_peak_afl_AutoController_Status ==
nullptr && load)
734 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
737 m_peak_afl_AutoController_GetLastAutoAverage =
reinterpret_cast<dyn_peak_afl_AutoController_GetLastAutoAverage
>(load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") : nullptr);
738 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
740 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
743 m_peak_afl_AutoController_GetLastAutoAverages =
reinterpret_cast<dyn_peak_afl_AutoController_GetLastAutoAverages
>(load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") : nullptr);
744 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
746 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
749 m_peak_afl_AutoController_AutoTarget_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTarget_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_IsSupported") : nullptr);
750 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
752 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
755 m_peak_afl_AutoController_AutoTarget_Set =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTarget_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Set") : nullptr);
756 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
758 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
761 m_peak_afl_AutoController_AutoTarget_Get =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTarget_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Get") : nullptr);
762 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
764 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
767 m_peak_afl_AutoController_AutoTarget_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTarget_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_GetRange") : nullptr);
768 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
770 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
773 m_peak_afl_AutoController_AutoTolerance_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTolerance_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_IsSupported") : nullptr);
774 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
776 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
779 m_peak_afl_AutoController_AutoTolerance_Set =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTolerance_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Set") : nullptr);
780 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
782 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
785 m_peak_afl_AutoController_AutoTolerance_Get =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTolerance_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Get") : nullptr);
786 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
788 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
791 m_peak_afl_AutoController_AutoTolerance_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_AutoTolerance_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_GetRange") : nullptr);
792 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
794 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
797 m_peak_afl_AutoController_AutoPercentile_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_AutoPercentile_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_IsSupported") : nullptr);
798 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
800 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
803 m_peak_afl_AutoController_AutoPercentile_Set =
reinterpret_cast<dyn_peak_afl_AutoController_AutoPercentile_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Set") : nullptr);
804 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
806 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
809 m_peak_afl_AutoController_AutoPercentile_Get =
reinterpret_cast<dyn_peak_afl_AutoController_AutoPercentile_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Get") : nullptr);
810 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
812 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
815 m_peak_afl_AutoController_AutoPercentile_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_AutoPercentile_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_GetRange") : nullptr);
816 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
818 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
821 m_peak_afl_AutoController_Type_Get =
reinterpret_cast<dyn_peak_afl_AutoController_Type_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_Type_Get") : nullptr);
822 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
824 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
827 m_peak_afl_AutoController_Algorithm_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_Algorithm_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_IsSupported") : nullptr);
828 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
830 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
833 m_peak_afl_AutoController_Algorithm_Set =
reinterpret_cast<dyn_peak_afl_AutoController_Algorithm_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Set") : nullptr);
834 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
836 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
839 m_peak_afl_AutoController_Algorithm_Get =
reinterpret_cast<dyn_peak_afl_AutoController_Algorithm_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Get") : nullptr);
840 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
842 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
845 m_peak_afl_AutoController_Algorithm_GetList =
reinterpret_cast<dyn_peak_afl_AutoController_Algorithm_GetList
>(load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_GetList") : nullptr);
846 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
848 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
851 m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_IsSupported") : nullptr);
852 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
854 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
857 m_peak_afl_AutoController_SharpnessAlgorithm_Set =
reinterpret_cast<dyn_peak_afl_AutoController_SharpnessAlgorithm_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Set") : nullptr);
858 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
860 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
863 m_peak_afl_AutoController_SharpnessAlgorithm_Get =
reinterpret_cast<dyn_peak_afl_AutoController_SharpnessAlgorithm_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Get") : nullptr);
864 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
866 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
869 m_peak_afl_AutoController_SharpnessAlgorithm_GetList =
reinterpret_cast<dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList
>(load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_GetList") : nullptr);
870 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
872 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
875 m_peak_afl_AutoController_Callback_Set =
reinterpret_cast<dyn_peak_afl_AutoController_Callback_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_Callback_Set") : nullptr);
876 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
878 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
881 m_peak_afl_AutoController_Weighted_ROI_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_Weighted_ROI_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_IsSupported") : nullptr);
882 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
884 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
887 m_peak_afl_AutoController_Weighted_ROI_Min_Size =
reinterpret_cast<dyn_peak_afl_AutoController_Weighted_ROI_Min_Size
>(load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Min_Size") : nullptr);
888 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
890 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
893 m_peak_afl_AutoController_Weighted_ROI_Set =
reinterpret_cast<dyn_peak_afl_AutoController_Weighted_ROI_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Set") : nullptr);
894 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
896 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
899 m_peak_afl_AutoController_Weighted_ROI_Get =
reinterpret_cast<dyn_peak_afl_AutoController_Weighted_ROI_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Get") : nullptr);
900 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
902 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
905 m_peak_afl_AutoController_Limit_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_Limit_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_Limit_IsSupported") : nullptr);
906 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
908 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
911 m_peak_afl_AutoController_Limit_Default =
reinterpret_cast<dyn_peak_afl_AutoController_Limit_Default
>(load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Default") : nullptr);
912 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
914 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
917 m_peak_afl_AutoController_Limit_Set =
reinterpret_cast<dyn_peak_afl_AutoController_Limit_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Set") : nullptr);
918 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
920 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
923 m_peak_afl_AutoController_Limit_Get =
reinterpret_cast<dyn_peak_afl_AutoController_Limit_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Get") : nullptr);
924 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
926 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
929 m_peak_afl_AutoController_Hysteresis_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_Hysteresis_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_IsSupported") : nullptr);
930 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
932 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
935 m_peak_afl_AutoController_Hysteresis_Default =
reinterpret_cast<dyn_peak_afl_AutoController_Hysteresis_Default
>(load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Default") : nullptr);
936 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
938 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
941 m_peak_afl_AutoController_Hysteresis_Set =
reinterpret_cast<dyn_peak_afl_AutoController_Hysteresis_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Set") : nullptr);
942 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
944 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
947 m_peak_afl_AutoController_Hysteresis_Get =
reinterpret_cast<dyn_peak_afl_AutoController_Hysteresis_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Get") : nullptr);
948 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
950 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
953 m_peak_afl_AutoController_Hysteresis_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_Hysteresis_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_GetRange") : nullptr);
954 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
956 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
959 m_peak_afl_AutoController_GainLimit_IsSupported =
reinterpret_cast<dyn_peak_afl_AutoController_GainLimit_IsSupported
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_IsSupported") : nullptr);
960 if(m_peak_afl_AutoController_GainLimit_IsSupported ==
nullptr && load)
962 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_IsSupported");
965 m_peak_afl_AutoController_GainLimit_Set =
reinterpret_cast<dyn_peak_afl_AutoController_GainLimit_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Set") : nullptr);
966 if(m_peak_afl_AutoController_GainLimit_Set ==
nullptr && load)
968 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Set");
971 m_peak_afl_AutoController_GainLimit_Get =
reinterpret_cast<dyn_peak_afl_AutoController_GainLimit_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Get") : nullptr);
972 if(m_peak_afl_AutoController_GainLimit_Get ==
nullptr && load)
974 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Get");
977 m_peak_afl_AutoController_GainLimit_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_GainLimit_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_GetRange") : nullptr);
978 if(m_peak_afl_AutoController_GainLimit_GetRange ==
nullptr && load)
980 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_GetRange");
983 m_peak_afl_AutoController_GainAnalogLimit_Set =
reinterpret_cast<dyn_peak_afl_AutoController_GainAnalogLimit_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Set") : nullptr);
984 if(m_peak_afl_AutoController_GainAnalogLimit_Set ==
nullptr && load)
986 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Set");
989 m_peak_afl_AutoController_GainAnalogLimit_Get =
reinterpret_cast<dyn_peak_afl_AutoController_GainAnalogLimit_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Get") : nullptr);
990 if(m_peak_afl_AutoController_GainAnalogLimit_Get ==
nullptr && load)
992 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Get");
995 m_peak_afl_AutoController_GainAnalogLimit_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_GainAnalogLimit_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_GetRange") : nullptr);
996 if(m_peak_afl_AutoController_GainAnalogLimit_GetRange ==
nullptr && load)
998 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_GetRange");
1001 m_peak_afl_AutoController_GainDigitalLimit_Set =
reinterpret_cast<dyn_peak_afl_AutoController_GainDigitalLimit_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Set") : nullptr);
1002 if(m_peak_afl_AutoController_GainDigitalLimit_Set ==
nullptr && load)
1004 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Set");
1007 m_peak_afl_AutoController_GainDigitalLimit_Get =
reinterpret_cast<dyn_peak_afl_AutoController_GainDigitalLimit_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Get") : nullptr);
1008 if(m_peak_afl_AutoController_GainDigitalLimit_Get ==
nullptr && load)
1010 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Get");
1013 m_peak_afl_AutoController_GainDigitalLimit_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_GainDigitalLimit_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_GetRange") : nullptr);
1014 if(m_peak_afl_AutoController_GainDigitalLimit_GetRange ==
nullptr && load)
1016 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_GetRange");
1019 m_peak_afl_AutoController_GainCombinedLimit_Set =
reinterpret_cast<dyn_peak_afl_AutoController_GainCombinedLimit_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Set") : nullptr);
1020 if(m_peak_afl_AutoController_GainCombinedLimit_Set ==
nullptr && load)
1022 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Set");
1025 m_peak_afl_AutoController_GainCombinedLimit_Get =
reinterpret_cast<dyn_peak_afl_AutoController_GainCombinedLimit_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Get") : nullptr);
1026 if(m_peak_afl_AutoController_GainCombinedLimit_Get ==
nullptr && load)
1028 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Get");
1031 m_peak_afl_AutoController_GainCombinedLimit_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_GainCombinedLimit_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_GetRange") : nullptr);
1032 if(m_peak_afl_AutoController_GainCombinedLimit_GetRange ==
nullptr && load)
1034 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_GetRange");
1037 m_peak_afl_AutoController_GainHostLimit_Set =
reinterpret_cast<dyn_peak_afl_AutoController_GainHostLimit_Set
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Set") : nullptr);
1038 if(m_peak_afl_AutoController_GainHostLimit_Set ==
nullptr && load)
1040 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Set");
1043 m_peak_afl_AutoController_GainHostLimit_Get =
reinterpret_cast<dyn_peak_afl_AutoController_GainHostLimit_Get
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Get") : nullptr);
1044 if(m_peak_afl_AutoController_GainHostLimit_Get ==
nullptr && load)
1046 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Get");
1049 m_peak_afl_AutoController_GainHostLimit_GetRange =
reinterpret_cast<dyn_peak_afl_AutoController_GainHostLimit_GetRange
>(load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_GetRange") : nullptr);
1050 if(m_peak_afl_AutoController_GainHostLimit_GetRange ==
nullptr && load)
1052 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_GetRange");
1061 auto& inst = instance();
1062 if(inst.m_peak_afl_Init)
1064 return inst.m_peak_afl_Init();
1068 throw std::runtime_error(
"Library not loaded!");
1074 auto& inst = instance();
1075 if(inst.m_peak_afl_Exit)
1077 return inst.m_peak_afl_Exit();
1081 throw std::runtime_error(
"Library not loaded!");
1087 auto& inst = instance();
1088 if(inst.m_peak_afl_GetLastError)
1090 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
1094 throw std::runtime_error(
"Library not loaded!");
1098inline peak_afl_status DynamicLoader::peak_afl_GetVersion(uint32_t* majorVersion, uint32_t* minorVersion, uint32_t* subminorVersion, uint32_t* patchVersion)
1100 auto& inst = instance();
1101 if(inst.m_peak_afl_GetVersion)
1103 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
1107 throw std::runtime_error(
"Library not loaded!");
1113 auto& inst = instance();
1114 if(inst.m_peak_afl_AutoFeatureManager_Create)
1116 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
1120 throw std::runtime_error(
"Library not loaded!");
1126 auto& inst = instance();
1127 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
1129 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
1133 throw std::runtime_error(
"Library not loaded!");
1139 auto& inst = instance();
1140 if(inst.m_peak_afl_AutoFeatureManager_AddController)
1142 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
1146 throw std::runtime_error(
"Library not loaded!");
1152 auto& inst = instance();
1153 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
1155 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
1159 throw std::runtime_error(
"Library not loaded!");
1165 auto& inst = instance();
1166 if(inst.m_peak_afl_AutoFeatureManager_Process)
1168 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
1172 throw std::runtime_error(
"Library not loaded!");
1178 auto& inst = instance();
1179 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
1181 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
1185 throw std::runtime_error(
"Library not loaded!");
1191 auto& inst = instance();
1192 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
1194 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
1198 throw std::runtime_error(
"Library not loaded!");
1204 auto& inst = instance();
1205 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
1207 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
1211 throw std::runtime_error(
"Library not loaded!");
1217 auto& inst = instance();
1218 if(inst.m_peak_afl_AutoFeatureManager_SetGainIPL)
1220 return inst.m_peak_afl_AutoFeatureManager_SetGainIPL(handle, gainHandle);
1224 throw std::runtime_error(
"Library not loaded!");
1230 auto& inst = instance();
1231 if(inst.m_peak_afl_AutoFeatureManager_SetCCM)
1233 return inst.m_peak_afl_AutoFeatureManager_SetCCM(handle, ccm, ccmSize);
1237 throw std::runtime_error(
"Library not loaded!");
1243 auto& inst = instance();
1244 if(inst.m_peak_afl_AutoFeatureManager_Status)
1246 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
1250 throw std::runtime_error(
"Library not loaded!");
1256 auto& inst = instance();
1257 if(inst.m_peak_afl_AutoFeatureManager_Controller_IsSupported)
1259 return inst.m_peak_afl_AutoFeatureManager_Controller_IsSupported(handle, controllerType, supported);
1263 throw std::runtime_error(
"Library not loaded!");
1269 auto& inst = instance();
1270 if(inst.m_peak_afl_AutoController_Create)
1272 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
1276 throw std::runtime_error(
"Library not loaded!");
1282 auto& inst = instance();
1283 if(inst.m_peak_afl_AutoController_Destroy)
1285 return inst.m_peak_afl_AutoController_Destroy(controller);
1289 throw std::runtime_error(
"Library not loaded!");
1295 auto& inst = instance();
1296 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
1298 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
1302 throw std::runtime_error(
"Library not loaded!");
1308 auto& inst = instance();
1309 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
1311 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
1315 throw std::runtime_error(
"Library not loaded!");
1321 auto& inst = instance();
1322 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
1324 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
1328 throw std::runtime_error(
"Library not loaded!");
1334 auto& inst = instance();
1335 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1337 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1341 throw std::runtime_error(
"Library not loaded!");
1347 auto& inst = instance();
1348 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1350 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1354 throw std::runtime_error(
"Library not loaded!");
1360 auto& inst = instance();
1361 if(inst.m_peak_afl_AutoController_ROI_Set)
1363 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1367 throw std::runtime_error(
"Library not loaded!");
1373 auto& inst = instance();
1374 if(inst.m_peak_afl_AutoController_ROI_Get)
1376 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1380 throw std::runtime_error(
"Library not loaded!");
1386 auto& inst = instance();
1387 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1389 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1393 throw std::runtime_error(
"Library not loaded!");
1399 auto& inst = instance();
1400 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1402 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1406 throw std::runtime_error(
"Library not loaded!");
1412 auto& inst = instance();
1413 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1415 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1419 throw std::runtime_error(
"Library not loaded!");
1425 auto& inst = instance();
1426 if(inst.m_peak_afl_AutoController_Mode_Set)
1428 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1432 throw std::runtime_error(
"Library not loaded!");
1438 auto& inst = instance();
1439 if(inst.m_peak_afl_AutoController_Mode_Get)
1441 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1445 throw std::runtime_error(
"Library not loaded!");
1451 auto& inst = instance();
1452 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set)
1454 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set(controller, algorithm);
1458 throw std::runtime_error(
"Library not loaded!");
1464 auto& inst = instance();
1465 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get)
1467 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get(controller, algorithm);
1471 throw std::runtime_error(
"Library not loaded!");
1477 auto& inst = instance();
1478 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported)
1480 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported(controller, supported);
1484 throw std::runtime_error(
"Library not loaded!");
1490 auto& inst = instance();
1491 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported)
1493 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(controller, supported);
1497 throw std::runtime_error(
"Library not loaded!");
1503 auto& inst = instance();
1504 if(inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported)
1506 return inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported(controller, unit, supported);
1510 throw std::runtime_error(
"Library not loaded!");
1516 auto& inst = instance();
1517 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set)
1519 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set(controller, component, mode);
1523 throw std::runtime_error(
"Library not loaded!");
1529 auto& inst = instance();
1530 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get)
1532 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get(controller, component, mode);
1536 throw std::runtime_error(
"Library not loaded!");
1542 auto& inst = instance();
1543 if(inst.m_peak_afl_AutoController_BrightnessComponent_Status)
1545 return inst.m_peak_afl_AutoController_BrightnessComponent_Status(controller, component, status);
1549 throw std::runtime_error(
"Library not loaded!");
1555 auto& inst = instance();
1556 if(inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set)
1558 return inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set(controller, component, type, funcPtr, context);
1562 throw std::runtime_error(
"Library not loaded!");
1568 auto& inst = instance();
1569 if(inst.m_peak_afl_AutoController_ExposureLimit_IsSupported)
1571 return inst.m_peak_afl_AutoController_ExposureLimit_IsSupported(controller, supported);
1575 throw std::runtime_error(
"Library not loaded!");
1581 auto& inst = instance();
1582 if(inst.m_peak_afl_AutoController_ExposureLimit_Set)
1584 return inst.m_peak_afl_AutoController_ExposureLimit_Set(controller, limit);
1588 throw std::runtime_error(
"Library not loaded!");
1594 auto& inst = instance();
1595 if(inst.m_peak_afl_AutoController_ExposureLimit_Get)
1597 return inst.m_peak_afl_AutoController_ExposureLimit_Get(controller, limit);
1601 throw std::runtime_error(
"Library not loaded!");
1607 auto& inst = instance();
1608 if(inst.m_peak_afl_AutoController_ExposureLimit_GetRange)
1610 return inst.m_peak_afl_AutoController_ExposureLimit_GetRange(controller, limit);
1614 throw std::runtime_error(
"Library not loaded!");
1620 auto& inst = instance();
1621 if(inst.m_peak_afl_AutoController_Status)
1623 return inst.m_peak_afl_AutoController_Status(controller, status);
1627 throw std::runtime_error(
"Library not loaded!");
1633 auto& inst = instance();
1634 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1636 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1640 throw std::runtime_error(
"Library not loaded!");
1646 auto& inst = instance();
1647 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1649 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1653 throw std::runtime_error(
"Library not loaded!");
1659 auto& inst = instance();
1660 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1662 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1666 throw std::runtime_error(
"Library not loaded!");
1672 auto& inst = instance();
1673 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1675 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1679 throw std::runtime_error(
"Library not loaded!");
1685 auto& inst = instance();
1686 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1688 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1692 throw std::runtime_error(
"Library not loaded!");
1698 auto& inst = instance();
1699 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1701 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1705 throw std::runtime_error(
"Library not loaded!");
1711 auto& inst = instance();
1712 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1714 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1718 throw std::runtime_error(
"Library not loaded!");
1724 auto& inst = instance();
1725 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1727 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1731 throw std::runtime_error(
"Library not loaded!");
1737 auto& inst = instance();
1738 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1740 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1744 throw std::runtime_error(
"Library not loaded!");
1750 auto& inst = instance();
1751 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1753 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1757 throw std::runtime_error(
"Library not loaded!");
1763 auto& inst = instance();
1764 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1766 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1770 throw std::runtime_error(
"Library not loaded!");
1776 auto& inst = instance();
1777 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1779 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1783 throw std::runtime_error(
"Library not loaded!");
1789 auto& inst = instance();
1790 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1792 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1796 throw std::runtime_error(
"Library not loaded!");
1802 auto& inst = instance();
1803 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1805 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1809 throw std::runtime_error(
"Library not loaded!");
1815 auto& inst = instance();
1816 if(inst.m_peak_afl_AutoController_Type_Get)
1818 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1822 throw std::runtime_error(
"Library not loaded!");
1828 auto& inst = instance();
1829 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1831 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1835 throw std::runtime_error(
"Library not loaded!");
1841 auto& inst = instance();
1842 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1844 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1848 throw std::runtime_error(
"Library not loaded!");
1854 auto& inst = instance();
1855 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1857 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1861 throw std::runtime_error(
"Library not loaded!");
1867 auto& inst = instance();
1868 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1870 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1874 throw std::runtime_error(
"Library not loaded!");
1880 auto& inst = instance();
1881 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1883 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1887 throw std::runtime_error(
"Library not loaded!");
1893 auto& inst = instance();
1894 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1896 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1900 throw std::runtime_error(
"Library not loaded!");
1906 auto& inst = instance();
1907 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1909 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1913 throw std::runtime_error(
"Library not loaded!");
1919 auto& inst = instance();
1920 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1922 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1926 throw std::runtime_error(
"Library not loaded!");
1932 auto& inst = instance();
1933 if(inst.m_peak_afl_AutoController_Callback_Set)
1935 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1939 throw std::runtime_error(
"Library not loaded!");
1945 auto& inst = instance();
1946 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1948 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1952 throw std::runtime_error(
"Library not loaded!");
1958 auto& inst = instance();
1959 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1961 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1965 throw std::runtime_error(
"Library not loaded!");
1971 auto& inst = instance();
1972 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1974 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1978 throw std::runtime_error(
"Library not loaded!");
1984 auto& inst = instance();
1985 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1987 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1991 throw std::runtime_error(
"Library not loaded!");
1997 auto& inst = instance();
1998 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
2000 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
2004 throw std::runtime_error(
"Library not loaded!");
2010 auto& inst = instance();
2011 if(inst.m_peak_afl_AutoController_Limit_Default)
2013 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
2017 throw std::runtime_error(
"Library not loaded!");
2023 auto& inst = instance();
2024 if(inst.m_peak_afl_AutoController_Limit_Set)
2026 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
2030 throw std::runtime_error(
"Library not loaded!");
2036 auto& inst = instance();
2037 if(inst.m_peak_afl_AutoController_Limit_Get)
2039 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
2043 throw std::runtime_error(
"Library not loaded!");
2049 auto& inst = instance();
2050 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
2052 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
2056 throw std::runtime_error(
"Library not loaded!");
2062 auto& inst = instance();
2063 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
2065 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
2069 throw std::runtime_error(
"Library not loaded!");
2075 auto& inst = instance();
2076 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
2078 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
2082 throw std::runtime_error(
"Library not loaded!");
2088 auto& inst = instance();
2089 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
2091 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
2095 throw std::runtime_error(
"Library not loaded!");
2101 auto& inst = instance();
2102 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
2104 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
2108 throw std::runtime_error(
"Library not loaded!");
2114 auto& inst = instance();
2115 if(inst.m_peak_afl_AutoController_GainLimit_IsSupported)
2117 return inst.m_peak_afl_AutoController_GainLimit_IsSupported(controller, supported);
2121 throw std::runtime_error(
"Library not loaded!");
2127 auto& inst = instance();
2128 if(inst.m_peak_afl_AutoController_GainLimit_Set)
2130 return inst.m_peak_afl_AutoController_GainLimit_Set(controller, limit);
2134 throw std::runtime_error(
"Library not loaded!");
2140 auto& inst = instance();
2141 if(inst.m_peak_afl_AutoController_GainLimit_Get)
2143 return inst.m_peak_afl_AutoController_GainLimit_Get(controller, limit);
2147 throw std::runtime_error(
"Library not loaded!");
2153 auto& inst = instance();
2154 if(inst.m_peak_afl_AutoController_GainLimit_GetRange)
2156 return inst.m_peak_afl_AutoController_GainLimit_GetRange(controller, limit);
2160 throw std::runtime_error(
"Library not loaded!");
2166 auto& inst = instance();
2167 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Set)
2169 return inst.m_peak_afl_AutoController_GainAnalogLimit_Set(controller, limit);
2173 throw std::runtime_error(
"Library not loaded!");
2179 auto& inst = instance();
2180 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Get)
2182 return inst.m_peak_afl_AutoController_GainAnalogLimit_Get(controller, limit);
2186 throw std::runtime_error(
"Library not loaded!");
2192 auto& inst = instance();
2193 if(inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange)
2195 return inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange(controller, limit);
2199 throw std::runtime_error(
"Library not loaded!");
2205 auto& inst = instance();
2206 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Set)
2208 return inst.m_peak_afl_AutoController_GainDigitalLimit_Set(controller, limit);
2212 throw std::runtime_error(
"Library not loaded!");
2218 auto& inst = instance();
2219 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Get)
2221 return inst.m_peak_afl_AutoController_GainDigitalLimit_Get(controller, limit);
2225 throw std::runtime_error(
"Library not loaded!");
2231 auto& inst = instance();
2232 if(inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange)
2234 return inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange(controller, limit);
2238 throw std::runtime_error(
"Library not loaded!");
2244 auto& inst = instance();
2245 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Set)
2247 return inst.m_peak_afl_AutoController_GainCombinedLimit_Set(controller, limit);
2251 throw std::runtime_error(
"Library not loaded!");
2257 auto& inst = instance();
2258 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Get)
2260 return inst.m_peak_afl_AutoController_GainCombinedLimit_Get(controller, limit);
2264 throw std::runtime_error(
"Library not loaded!");
2270 auto& inst = instance();
2271 if(inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange)
2273 return inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange(controller, limit);
2277 throw std::runtime_error(
"Library not loaded!");
2283 auto& inst = instance();
2284 if(inst.m_peak_afl_AutoController_GainHostLimit_Set)
2286 return inst.m_peak_afl_AutoController_GainHostLimit_Set(controller, limit);
2290 throw std::runtime_error(
"Library not loaded!");
2296 auto& inst = instance();
2297 if(inst.m_peak_afl_AutoController_GainHostLimit_Get)
2299 return inst.m_peak_afl_AutoController_GainHostLimit_Get(controller, limit);
2303 throw std::runtime_error(
"Library not loaded!");
2309 auto& inst = instance();
2310 if(inst.m_peak_afl_AutoController_GainHostLimit_GetRange)
2312 return inst.m_peak_afl_AutoController_GainHostLimit_GetRange(controller, limit);
2316 throw std::runtime_error(
"Library not loaded!");
peak_afl_controllerType
Auto feature controller types.
Definition peak_afl.h:489
peak_afl_controller_brightness_algorithm
Brightness calculation algorithms.
Definition peak_afl.h:772
peak_afl_controller_brightness_component
Brightness control components.
Definition peak_afl.h:877
peak_afl_callback_type
Controller callback types.
Definition peak_afl.h:1076
peak_afl_controller_automode
Auto feature controller operation modes.
Definition peak_afl.h:543
peak_afl_controller_algorithm
Focus search algorithms.
Definition peak_afl.h:695
PEAK_AFL_API_STATUS peak_afl_Init(void)
Init the peak_afl auto feature library.
PEAK_AFL_API_STATUS peak_afl_Exit(void)
Exit the peak_afl auto feature library.
peak_afl_roi_preset
Predefined ROI preset configurations.
Definition peak_afl.h:1410
peak_afl_controller_sharpness_algorithm
Focus sharpness calculation algorithms.
Definition peak_afl.h:808
peak_afl_status
Auto feature library status codes.
Definition peak_afl.h:383
peak_afl_controller_status
Controller operational status.
Definition peak_afl.h:589
uint8_t peak_afl_BOOL8
Custom 8-bit boolean type.
Definition peak_afl.h:1628
C API interface for automatic camera feature control.
void * peak_afl_controller_handle
Opaque handle for auto feature controllers.
Definition peak_afl.h:357
void * peak_afl_manager_handle
Opaque handle for auto feature managers.
Definition peak_afl.h:369