|
|
|
@ -13,9 +13,9 @@ class AsciiIo.PlayerView extends Backbone.View
|
|
|
|
|
@$el.addClass('not-started')
|
|
|
|
|
|
|
|
|
|
createRendererView: ->
|
|
|
|
|
@rendererView = new this.options.rendererClass(
|
|
|
|
|
cols: this.options.cols
|
|
|
|
|
lines: this.options.lines
|
|
|
|
|
@rendererView = new @options.rendererClass(
|
|
|
|
|
cols: @options.cols
|
|
|
|
|
lines: @options.lines
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
@$el.append(@rendererView.$el)
|
|
|
|
@ -23,17 +23,18 @@ class AsciiIo.PlayerView extends Backbone.View
|
|
|
|
|
@rendererView.renderSnapshot @options.snapshot
|
|
|
|
|
|
|
|
|
|
createHudView: ->
|
|
|
|
|
@hudView = new AsciiIo.HudView(cols: this.options.cols)
|
|
|
|
|
@hudView = new AsciiIo.HudView(cols: @options.cols)
|
|
|
|
|
@$el.append(@hudView.$el)
|
|
|
|
|
|
|
|
|
|
createMovie: ->
|
|
|
|
|
vt = new AsciiIo.VT(this.options.cols, this.options.lines, @rendererView)
|
|
|
|
|
@vt = new AsciiIo.VT(@options.cols, @options.lines)
|
|
|
|
|
|
|
|
|
|
@movie = new AsciiIo.Movie(
|
|
|
|
|
@model,
|
|
|
|
|
vt,
|
|
|
|
|
speed: this.options.speed,
|
|
|
|
|
benchmark: this.options.benchmark
|
|
|
|
|
speed: @options.speed,
|
|
|
|
|
benchmark: @options.benchmark
|
|
|
|
|
cols: @options.cols
|
|
|
|
|
lines: @options.lines
|
|
|
|
|
)
|
|
|
|
|
@movie.on 'movie-loaded', @onMovieLoaded, this
|
|
|
|
|
@movie.load()
|
|
|
|
@ -54,23 +55,26 @@ class AsciiIo.PlayerView extends Backbone.View
|
|
|
|
|
@showToggleOverlay()
|
|
|
|
|
|
|
|
|
|
bindEvents: ->
|
|
|
|
|
@hudView.on 'hud-play-click', =>
|
|
|
|
|
@movie.togglePlay()
|
|
|
|
|
|
|
|
|
|
@hudView.on 'hud-seek-click', (percent) =>
|
|
|
|
|
@movie.seek(percent)
|
|
|
|
|
|
|
|
|
|
@movie.on 'movie-playback-paused', =>
|
|
|
|
|
@hudView.onPause()
|
|
|
|
|
|
|
|
|
|
@movie.on 'movie-playback-resumed', =>
|
|
|
|
|
@hudView.onResume()
|
|
|
|
|
|
|
|
|
|
@movie.on 'movie-time', (time) =>
|
|
|
|
|
@hudView.updateTime(time)
|
|
|
|
|
|
|
|
|
|
@movie.on 'movie-started', =>
|
|
|
|
|
@$el.removeClass('not-started')
|
|
|
|
|
@movie.on 'reset', => @vt.reset()
|
|
|
|
|
@movie.on 'finished', => @vt.stopCursorBlink()
|
|
|
|
|
@movie.on 'wakeup', => @vt.restartCursorBlink()
|
|
|
|
|
@movie.on 'playback-paused', => @hudView.onPause()
|
|
|
|
|
@movie.on 'playback-resumed', => @hudView.onResume()
|
|
|
|
|
@movie.on 'time', (time) => @hudView.updateTime(time)
|
|
|
|
|
@movie.on 'started', => @$el.removeClass('not-started')
|
|
|
|
|
|
|
|
|
|
@movie.on 'data', (data) =>
|
|
|
|
|
@vt.feed data
|
|
|
|
|
@rendererView.render @vt.state()
|
|
|
|
|
@vt.clearChanges()
|
|
|
|
|
|
|
|
|
|
@vt.on 'cursor:blink:restart', => @rendererView.restartCursorBlink()
|
|
|
|
|
@vt.on 'cursor:blink:stop', => @rendererView.stopCursorBlink()
|
|
|
|
|
@vt.on 'cursor:show', => @rendererView.showCursor true
|
|
|
|
|
@vt.on 'cursor:hide', => @rendererView.showCursor false
|
|
|
|
|
|
|
|
|
|
@hudView.on 'hud-play-click', => @movie.togglePlay()
|
|
|
|
|
@hudView.on 'hud-seek-click', (percent) => @movie.seek(percent)
|
|
|
|
|
|
|
|
|
|
showLoadingIndicator: ->
|
|
|
|
|
@$el.append('<div class="loading">')
|
|
|
|
|