28#define PEAK_AFL_EXPORT
29#undef PEAK_AFL_CALLCONV
30#define PEAK_AFL_CALLCONV
42typedef peak_afl_status (*dyn_peak_afl_GetVersion)(uint32_t* majorVersion, uint32_t* minorVersion, uint32_t* subminorVersion, uint32_t* patchVersion);
138class LoadLibraryException :
public std::runtime_error {
139 using std::runtime_error::runtime_error;
147 static DynamicLoader& instance()
149 static DynamicLoader dynamicLoader{};
150 return dynamicLoader;
152 bool loadLib(
const char* file);
154 bool setPointers(
bool load);
159 static bool isLoaded();
164 static peak_afl_status peak_afl_GetVersion(uint32_t* majorVersion, uint32_t* minorVersion, uint32_t* subminorVersion, uint32_t* patchVersion);
260 void* m_handle =
nullptr;
261 dyn_peak_afl_Init m_peak_afl_Init{};
262 dyn_peak_afl_Exit m_peak_afl_Exit{};
263 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
264 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
265 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
266 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
267 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
268 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
269 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
270 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
271 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
272 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
273 dyn_peak_afl_AutoFeatureManager_SetGainIPL m_peak_afl_AutoFeatureManager_SetGainIPL{};
274 dyn_peak_afl_AutoFeatureManager_SetCCM m_peak_afl_AutoFeatureManager_SetCCM{};
275 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
276 dyn_peak_afl_AutoFeatureManager_Controller_IsSupported m_peak_afl_AutoFeatureManager_Controller_IsSupported{};
277 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
278 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
279 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
280 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
281 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
282 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
283 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
284 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
285 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
286 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
287 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
288 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
289 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
290 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
291 dyn_peak_afl_AutoController_BrightnessAlgorithm_Set m_peak_afl_AutoController_BrightnessAlgorithm_Set{};
292 dyn_peak_afl_AutoController_BrightnessAlgorithm_Get m_peak_afl_AutoController_BrightnessAlgorithm_Get{};
293 dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported{};
294 dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported{};
295 dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported{};
296 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set m_peak_afl_AutoController_BrightnessComponent_Mode_Set{};
297 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get m_peak_afl_AutoController_BrightnessComponent_Mode_Get{};
298 dyn_peak_afl_AutoController_BrightnessComponent_Status m_peak_afl_AutoController_BrightnessComponent_Status{};
299 dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set m_peak_afl_AutoController_BrightnessComponent_Callback_Set{};
300 dyn_peak_afl_AutoController_ExposureLimit_IsSupported m_peak_afl_AutoController_ExposureLimit_IsSupported{};
301 dyn_peak_afl_AutoController_ExposureLimit_Set m_peak_afl_AutoController_ExposureLimit_Set{};
302 dyn_peak_afl_AutoController_ExposureLimit_Get m_peak_afl_AutoController_ExposureLimit_Get{};
303 dyn_peak_afl_AutoController_ExposureLimit_GetRange m_peak_afl_AutoController_ExposureLimit_GetRange{};
304 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
305 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
306 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
307 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
308 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
309 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
310 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
311 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
312 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
313 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
314 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
315 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
316 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
317 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
318 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
319 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
320 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
321 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
322 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
323 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
324 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
325 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
326 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
327 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
328 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
329 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
330 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
331 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
332 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
333 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
334 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
335 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
336 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
337 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
338 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
339 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
340 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
341 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
342 dyn_peak_afl_AutoController_GainLimit_IsSupported m_peak_afl_AutoController_GainLimit_IsSupported{};
343 dyn_peak_afl_AutoController_GainLimit_Set m_peak_afl_AutoController_GainLimit_Set{};
344 dyn_peak_afl_AutoController_GainLimit_Get m_peak_afl_AutoController_GainLimit_Get{};
345 dyn_peak_afl_AutoController_GainLimit_GetRange m_peak_afl_AutoController_GainLimit_GetRange{};
346 dyn_peak_afl_AutoController_GainAnalogLimit_Set m_peak_afl_AutoController_GainAnalogLimit_Set{};
347 dyn_peak_afl_AutoController_GainAnalogLimit_Get m_peak_afl_AutoController_GainAnalogLimit_Get{};
348 dyn_peak_afl_AutoController_GainAnalogLimit_GetRange m_peak_afl_AutoController_GainAnalogLimit_GetRange{};
349 dyn_peak_afl_AutoController_GainDigitalLimit_Set m_peak_afl_AutoController_GainDigitalLimit_Set{};
350 dyn_peak_afl_AutoController_GainDigitalLimit_Get m_peak_afl_AutoController_GainDigitalLimit_Get{};
351 dyn_peak_afl_AutoController_GainDigitalLimit_GetRange m_peak_afl_AutoController_GainDigitalLimit_GetRange{};
352 dyn_peak_afl_AutoController_GainCombinedLimit_Set m_peak_afl_AutoController_GainCombinedLimit_Set{};
353 dyn_peak_afl_AutoController_GainCombinedLimit_Get m_peak_afl_AutoController_GainCombinedLimit_Get{};
354 dyn_peak_afl_AutoController_GainCombinedLimit_GetRange m_peak_afl_AutoController_GainCombinedLimit_GetRange{};
355 dyn_peak_afl_AutoController_GainHostLimit_Set m_peak_afl_AutoController_GainHostLimit_Set{};
356 dyn_peak_afl_AutoController_GainHostLimit_Get m_peak_afl_AutoController_GainHostLimit_Get{};
357 dyn_peak_afl_AutoController_GainHostLimit_GetRange m_peak_afl_AutoController_GainHostLimit_GetRange{};
361inline void* import_function(
void *module,
const char* proc_name)
364 return dlsym(module, proc_name);
366 return reinterpret_cast<void*
>(GetProcAddress(
static_cast<HMODULE
>(module), proc_name));
370inline DynamicLoader::DynamicLoader()
372#if defined _WIN32 || defined _WIN64
374 if (_wgetenv_s(&sz, NULL, 0, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0
377 std::vector<wchar_t> env_ids_peak_afl(sz);
378 if (_wgetenv_s(&sz, env_ids_peak_afl.data(), sz, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0)
380 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
383 std::vector<wchar_t> env_path(sz);
384 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
386 std::wstring ids_peak_afl_path(env_ids_peak_afl.data());
388 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_64");
390 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_32");
392 AddDllDirectory(ids_peak_afl_path.c_str());
398 loadLib(
"ids_peak_afl.dll");
400 loadLib(
"libids_peak_afl.so");
404inline DynamicLoader::~DynamicLoader()
406 if(m_handle !=
nullptr)
412inline bool DynamicLoader::isLoaded()
414 auto&& inst = instance();
415 return inst.m_handle !=
nullptr;
418inline void DynamicLoader::unload()
422 if (m_handle !=
nullptr)
427 FreeLibrary(
static_cast<HMODULE
>(m_handle));
434inline bool DynamicLoader::loadLib(
const char* file)
441 m_handle = dlopen(file, RTLD_NOW);
443 m_handle = LoadLibraryExA(file,
nullptr, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
445 if (m_handle !=
nullptr)
450 }
catch (
const std::exception&) {
457 throw LoadLibraryException(std::string(
"Lib load failed: ") + file);
462 throw LoadLibraryException(
"Filename empty");
468inline bool DynamicLoader::setPointers(
bool load)
471 m_peak_afl_Init =
reinterpret_cast<dyn_peak_afl_Init
>(load ? import_function(m_handle,
"peak_afl_Init") : nullptr);
472 if(m_peak_afl_Init ==
nullptr && load)
474 throw std::runtime_error(
"Failed to load peak_afl_Init");
477 m_peak_afl_Exit =
reinterpret_cast<dyn_peak_afl_Exit
>(load ? import_function(m_handle,
"peak_afl_Exit") : nullptr);
478 if(m_peak_afl_Exit ==
nullptr && load)
480 throw std::runtime_error(
"Failed to load peak_afl_Exit");
483 m_peak_afl_GetLastError =
reinterpret_cast<dyn_peak_afl_GetLastError
>(load ? import_function(m_handle,
"peak_afl_GetLastError") : nullptr);
484 if(m_peak_afl_GetLastError ==
nullptr && load)
486 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
489 m_peak_afl_GetVersion =
reinterpret_cast<dyn_peak_afl_GetVersion
>(load ? import_function(m_handle,
"peak_afl_GetVersion") : nullptr);
490 if(m_peak_afl_GetVersion ==
nullptr && load)
492 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
495 m_peak_afl_AutoFeatureManager_Create =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Create
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") : nullptr);
496 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
498 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
501 m_peak_afl_AutoFeatureManager_Destroy =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Destroy
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") : nullptr);
502 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
504 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
507 m_peak_afl_AutoFeatureManager_AddController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_AddController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") : nullptr);
508 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
510 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
513 m_peak_afl_AutoFeatureManager_RemoveController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_RemoveController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") : nullptr);
514 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
516 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
519 m_peak_afl_AutoFeatureManager_Process =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Process
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") : nullptr);
520 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
522 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
525 m_peak_afl_AutoFeatureManager_CreateController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_CreateController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") : nullptr);
526 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
528 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
531 m_peak_afl_AutoFeatureManager_DestroyAllController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_DestroyAllController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") : nullptr);
532 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
534 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
537 m_peak_afl_AutoFeatureManager_DestroyController =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_DestroyController
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") : nullptr);
538 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
540 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
543 m_peak_afl_AutoFeatureManager_SetGainIPL =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_SetGainIPL
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetGainIPL") : nullptr);
544 if(m_peak_afl_AutoFeatureManager_SetGainIPL ==
nullptr && load)
546 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetGainIPL");
549 m_peak_afl_AutoFeatureManager_SetCCM =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_SetCCM
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetCCM") : nullptr);
550 if(m_peak_afl_AutoFeatureManager_SetCCM ==
nullptr && load)
552 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetCCM");
555 m_peak_afl_AutoFeatureManager_Status =
reinterpret_cast<dyn_peak_afl_AutoFeatureManager_Status
>(load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") : nullptr);
556 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
558 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
561 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);
562 if(m_peak_afl_AutoFeatureManager_Controller_IsSupported ==
nullptr && load)
564 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Controller_IsSupported");
567 m_peak_afl_AutoController_Create =
reinterpret_cast<dyn_peak_afl_AutoController_Create
>(load ? import_function(m_handle,
"peak_afl_AutoController_Create") : nullptr);
568 if(m_peak_afl_AutoController_Create ==
nullptr && load)
570 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
573 m_peak_afl_AutoController_Destroy =
reinterpret_cast<dyn_peak_afl_AutoController_Destroy
>(load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") : nullptr);
574 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
576 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
579 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);
580 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
582 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
585 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);
586 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
588 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
591 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);
592 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
594 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
597 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);
598 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
600 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
603 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);
604 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
606 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
609 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);
610 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
612 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
615 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);
616 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
618 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
621 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);
622 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
624 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
627 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);
628 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
630 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
633 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);
634 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
636 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
639 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);
640 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
642 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
645 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);
646 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
648 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
651 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);
652 if(m_peak_afl_AutoController_BrightnessAlgorithm_Set ==
nullptr && load)
654 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Set");
657 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);
658 if(m_peak_afl_AutoController_BrightnessAlgorithm_Get ==
nullptr && load)
660 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Get");
663 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);
664 if(m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported ==
nullptr && load)
666 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_IsSupported");
669 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);
670 if(m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported ==
nullptr && load)
672 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_IsSupported");
675 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);
676 if(m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported ==
nullptr && load)
678 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Unit_IsSupported");
681 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);
682 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Set ==
nullptr && load)
684 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Set");
687 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);
688 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Get ==
nullptr && load)
690 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Get");
693 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);
694 if(m_peak_afl_AutoController_BrightnessComponent_Status ==
nullptr && load)
696 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Status");
699 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);
700 if(m_peak_afl_AutoController_BrightnessComponent_Callback_Set ==
nullptr && load)
702 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Callback_Set");
705 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);
706 if(m_peak_afl_AutoController_ExposureLimit_IsSupported ==
nullptr && load)
708 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_IsSupported");
711 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);
712 if(m_peak_afl_AutoController_ExposureLimit_Set ==
nullptr && load)
714 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Set");
717 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);
718 if(m_peak_afl_AutoController_ExposureLimit_Get ==
nullptr && load)
720 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Get");
723 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);
724 if(m_peak_afl_AutoController_ExposureLimit_GetRange ==
nullptr && load)
726 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_GetRange");
729 m_peak_afl_AutoController_Status =
reinterpret_cast<dyn_peak_afl_AutoController_Status
>(load ? import_function(m_handle,
"peak_afl_AutoController_Status") : nullptr);
730 if(m_peak_afl_AutoController_Status ==
nullptr && load)
732 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
735 m_peak_afl_AutoController_GetLastAutoAverage =
reinterpret_cast<dyn_peak_afl_AutoController_GetLastAutoAverage
>(load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") : nullptr);
736 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
738 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
741 m_peak_afl_AutoController_GetLastAutoAverages =
reinterpret_cast<dyn_peak_afl_AutoController_GetLastAutoAverages
>(load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") : nullptr);
742 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
744 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
747 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);
748 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
750 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
753 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);
754 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
756 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
759 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);
760 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
762 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
765 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);
766 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
768 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
771 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);
772 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
774 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
777 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);
778 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
780 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
783 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);
784 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
786 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
789 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);
790 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
792 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
795 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);
796 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
798 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
801 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);
802 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
804 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
807 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);
808 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
810 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
813 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);
814 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
816 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
819 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);
820 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
822 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
825 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);
826 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
828 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
831 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);
832 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
834 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
837 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);
838 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
840 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
843 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);
844 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
846 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
849 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);
850 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
852 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
855 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);
856 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
858 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
861 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);
862 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
864 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
867 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);
868 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
870 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
873 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);
874 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
876 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
879 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);
880 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
882 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
885 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);
886 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
888 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
891 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);
892 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
894 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
897 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);
898 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
900 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
903 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);
904 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
906 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
909 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);
910 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
912 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
915 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);
916 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
918 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
921 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);
922 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
924 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
927 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);
928 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
930 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
933 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);
934 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
936 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
939 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);
940 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
942 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
945 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);
946 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
948 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
951 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);
952 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
954 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
957 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);
958 if(m_peak_afl_AutoController_GainLimit_IsSupported ==
nullptr && load)
960 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_IsSupported");
963 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);
964 if(m_peak_afl_AutoController_GainLimit_Set ==
nullptr && load)
966 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Set");
969 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);
970 if(m_peak_afl_AutoController_GainLimit_Get ==
nullptr && load)
972 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Get");
975 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);
976 if(m_peak_afl_AutoController_GainLimit_GetRange ==
nullptr && load)
978 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_GetRange");
981 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);
982 if(m_peak_afl_AutoController_GainAnalogLimit_Set ==
nullptr && load)
984 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Set");
987 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);
988 if(m_peak_afl_AutoController_GainAnalogLimit_Get ==
nullptr && load)
990 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Get");
993 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);
994 if(m_peak_afl_AutoController_GainAnalogLimit_GetRange ==
nullptr && load)
996 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_GetRange");
999 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);
1000 if(m_peak_afl_AutoController_GainDigitalLimit_Set ==
nullptr && load)
1002 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Set");
1005 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);
1006 if(m_peak_afl_AutoController_GainDigitalLimit_Get ==
nullptr && load)
1008 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Get");
1011 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);
1012 if(m_peak_afl_AutoController_GainDigitalLimit_GetRange ==
nullptr && load)
1014 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_GetRange");
1017 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);
1018 if(m_peak_afl_AutoController_GainCombinedLimit_Set ==
nullptr && load)
1020 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Set");
1023 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);
1024 if(m_peak_afl_AutoController_GainCombinedLimit_Get ==
nullptr && load)
1026 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Get");
1029 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);
1030 if(m_peak_afl_AutoController_GainCombinedLimit_GetRange ==
nullptr && load)
1032 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_GetRange");
1035 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);
1036 if(m_peak_afl_AutoController_GainHostLimit_Set ==
nullptr && load)
1038 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Set");
1041 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);
1042 if(m_peak_afl_AutoController_GainHostLimit_Get ==
nullptr && load)
1044 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Get");
1047 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);
1048 if(m_peak_afl_AutoController_GainHostLimit_GetRange ==
nullptr && load)
1050 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_GetRange");
1059 auto& inst = instance();
1060 if(inst.m_peak_afl_Init)
1062 return inst.m_peak_afl_Init();
1066 throw std::runtime_error(
"Library not loaded!");
1072 auto& inst = instance();
1073 if(inst.m_peak_afl_Exit)
1075 return inst.m_peak_afl_Exit();
1079 throw std::runtime_error(
"Library not loaded!");
1085 auto& inst = instance();
1086 if(inst.m_peak_afl_GetLastError)
1088 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
1092 throw std::runtime_error(
"Library not loaded!");
1096inline peak_afl_status DynamicLoader::peak_afl_GetVersion(uint32_t* majorVersion, uint32_t* minorVersion, uint32_t* subminorVersion, uint32_t* patchVersion)
1098 auto& inst = instance();
1099 if(inst.m_peak_afl_GetVersion)
1101 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
1105 throw std::runtime_error(
"Library not loaded!");
1111 auto& inst = instance();
1112 if(inst.m_peak_afl_AutoFeatureManager_Create)
1114 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
1118 throw std::runtime_error(
"Library not loaded!");
1124 auto& inst = instance();
1125 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
1127 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
1131 throw std::runtime_error(
"Library not loaded!");
1137 auto& inst = instance();
1138 if(inst.m_peak_afl_AutoFeatureManager_AddController)
1140 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
1144 throw std::runtime_error(
"Library not loaded!");
1150 auto& inst = instance();
1151 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
1153 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
1157 throw std::runtime_error(
"Library not loaded!");
1163 auto& inst = instance();
1164 if(inst.m_peak_afl_AutoFeatureManager_Process)
1166 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
1170 throw std::runtime_error(
"Library not loaded!");
1176 auto& inst = instance();
1177 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
1179 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
1183 throw std::runtime_error(
"Library not loaded!");
1189 auto& inst = instance();
1190 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
1192 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
1196 throw std::runtime_error(
"Library not loaded!");
1202 auto& inst = instance();
1203 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
1205 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
1209 throw std::runtime_error(
"Library not loaded!");
1215 auto& inst = instance();
1216 if(inst.m_peak_afl_AutoFeatureManager_SetGainIPL)
1218 return inst.m_peak_afl_AutoFeatureManager_SetGainIPL(handle, gainHandle);
1222 throw std::runtime_error(
"Library not loaded!");
1228 auto& inst = instance();
1229 if(inst.m_peak_afl_AutoFeatureManager_SetCCM)
1231 return inst.m_peak_afl_AutoFeatureManager_SetCCM(handle, ccm, ccm_size);
1235 throw std::runtime_error(
"Library not loaded!");
1241 auto& inst = instance();
1242 if(inst.m_peak_afl_AutoFeatureManager_Status)
1244 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
1248 throw std::runtime_error(
"Library not loaded!");
1254 auto& inst = instance();
1255 if(inst.m_peak_afl_AutoFeatureManager_Controller_IsSupported)
1257 return inst.m_peak_afl_AutoFeatureManager_Controller_IsSupported(handle, controllerType, supported);
1261 throw std::runtime_error(
"Library not loaded!");
1267 auto& inst = instance();
1268 if(inst.m_peak_afl_AutoController_Create)
1270 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
1274 throw std::runtime_error(
"Library not loaded!");
1280 auto& inst = instance();
1281 if(inst.m_peak_afl_AutoController_Destroy)
1283 return inst.m_peak_afl_AutoController_Destroy(controller);
1287 throw std::runtime_error(
"Library not loaded!");
1293 auto& inst = instance();
1294 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
1296 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
1300 throw std::runtime_error(
"Library not loaded!");
1306 auto& inst = instance();
1307 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
1309 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
1313 throw std::runtime_error(
"Library not loaded!");
1319 auto& inst = instance();
1320 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
1322 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
1326 throw std::runtime_error(
"Library not loaded!");
1332 auto& inst = instance();
1333 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1335 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1339 throw std::runtime_error(
"Library not loaded!");
1345 auto& inst = instance();
1346 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1348 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1352 throw std::runtime_error(
"Library not loaded!");
1358 auto& inst = instance();
1359 if(inst.m_peak_afl_AutoController_ROI_Set)
1361 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1365 throw std::runtime_error(
"Library not loaded!");
1371 auto& inst = instance();
1372 if(inst.m_peak_afl_AutoController_ROI_Get)
1374 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1378 throw std::runtime_error(
"Library not loaded!");
1384 auto& inst = instance();
1385 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1387 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1391 throw std::runtime_error(
"Library not loaded!");
1397 auto& inst = instance();
1398 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1400 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1404 throw std::runtime_error(
"Library not loaded!");
1410 auto& inst = instance();
1411 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1413 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1417 throw std::runtime_error(
"Library not loaded!");
1423 auto& inst = instance();
1424 if(inst.m_peak_afl_AutoController_Mode_Set)
1426 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1430 throw std::runtime_error(
"Library not loaded!");
1436 auto& inst = instance();
1437 if(inst.m_peak_afl_AutoController_Mode_Get)
1439 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1443 throw std::runtime_error(
"Library not loaded!");
1449 auto& inst = instance();
1450 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set)
1452 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set(controller, algorithm);
1456 throw std::runtime_error(
"Library not loaded!");
1462 auto& inst = instance();
1463 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get)
1465 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get(controller, algorithm);
1469 throw std::runtime_error(
"Library not loaded!");
1475 auto& inst = instance();
1476 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported)
1478 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported(controller, supported);
1482 throw std::runtime_error(
"Library not loaded!");
1488 auto& inst = instance();
1489 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported)
1491 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(controller, supported);
1495 throw std::runtime_error(
"Library not loaded!");
1501 auto& inst = instance();
1502 if(inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported)
1504 return inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported(controller, unit, supported);
1508 throw std::runtime_error(
"Library not loaded!");
1514 auto& inst = instance();
1515 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set)
1517 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set(controller, component, mode);
1521 throw std::runtime_error(
"Library not loaded!");
1527 auto& inst = instance();
1528 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get)
1530 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get(controller, component, mode);
1534 throw std::runtime_error(
"Library not loaded!");
1540 auto& inst = instance();
1541 if(inst.m_peak_afl_AutoController_BrightnessComponent_Status)
1543 return inst.m_peak_afl_AutoController_BrightnessComponent_Status(controller, component, status);
1547 throw std::runtime_error(
"Library not loaded!");
1553 auto& inst = instance();
1554 if(inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set)
1556 return inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set(controller, component, type, funcPtr, context);
1560 throw std::runtime_error(
"Library not loaded!");
1566 auto& inst = instance();
1567 if(inst.m_peak_afl_AutoController_ExposureLimit_IsSupported)
1569 return inst.m_peak_afl_AutoController_ExposureLimit_IsSupported(controller, supported);
1573 throw std::runtime_error(
"Library not loaded!");
1579 auto& inst = instance();
1580 if(inst.m_peak_afl_AutoController_ExposureLimit_Set)
1582 return inst.m_peak_afl_AutoController_ExposureLimit_Set(controller, limit);
1586 throw std::runtime_error(
"Library not loaded!");
1592 auto& inst = instance();
1593 if(inst.m_peak_afl_AutoController_ExposureLimit_Get)
1595 return inst.m_peak_afl_AutoController_ExposureLimit_Get(controller, limit);
1599 throw std::runtime_error(
"Library not loaded!");
1605 auto& inst = instance();
1606 if(inst.m_peak_afl_AutoController_ExposureLimit_GetRange)
1608 return inst.m_peak_afl_AutoController_ExposureLimit_GetRange(controller, limit);
1612 throw std::runtime_error(
"Library not loaded!");
1618 auto& inst = instance();
1619 if(inst.m_peak_afl_AutoController_Status)
1621 return inst.m_peak_afl_AutoController_Status(controller, status);
1625 throw std::runtime_error(
"Library not loaded!");
1631 auto& inst = instance();
1632 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1634 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1638 throw std::runtime_error(
"Library not loaded!");
1644 auto& inst = instance();
1645 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1647 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1651 throw std::runtime_error(
"Library not loaded!");
1657 auto& inst = instance();
1658 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1660 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1664 throw std::runtime_error(
"Library not loaded!");
1670 auto& inst = instance();
1671 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1673 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1677 throw std::runtime_error(
"Library not loaded!");
1683 auto& inst = instance();
1684 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1686 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1690 throw std::runtime_error(
"Library not loaded!");
1696 auto& inst = instance();
1697 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1699 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1703 throw std::runtime_error(
"Library not loaded!");
1709 auto& inst = instance();
1710 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1712 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1716 throw std::runtime_error(
"Library not loaded!");
1722 auto& inst = instance();
1723 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1725 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1729 throw std::runtime_error(
"Library not loaded!");
1735 auto& inst = instance();
1736 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1738 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1742 throw std::runtime_error(
"Library not loaded!");
1748 auto& inst = instance();
1749 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1751 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1755 throw std::runtime_error(
"Library not loaded!");
1761 auto& inst = instance();
1762 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1764 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1768 throw std::runtime_error(
"Library not loaded!");
1774 auto& inst = instance();
1775 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1777 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1781 throw std::runtime_error(
"Library not loaded!");
1787 auto& inst = instance();
1788 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1790 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1794 throw std::runtime_error(
"Library not loaded!");
1800 auto& inst = instance();
1801 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1803 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1807 throw std::runtime_error(
"Library not loaded!");
1813 auto& inst = instance();
1814 if(inst.m_peak_afl_AutoController_Type_Get)
1816 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1820 throw std::runtime_error(
"Library not loaded!");
1826 auto& inst = instance();
1827 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1829 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1833 throw std::runtime_error(
"Library not loaded!");
1839 auto& inst = instance();
1840 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1842 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1846 throw std::runtime_error(
"Library not loaded!");
1852 auto& inst = instance();
1853 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1855 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1859 throw std::runtime_error(
"Library not loaded!");
1865 auto& inst = instance();
1866 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1868 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1872 throw std::runtime_error(
"Library not loaded!");
1878 auto& inst = instance();
1879 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1881 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1885 throw std::runtime_error(
"Library not loaded!");
1891 auto& inst = instance();
1892 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1894 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1898 throw std::runtime_error(
"Library not loaded!");
1904 auto& inst = instance();
1905 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1907 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1911 throw std::runtime_error(
"Library not loaded!");
1917 auto& inst = instance();
1918 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1920 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1924 throw std::runtime_error(
"Library not loaded!");
1930 auto& inst = instance();
1931 if(inst.m_peak_afl_AutoController_Callback_Set)
1933 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1937 throw std::runtime_error(
"Library not loaded!");
1943 auto& inst = instance();
1944 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1946 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1950 throw std::runtime_error(
"Library not loaded!");
1956 auto& inst = instance();
1957 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1959 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1963 throw std::runtime_error(
"Library not loaded!");
1969 auto& inst = instance();
1970 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1972 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1976 throw std::runtime_error(
"Library not loaded!");
1982 auto& inst = instance();
1983 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1985 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1989 throw std::runtime_error(
"Library not loaded!");
1995 auto& inst = instance();
1996 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
1998 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
2002 throw std::runtime_error(
"Library not loaded!");
2008 auto& inst = instance();
2009 if(inst.m_peak_afl_AutoController_Limit_Default)
2011 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
2015 throw std::runtime_error(
"Library not loaded!");
2021 auto& inst = instance();
2022 if(inst.m_peak_afl_AutoController_Limit_Set)
2024 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
2028 throw std::runtime_error(
"Library not loaded!");
2034 auto& inst = instance();
2035 if(inst.m_peak_afl_AutoController_Limit_Get)
2037 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
2041 throw std::runtime_error(
"Library not loaded!");
2047 auto& inst = instance();
2048 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
2050 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
2054 throw std::runtime_error(
"Library not loaded!");
2060 auto& inst = instance();
2061 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
2063 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
2067 throw std::runtime_error(
"Library not loaded!");
2073 auto& inst = instance();
2074 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
2076 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
2080 throw std::runtime_error(
"Library not loaded!");
2086 auto& inst = instance();
2087 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
2089 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
2093 throw std::runtime_error(
"Library not loaded!");
2099 auto& inst = instance();
2100 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
2102 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
2106 throw std::runtime_error(
"Library not loaded!");
2112 auto& inst = instance();
2113 if(inst.m_peak_afl_AutoController_GainLimit_IsSupported)
2115 return inst.m_peak_afl_AutoController_GainLimit_IsSupported(controller, supported);
2119 throw std::runtime_error(
"Library not loaded!");
2125 auto& inst = instance();
2126 if(inst.m_peak_afl_AutoController_GainLimit_Set)
2128 return inst.m_peak_afl_AutoController_GainLimit_Set(controller, limit);
2132 throw std::runtime_error(
"Library not loaded!");
2138 auto& inst = instance();
2139 if(inst.m_peak_afl_AutoController_GainLimit_Get)
2141 return inst.m_peak_afl_AutoController_GainLimit_Get(controller, limit);
2145 throw std::runtime_error(
"Library not loaded!");
2151 auto& inst = instance();
2152 if(inst.m_peak_afl_AutoController_GainLimit_GetRange)
2154 return inst.m_peak_afl_AutoController_GainLimit_GetRange(controller, limit);
2158 throw std::runtime_error(
"Library not loaded!");
2164 auto& inst = instance();
2165 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Set)
2167 return inst.m_peak_afl_AutoController_GainAnalogLimit_Set(controller, limit);
2171 throw std::runtime_error(
"Library not loaded!");
2177 auto& inst = instance();
2178 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Get)
2180 return inst.m_peak_afl_AutoController_GainAnalogLimit_Get(controller, limit);
2184 throw std::runtime_error(
"Library not loaded!");
2190 auto& inst = instance();
2191 if(inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange)
2193 return inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange(controller, limit);
2197 throw std::runtime_error(
"Library not loaded!");
2203 auto& inst = instance();
2204 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Set)
2206 return inst.m_peak_afl_AutoController_GainDigitalLimit_Set(controller, limit);
2210 throw std::runtime_error(
"Library not loaded!");
2216 auto& inst = instance();
2217 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Get)
2219 return inst.m_peak_afl_AutoController_GainDigitalLimit_Get(controller, limit);
2223 throw std::runtime_error(
"Library not loaded!");
2229 auto& inst = instance();
2230 if(inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange)
2232 return inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange(controller, limit);
2236 throw std::runtime_error(
"Library not loaded!");
2242 auto& inst = instance();
2243 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Set)
2245 return inst.m_peak_afl_AutoController_GainCombinedLimit_Set(controller, limit);
2249 throw std::runtime_error(
"Library not loaded!");
2255 auto& inst = instance();
2256 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Get)
2258 return inst.m_peak_afl_AutoController_GainCombinedLimit_Get(controller, limit);
2262 throw std::runtime_error(
"Library not loaded!");
2268 auto& inst = instance();
2269 if(inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange)
2271 return inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange(controller, limit);
2275 throw std::runtime_error(
"Library not loaded!");
2281 auto& inst = instance();
2282 if(inst.m_peak_afl_AutoController_GainHostLimit_Set)
2284 return inst.m_peak_afl_AutoController_GainHostLimit_Set(controller, limit);
2288 throw std::runtime_error(
"Library not loaded!");
2294 auto& inst = instance();
2295 if(inst.m_peak_afl_AutoController_GainHostLimit_Get)
2297 return inst.m_peak_afl_AutoController_GainHostLimit_Get(controller, limit);
2301 throw std::runtime_error(
"Library not loaded!");
2307 auto& inst = instance();
2308 if(inst.m_peak_afl_AutoController_GainHostLimit_GetRange)
2310 return inst.m_peak_afl_AutoController_GainHostLimit_GetRange(controller, limit);
2314 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