1#![warn(missing_docs)]
44#![allow(clippy::format_push_string)]
45#![allow(clippy::module_name_repetitions)]
46#![allow(clippy::cast_precision_loss)]
47#![allow(clippy::cast_possible_truncation)]
48#![allow(clippy::cast_sign_loss)]
49#![allow(clippy::cast_lossless)]
50
51pub mod ai_tagging;
52pub mod bin;
53pub mod bin_organizer;
54pub mod camera_metadata;
55pub mod clip;
56pub mod clip_ai_tag;
57pub mod clip_audit;
58pub mod clip_bin;
59pub mod clip_collaboration;
60pub mod clip_compare;
61pub mod clip_export;
62pub mod clip_face_index;
63pub mod clip_favorites;
64pub mod clip_fingerprint;
65pub mod clip_history;
66pub mod clip_merge;
67pub mod clip_metadata;
68pub mod clip_playlist;
69pub mod clip_relations;
70pub mod clip_relations_bidirectional;
71pub mod clip_scene_detect;
72pub mod clip_search;
73pub mod clip_tag;
74pub mod clip_timeline;
75pub mod clip_transcode_status;
76pub mod clip_versioning;
77pub mod clip_waveform;
78#[cfg(not(target_arch = "wasm32"))]
79pub mod database;
80pub mod export;
81pub mod group;
82#[cfg(not(target_arch = "wasm32"))]
83pub mod import;
84pub mod logging;
85pub mod marker;
86pub mod note;
87pub mod offline;
88pub mod proxy;
89pub mod proxy_link;
90pub mod proxy_meta;
91pub mod rating;
92pub mod rating_store;
93pub mod search;
94pub mod storyboard;
95pub mod subclip;
96pub mod sync;
97pub mod take;
98pub mod trim;
99pub mod usage;
100pub mod version;
101
102mod error;
103#[cfg(not(target_arch = "wasm32"))]
104mod manager;
105
106pub use ai_tagging::{AiTagger, AiTaggerConfig, ClipInfo, TagSource, TagSuggestion};
107pub use camera_metadata::{CameraMetadata, CameraMetadataExt, CameraMetadataStore};
108pub use clip::{Clip, ClipId, ClipMetadata, SubClip};
109pub use clip_waveform::{ClipWaveformGenerator, WaveformData, WaveformThumbnail};
110pub use error::{ClipError, ClipResult};
111pub use group::{Bin, BinId, Collection, CollectionId, Folder, FolderId, SmartCollection};
112pub use logging::{Favorite, Keyword, Rating};
113#[cfg(not(target_arch = "wasm32"))]
114pub use manager::ClipManager;
115pub use marker::{Marker, MarkerId, MarkerType};
116pub use note::{Annotation, Note, NoteId};
117pub use proxy::{ProxyLink, ProxyQuality};
118pub use proxy_meta::{ProxyManagerSpec, ProxyMetadata, ProxySpec, ProxyValidationError};
119pub use take::multi_criteria::{
120 rank_takes_multi_criteria, MultiCriteriaTakeSelector, TakeScoreWeights, TakeWeights,
121};
122pub use take::{Take, TakeId, TakeSelector};