     clipView.inputView.on 'TimeRangeInputView:DidChangeProgress',
       @_onChangeProgress
 
+    # seek on changing times
+    clipView.inputView.on 'TimeRangeInputView:DidChangeTimes', @_onChangeTimes
+
+
     clipView.listenTo @subMediaView, 'Media:Progress',
       (view, elapsed, total) =>
         # keep progress bar in sync



  _onChangeTimes: (changed) =>
    changes = {}
    changes.timeStart = changed.start if _.isNumber changed?.start
    changes.timeEnd = changed.end if _.isNumber changed?.end


    # calculate seekOffset before changes take place.
    if changes.timeStart? and changes.timeStart isnt @model.timeStart()
      seekOffset = 0
    else if changes.timeEnd? and changes.timeEnd isnt @model.timeEnd()
      seekOffset = Infinity # will be bounded to duration after changes

    # unless user paused the video, make sure it is playing
    unless @subMediaView.isInState 'pause'

      # bound between 0 <= seekOffset <= @duration() -2
      seekOffset = Math.max(0, Math.min(seekOffset, @model.duration() - 2))
      @subMediaView.seek seekOffset


  _onChangeProgress: (progress) =>
