tick method
Implementation
void tick(int ms) {
if (nclDocument != null) {
final changedMedia = nclDocument!.tick(ms);
for (var media in changedMedia) {
_mediaStateKeys[media.id ?? '']?.currentState?.syncProperties();
}
final currentFocus = nclDocument!.currentFocusNodeId;
bool focusChanged = false;
if (currentFocus != _previousFocusId) {
focusChanged = true;
if (_previousFocusId != null) {
_mediaStateKeys[_previousFocusId!]?.currentState?.syncProperties();
}
if (currentFocus != null) {
_mediaStateKeys[currentFocus]?.currentState?.syncProperties();
}
_previousFocusId = currentFocus;
}
final activeChanged = _syncActiveMedia(nclDocument!.getActiveMedia());
if (mounted && (activeChanged || focusChanged || ms == 0)) {
setState(() {});
}
}
}