diff options
Diffstat (limited to 'js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js')
-rw-r--r-- | js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js | 84 |
1 files changed, 45 insertions, 39 deletions
diff --git a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js index 67dbbced..fd06371f 100644 --- a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js +++ b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js | |||
@@ -358,12 +358,12 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, { | |||
358 | 358 | ||
359 | didDraw:{ | 359 | didDraw:{ |
360 | value:function () { | 360 | value:function () { |
361 | if(this.application.ninja.currentDocument.documentRoot.children[0]){ | 361 | if(this.application.ninja.currentDocument.documentRoot.children[0]){ |
362 | if (this._openDocRedrawCheck) { | 362 | if (this._openDocRedrawCheck) { |
363 | this.retrieveStoredTweens(); | 363 | this.retrieveStoredTweens(); |
364 | this._openDocRedrawCheck = false; | 364 | this._openDocRedrawCheck = false; |
365 | } | 365 | } |
366 | } | 366 | } |
367 | } | 367 | } |
368 | }, | 368 | }, |
369 | 369 | ||
@@ -461,42 +461,48 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, { | |||
461 | this.animatedElement = this.application.ninja.timeline.arrLayers[this.trackID - 1].elementsList[0]; | 461 | this.animatedElement = this.application.ninja.timeline.arrLayers[this.trackID - 1].elementsList[0]; |
462 | this.animationName = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-name"); | 462 | this.animationName = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-name"); |
463 | this.animationDuration = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-duration"); | 463 | this.animationDuration = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-duration"); |
464 | this.trackDuration = this.animationDuration.split("s"); | 464 | if(this.animationDuration){ |
465 | this.currentMilliSec = this.trackDuration[0] * 1000; | 465 | this.trackDuration = this.animationDuration.split("s"); |
466 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); | 466 | this.currentMilliSec = this.trackDuration[0] * 1000; |
467 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; | 467 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); |
468 | this.nextKeyframe = 0; | 468 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; |
469 | 469 | this.nextKeyframe = 0; | |
470 | this.currentKeyframeRule = this.application.ninja.stylesController.getAnimationRuleWithName(this.animationName, this.application.ninja.currentDocument._document); | 470 | |
471 | while (this.currentKeyframeRule[i]) { | 471 | this.currentKeyframeRule = this.application.ninja.stylesController.getAnimationRuleWithName(this.animationName, this.application.ninja.currentDocument._document); |
472 | var newTween = {}; | 472 | while (this.currentKeyframeRule[i]) { |
473 | if (this.currentKeyframeRule[i].keyText === "0%") { | 473 | var newTween = {}; |
474 | newTween.spanWidth = 0; | 474 | |
475 | newTween.keyFramePosition = 0; | 475 | if (this.currentKeyframeRule[i].keyText === "0%") { |
476 | newTween.keyFrameMillisec = 0; | 476 | newTween.spanWidth = 0; |
477 | newTween.tweenID = 0; | 477 | newTween.keyFramePosition = 0; |
478 | newTween.spanPosition = 0; | 478 | newTween.keyFrameMillisec = 0; |
479 | this.tweens.push(newTween); | 479 | newTween.tweenID = 0; |
480 | newTween.spanPosition = 0; | ||
481 | this.tweens.push(newTween); | ||
480 | 482 | ||
481 | } | 483 | } |
482 | else { | 484 | else { |
483 | percentValue = this.currentKeyframeRule[i].keyText; | 485 | percentValue = this.currentKeyframeRule[i].keyText; |
484 | splitValue = percentValue.split("%"); | 486 | splitValue = percentValue.split("%"); |
485 | fraction = splitValue[0] / 100; | 487 | fraction = splitValue[0] / 100; |
486 | this.currentMilliSec = fraction * this.trackDuration[0] * 1000; | 488 | this.currentMilliSec = fraction * this.trackDuration[0] * 1000; |
487 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); | 489 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); |
488 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; | 490 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; |
489 | newTween.spanWidth = this.clickPos - this.tweens[this.tweens.length - 1].keyFramePosition; | 491 | newTween.spanWidth = this.clickPos - this.tweens[this.tweens.length - 1].keyFramePosition; |
490 | newTween.keyFramePosition = this.clickPos; | 492 | newTween.keyFramePosition = this.clickPos; |
491 | newTween.keyFrameMillisec = this.currentMilliSec; | 493 | newTween.keyFrameMillisec = this.currentMilliSec; |
492 | newTween.tweenID = this.nextKeyframe; | 494 | newTween.tweenID = this.nextKeyframe; |
493 | newTween.spanPosition = this.clickPos - newTween.spanWidth; | 495 | newTween.spanPosition = this.clickPos - newTween.spanWidth; |
494 | this.tweens.push(newTween); | 496 | this.tweens.push(newTween); |
495 | 497 | ||
496 | 498 | ||
499 | } | ||
500 | i++; | ||
501 | this.nextKeyframe += 1; | ||
497 | } | 502 | } |
498 | i++; | 503 | } |
499 | this.nextKeyframe += 1; | 504 | else{ |
505 | return; | ||
500 | } | 506 | } |
501 | } | 507 | } |
502 | }, | 508 | }, |
@@ -643,4 +649,4 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, { | |||
643 | } | 649 | } |
644 | } | 650 | } |
645 | } | 651 | } |
646 | }); \ No newline at end of file | 652 | }); |