#[cfg(feature = "tauri")]
const COMMANDS: &[&str] = &[
"initialize_camera_system",
"get_available_cameras",
"get_platform_info",
"test_camera_system",
"get_current_platform",
"check_camera_availability",
"get_camera_formats",
"get_recommended_format",
"get_optimal_settings",
"get_system_diagnostics",
"request_camera_permission",
"check_camera_permission_status",
"get_permission_status_string",
"capture_single_photo",
"capture_photo_sequence",
"capture_with_quality_retry",
"start_camera_preview",
"stop_camera_preview",
"release_camera",
"get_capture_stats",
"save_frame_to_disk",
"save_frame_compressed",
"set_frame_callback",
"set_camera_controls",
"get_camera_controls",
"capture_burst_sequence",
"set_manual_focus",
"set_manual_exposure",
"set_white_balance",
"capture_hdr_sequence",
"capture_focus_stack_legacy",
"get_camera_performance",
"test_camera_capabilities",
"validate_frame_quality",
"validate_provided_frame",
"analyze_frame_blur",
"analyze_frame_exposure",
"update_quality_config",
"get_quality_config",
"capture_best_quality_frame",
"auto_capture_with_quality",
"analyze_quality_trends",
"get_config",
"update_config",
"reset_config",
"get_camera_config",
"get_full_quality_config",
"get_storage_config",
"get_advanced_config",
"update_camera_config",
"update_full_quality_config",
"update_storage_config",
"update_advanced_config",
"start_device_monitoring",
"stop_device_monitoring",
"poll_device_event",
"get_monitored_devices",
"capture_focus_stack",
"capture_focus_brackets_command",
"get_default_focus_config",
"validate_focus_config",
];
fn main() {
#[cfg(feature = "tauri")]
tauri_plugin::Builder::new(COMMANDS).build();
#[cfg(feature = "audio")]
{
if let Ok(out_dir) = std::env::var("OUT_DIR") {
let target_dir = std::path::Path::new(&out_dir)
.parent() .and_then(|p| p.parent()) .expect("Could not find build directory");
if let Ok(entries) = std::fs::read_dir(target_dir) {
for entry in entries.flatten() {
let name = entry.file_name();
let name_str = name.to_string_lossy();
if name_str.starts_with("opus-static-sys-") {
let opus_lib_dir = entry.path().join("out").join("lib");
if opus_lib_dir.exists() {
println!("cargo:rustc-link-search=native={}", opus_lib_dir.display());
println!("cargo:rustc-link-lib=static=opus");
println!("cargo:rerun-if-changed={}", opus_lib_dir.display());
return;
}
}
}
}
}
if let Ok(lib_path) = std::env::var("DEP_OPUS_LIB_DIR") {
println!("cargo:rustc-link-search=native={}", lib_path);
println!("cargo:rustc-link-lib=static=opus");
}
}
}