Auto Next Video on empty canvas, better auto scroll

node-20
Moe 2023-08-08 09:38:31 -07:00
parent 3f08165fb8
commit 743599bb50
1 changed files with 25 additions and 4 deletions

View File

@ -316,6 +316,13 @@ $(document).ready(function(){
var end = new Date(stripTime.end.getTime() + timeToAdd) var end = new Date(stripTime.end.getTime() + timeToAdd)
setTimestripDate(start,end) setTimestripDate(start,end)
} }
function scrollTimelineToTime(tickTime) {
var stripTime = getTimestripDate();
var halfRange = (stripTime.end.getTime() - stripTime.start.getTime()) / 2;
var start = new Date(tickTime.getTime() - halfRange);
var end = new Date(tickTime.getTime() + halfRange);
setTimestripDate(start, end);
}
function setTickDate(newDate){ function setTickDate(newDate){
if(isPlaying){ if(isPlaying){
if(newDate >= timeStripAutoScrollPositionEnd){ if(newDate >= timeStripAutoScrollPositionEnd){
@ -383,6 +390,9 @@ $(document).ready(function(){
} }
container.empty() container.empty()
timeStripAutoGridResize() timeStripAutoGridResize()
if(isPlaying && hasNoCanvasVideos()){
jumpToNextVideo()
}
} }
function setVideoInCanvas(newVideo){ function setVideoInCanvas(newVideo){
var monitorId = newVideo.mid var monitorId = newVideo.mid
@ -407,6 +417,9 @@ $(document).ready(function(){
// pauseVideo(videoEl) // pauseVideo(videoEl)
}) })
} }
function hasNoCanvasVideos(){
return getLoadedVideosOnCanvas().length === 0;
}
function queueNextVideo(video){ function queueNextVideo(video){
if(!video)return; if(!video)return;
var monitorId = video.mid var monitorId = video.mid
@ -582,11 +595,19 @@ $(document).ready(function(){
await resetTimeline(newTime) await resetTimeline(newTime)
checkScroll(tickTime) checkScroll(tickTime)
} }
function checkScroll(tickTime){ function checkScroll(tickTime,scrollToTick){
if(tickTime <= timeStripAutoScrollPositionStart){ if(tickTime <= timeStripAutoScrollPositionStart){
scrollTimeline(-timeStripAutoScrollAmount) if(scrollToTick){
scrollTimelineToTime(tickTime)
}else{
scrollTimeline(-timeStripAutoScrollAmount)
}
}else if(tickTime >= timeStripAutoScrollPositionEnd){ }else if(tickTime >= timeStripAutoScrollPositionEnd){
scrollTimeline(timeStripAutoScrollAmount) if(scrollToTick){
scrollTimelineToTime(tickTime)
}else{
scrollTimeline(timeStripAutoScrollAmount)
}
} }
} }
function adjustTimelineSpeed(newSpeed){ function adjustTimelineSpeed(newSpeed){
@ -717,7 +738,7 @@ $(document).ready(function(){
timeStripActionWithPausePlay().then(async (timeChanging) => { timeStripActionWithPausePlay().then(async (timeChanging) => {
if(!timeChanging){ if(!timeChanging){
await resetTimeline(clickTime) await resetTimeline(clickTime)
checkScroll(clickTime) checkScroll(clickTime, true)
} }
}) })
} }