34 double score = std::numeric_limits<double>::infinity();
58 double cost = std::numeric_limits<double>::infinity();
80 std::uint64_t window_frames)
noexcept;
89 std::uint64_t hint_frame,
91 std::uint64_t search_radius_frames,
92 std::uint64_t reference_frame = std::numeric_limits<std::uint64_t>::max(),
Non-owning view over multi-channel audio sample data.
Definition buffer.hpp:30
Definition loop_point_analyzer.hpp:71
LoopPointAnalysisResult analyze(BufferView< const float > source, const LoopPointAnalysisConfig &config) const
static LoopPointCandidate score_candidate(BufferView< const float > source, const LoopRegion ®ion, std::uint64_t window_frames) noexcept
static LoopEndpointSnapResult snap_endpoint(BufferView< const float > source, std::uint64_t hint_frame, LoopSnapPolicy policy, std::uint64_t search_radius_frames, std::uint64_t reference_frame=std::numeric_limits< std::uint64_t >::max(), LoopEndpointRole role=LoopEndpointRole::StartFrame) noexcept
Definition analyzer_provider.hpp:12
LoopEndpointRole
Definition loop_point_analyzer.hpp:43
@ ExclusiveEndFrame
Definition loop_point_analyzer.hpp:45
@ StartFrame
Definition loop_point_analyzer.hpp:44
LoopSnapPolicy
Definition loop_types.hpp:26
@ None
Definition loop_types.hpp:27
@ ValueDirection
Definition loop_types.hpp:30
Definition loop_point_analyzer.hpp:48
std::uint64_t scored_frame
Definition loop_point_analyzer.hpp:55
bool valid
Definition loop_point_analyzer.hpp:49
double slope_delta
Definition loop_point_analyzer.hpp:60
LoopSnapPolicy policy
Definition loop_point_analyzer.hpp:56
std::uint64_t frame
Definition loop_point_analyzer.hpp:53
double cost
Definition loop_point_analyzer.hpp:58
double zero_crossing_cost
Definition loop_point_analyzer.hpp:61
LoopEndpointRole role
Definition loop_point_analyzer.hpp:57
std::uint64_t hint_frame
Definition loop_point_analyzer.hpp:50
double value_delta
Definition loop_point_analyzer.hpp:59
Definition loop_point_analyzer.hpp:15
std::uint64_t crossfade_frames
Definition loop_point_analyzer.hpp:21
std::uint64_t min_loop_frames
Definition loop_point_analyzer.hpp:20
double source_sample_rate
Definition loop_point_analyzer.hpp:22
std::uint64_t end_hint_frame
Definition loop_point_analyzer.hpp:17
std::uint64_t max_evaluations
Definition loop_point_analyzer.hpp:26
std::size_t max_candidates
Definition loop_point_analyzer.hpp:23
std::uint64_t search_radius_frames
Definition loop_point_analyzer.hpp:18
LoopSnapPolicy snap_policy
Definition loop_point_analyzer.hpp:27
std::uint64_t window_frames
Definition loop_point_analyzer.hpp:19
std::span< const SliceMarker > anchor_markers
Definition loop_point_analyzer.hpp:28
std::uint64_t start_hint_frame
Definition loop_point_analyzer.hpp:16
Definition loop_point_analyzer.hpp:64
std::vector< LoopPointCandidate > candidates
Definition loop_point_analyzer.hpp:68
bool evaluation_limit_reached
Definition loop_point_analyzer.hpp:66
bool ok
Definition loop_point_analyzer.hpp:65
std::uint64_t evaluated_candidates
Definition loop_point_analyzer.hpp:67
Definition loop_point_analyzer.hpp:31
double score
Definition loop_point_analyzer.hpp:34
LoopRegion region
Definition loop_point_analyzer.hpp:33
double slope_delta
Definition loop_point_analyzer.hpp:36
double zero_crossing_cost
Definition loop_point_analyzer.hpp:40
double rms_delta
Definition loop_point_analyzer.hpp:37
double correlation
Definition loop_point_analyzer.hpp:38
double transient_penalty
Definition loop_point_analyzer.hpp:39
double endpoint_delta
Definition loop_point_analyzer.hpp:35
bool valid
Definition loop_point_analyzer.hpp:32
Definition loop_types.hpp:42