Skip to content

Commit 3839ec2

Browse files
authored
Merge pull request Sofie-Automation#1600 from bbc/feat/SOFIE-252
feat: Director screen improvements
2 parents 75cff0c + 9a11560 commit 3839ec2

6 files changed

Lines changed: 316 additions & 169 deletions

File tree

packages/webui/src/client/lib/rundownPlaylistUtil.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ export class RundownPlaylistClientUtil {
9696
currentPartInstance: PartInstance | undefined
9797
nextPartInstance: PartInstance | undefined
9898
previousPartInstance: PartInstance | undefined
99+
partInstanceToCountTimeFrom: PartInstance | undefined
99100
} {
100101
let unorderedRundownIds = rundownIds0
101102
if (!unorderedRundownIds) {
@@ -116,10 +117,26 @@ export class RundownPlaylistClientUtil {
116117
}).fetch()
117118
: []
118119

120+
const areAllPartsTimed = !!UIPartInstances.findOne({
121+
rundownId: { $in: unorderedRundownIds },
122+
['part.untimed']: { $ne: true },
123+
})
124+
125+
const partInstanceToCountTimeFrom = UIPartInstances.findOne(
126+
{
127+
rundownId: { $in: unorderedRundownIds },
128+
reset: { $ne: true },
129+
takeCount: { $exists: true },
130+
['part.untimed']: { $ne: areAllPartsTimed },
131+
},
132+
{ sort: { takeCount: 1 } }
133+
)
134+
119135
return {
120136
currentPartInstance: instances.find((inst) => inst._id === playlist.currentPartInfo?.partInstanceId),
121137
nextPartInstance: instances.find((inst) => inst._id === playlist.nextPartInfo?.partInstanceId),
122138
previousPartInstance: instances.find((inst) => inst._id === playlist.previousPartInfo?.partInstanceId),
139+
partInstanceToCountTimeFrom,
123140
}
124141
}
125142

packages/webui/src/client/styles/countdown/director.scss

Lines changed: 69 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,12 @@ $hold-status-color: $liveline-timecode-color;
3939
text-align: left;
4040
}
4141

42+
.director-screen__top__time-to {
43+
text-align: center;
44+
}
45+
4246
.director-screen__top__planned-to {
43-
text-align: left;
47+
text-align: center;
4448
}
4549
.director-screen__top__planned-since {
4650
margin-left: -50px;
@@ -93,22 +97,6 @@ $hold-status-color: $liveline-timecode-color;
9397

9498
color: #ffffff;
9599

96-
// Default Roboto Flex settings:
97-
font-variation-settings:
98-
'GRAD' 0,
99-
'XOPQ' 96,
100-
'XTRA' 468,
101-
'YOPQ' 79,
102-
'YTAS' 750,
103-
'YTDE' -203,
104-
'YTFI' 738,
105-
'YTLC' 548,
106-
'YTUC' 712,
107-
'opsz' 100,
108-
'slnt' 0,
109-
'wdth' 100,
110-
'wght' 550;
111-
112100
text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
113101
box-shadow: 0px 8px 12px rgba(0, 0, 0, 0.3);
114102
z-index: 1;
@@ -214,6 +202,70 @@ $hold-status-color: $liveline-timecode-color;
214202
}
215203
}
216204

205+
.director-screen__body__part__timeto-content {
206+
grid-row: 2;
207+
grid-column: 2;
208+
text-align: center;
209+
width: 100vw;
210+
margin-left: -13vw;
211+
212+
.director-screen__body__part__timeto-name {
213+
color: #888;
214+
font-size: 9.63em;
215+
text-transform: uppercase;
216+
margin-top: -2vh;
217+
}
218+
219+
.director-screen__body__part__timeto-countdown {
220+
margin-top: 4vh;
221+
grid-row: inherit;
222+
text-align: center;
223+
justify-content: center;
224+
font-size: 60em;
225+
color: $general-countdown-to-next-color;
226+
font-feature-settings:
227+
'liga' off,
228+
'tnum' on;
229+
letter-spacing: 0.01em;
230+
font-variation-settings:
231+
'GRAD' 0,
232+
'XOPQ' 96,
233+
'XTRA' 468,
234+
'YOPQ' 79,
235+
'YTAS' 750,
236+
'YTDE' -203,
237+
'YTFI' 738,
238+
'YTLC' 514,
239+
'YTUC' 712,
240+
'opsz' 120,
241+
'slnt' 0,
242+
'wdth' 70,
243+
'wght' 500;
244+
padding: 0 0.1em;
245+
line-height: 1em;
246+
display: flex;
247+
align-items: center;
248+
249+
> .overtime {
250+
color: $general-late-color;
251+
font-variation-settings:
252+
'GRAD' 0,
253+
'XOPQ' 96,
254+
'XTRA' 468,
255+
'YOPQ' 79,
256+
'YTAS' 750,
257+
'YTDE' -203,
258+
'YTFI' 738,
259+
'YTLC' 548,
260+
'YTUC' 712,
261+
'opsz' 100,
262+
'slnt' 0,
263+
'wdth' 70,
264+
'wght' 600;
265+
}
266+
}
267+
}
268+
217269
.director-screen__body__part__piece-content {
218270
grid-row: 2;
219271
grid-column: 2;

packages/webui/src/client/styles/counterComponents.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@
105105
.counter-component__time-to-planned-end {
106106
color: $general-countdown-to-next-color;
107107
letter-spacing: 0%;
108-
text-align: right;
109-
margin-left: 1.2vw;
110108

111109
letter-spacing: 0.01em;
112110
font-variation-settings:

packages/webui/src/client/ui/ClockView/ClockView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { RundownTimingProvider } from '../RundownView/RundownTiming/RundownTimin
55

66
import { StudioScreenSaver } from '../StudioScreenSaver/StudioScreenSaver.js'
77
import { PresenterScreen } from './PresenterScreen.js'
8-
import { DirectorScreen } from './DirectorScreen.js'
8+
import { DirectorScreen } from './DirectorScreen/DirectorScreen'
99
import { OverlayScreen } from './OverlayScreen.js'
1010
import { OverlayScreenSaver } from './OverlayScreenSaver.js'
1111
import { RundownPlaylists } from '../../collections/index.js'

0 commit comments

Comments
 (0)