fn snap_playhead(t: f64, on: bool, zoom: f32, p: &Project) -> f64Expand description
Frame-quantise a pointer time and pull it onto the nearest snap candidate. Every tool that turns a pointer x into a time goes through here, so the razor, the marker tool, marker drags and media drops land on the same edges that moves and trims already snap to. Where the playhead lands when snapping is on: clip edges, in/out and 0, but NOT the playhead itself, which would always be the nearest candidate and pin it where it already is.