src/services/cues.go
BeforeProposed
+13−2
11package services
22import "broadcastplayout/src/models"
33func BuildCues(r models.Request,progress map[string]int64) []models.Cue {
4 // TODO: turn remaining frames into a timed cue sheet.
5 return []models.Cue{}
4 cues:=[]models.Cue{}
5 var elapsed int64
6 for _,segment:=range r.Segments {
7 played:=progress[segment.ID]
8 remaining:=segment.Out-segment.In-played
9 if remaining==0 { continue }
10 start:=Boundary(elapsed,r.FPS)
11 elapsed+=remaining
12 end:=Boundary(elapsed,r.FPS)
13 cues=append(cues,models.Cue{ID:segment.ID,SourceIn:segment.In+played,
14 SourceOut:segment.Out,StartMs:start,EndMs:end,Fits:end<=r.BudgetMs})
15 }
16 return cues
617}