// trigger_seam.cpp — see trigger_seam.h. #include "core/instrument/map/trigger_seam.h" #include namespace reasampler::instrument::map { std::int64_t triggerPlayLength(double lengthFraction, std::int64_t frameCount, std::int64_t startFrame) { const std::int64_t postStart = (std::max)(std::int64_t{0}, frameCount - startFrame); if (postStart <= 0 || !(lengthFraction > 0.0)) return 0; // also catches NaN const double frac = (std::min)(1.0, lengthFraction); const auto len = static_cast(frac * static_cast(postStart) + 0.5); return (std::min)(postStart, (std::max)(std::int64_t{0}, len)); } } // namespace reasampler::instrument::map