aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Timeline')
-rw-r--r--js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js84
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});