tick method

void tick(
  1. int ms
)

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(() {});
    }
  }
}