CCCPaste

Articulate Storyline 360 - Get the Current St...

let animationFrameId;

function updateTimelineProgress() {
    const timeline = DS.windowManager.getCurrentWindow().getCurrentSlide().getBaseLayer().timeline();
    const progress = timeline.progress();
    const progressPercent = progress * 100;
    const currentTime = progress * timeline.duration();
    
    //console.log("Progress: " + progressPercent.toFixed(2) + "%");
    //console.log("Time: " + currentTime.toFixed(0) + "ms / " + timeline.duration() + "ms");
    setVar("CurrentTime", currentTime.toFixed(0));
    
    // Continue polling on next frame
    animationFrameId = requestAnimationFrame(updateTimelineProgress);
}

// Start polling
updateTimelineProgress();

// To stop polling later (optional):
// cancelAnimationFrame(animationFrameId);