addEffectOverlay method

void addEffectOverlay(
  1. VideoEditorEffect effect
)

Implementation

void addEffectOverlay(VideoEditorEffect effect) {
  final total = totalDuration;
  var startTime = _currentGlobalTime.value;
  var endTime = startTime + const Duration(seconds: 2);
  if (total > Duration.zero) {
    if (endTime > total) endTime = total;
    if (endTime - startTime < const Duration(milliseconds: 500)) {
      startTime = total - const Duration(seconds: 2);
      if (startTime < Duration.zero) startTime = Duration.zero;
      endTime = total;
    }
  }

  final id = 'effect_${DateTime.now().microsecondsSinceEpoch}';
  effectController.addEffectOverlay(VideoEffectOverlay(
    id: id,
    effect: effect,
    startTime: startTime,
    endTime: endTime,
  ));
  _selectedTrackType = VideoTrackType.effect;
  _activeTrack = VideoTrackType.effect;
  _saveState();
  notifyListeners();
}