partial
diff --git a/parser/CompConverter.js b/parser/CompConverter.js
index e064ef6..98dca68 100644
--- a/parser/CompConverter.js
+++ b/parser/CompConverter.js
@@ -79,7 +79,7 @@
}
function start(){
- UI.setExportText('Starting export');
+ UI.setState('start');
LayerConverter.convertComposition(mainComp);
}
@@ -105,7 +105,7 @@
}
}
//If it gets here there are no more compositions to render and callback is executed
- helperFootage.remove();
+ //helperFootage.remove();
endCallback.apply();
}
diff --git a/parser/DOMAnimationManager.js b/parser/DOMAnimationManager.js
index b6b666d..b30b973 100644
--- a/parser/DOMAnimationManager.js
+++ b/parser/DOMAnimationManager.js
@@ -547,6 +547,7 @@
callback.apply();*/
// END TO TRAVERSE LAYER BY LAYER. NEEDED FOR TIME REMAP?
totalLayers = pendingLayers.length;
+ UI.setState('processing');
extrasInstance.setTimeout(analyzeNextLayer,100);
}
diff --git a/parser/LayerConverter.js b/parser/LayerConverter.js
index 58f94ea..a3119ab 100644
--- a/parser/LayerConverter.js
+++ b/parser/LayerConverter.js
@@ -16,6 +16,7 @@
function convertComposition(comp){
helperFolder = helperFootage.item(2);
AssetsManager.reset();
+ UI.setState('duplicating',comp.name);
duplicateMainComp = comp.duplicate();
//duplicateMainComp.openInViewer() ;
duplicateMainComp.parentFolder = helperFolder;
@@ -30,10 +31,19 @@
}
};
+ function changeSourceToLayers(){
+ var i, len = duplicatedSources.length;
+ for(i=0;i<len;i+=1){
+ duplicatedSources[i].l.replaceSource(duplicatedSources[i].c,false);
+ //layerInfo.replaceSource(copy, false);
+ }
+ }
+
function iterateNextComposition(){
if(currentCompositionNum == pendingComps.length){
//TODO dar acceso externo a main comp
//TODO despachar evento de fin
+ changeSourceToLayers();
callback.apply(null,[duplicateMainComp]);
return;
}
@@ -64,10 +74,9 @@
}
}else{
if(lType=='PreCompLayer'){
- var copy = searchCompositionDuplicate(layerInfo);
- layerInfo.replaceSource(copy, false);
- pendingComps.push(copy);
- copy.parentFolder = helperFolder;
+ searchCompositionDuplicate(layerInfo);
+ //layerInfo.replaceSource(copy, false);
+ pendingComps.push(layerInfo.source);
}
currentLayerNum++;
extrasInstance.setTimeout(verifyNextItem,100);
@@ -80,16 +89,29 @@
function searchCompositionDuplicate(layerInfo){
var i=0,len = duplicatedSources.length;
+ $.writeln('--- new ---');
while(i<len){
+ //$.writeln('duplicatedSources[i].s.source: ',duplicatedSources[i].s);
+ //$.writeln('layerInfo.source: ',layerInfo.source);
+ //$.writeln('layerInfo.source.name: ',layerInfo.source.name);
+ /*$.writeln('duplicatedSources[i].s.source.name: ',duplicatedSources[i].s.name);
+ $.writeln('layerInfo.source: ',layerInfo.source);
+ $.writeln('layerInfo.source.name: ',layerInfo.source.name);*/
if(duplicatedSources[i].s == layerInfo.source){
- return duplicatedSources[i].c;
+ $.writeln('is found');
+ duplicatedSources.push({c:duplicatedSources[i].c,l:layerInfo});
+ return;
}
i++;
}
+ $.writeln('not found');
+ UI.setState('duplicating',layerInfo.source.name);
var copy = layerInfo.source.duplicate();
+ copy.parentFolder = helperFolder;
+ copy.parentFolder = helperFolder;
//copy.openInViewer() ;
- duplicatedSources.push({s:layerInfo.source,c:copy});
- return copy;
+ duplicatedSources.push({s:layerInfo.source,c:copy,l:layerInfo});
+ return;
}
function searchConvertedSource(source){
diff --git a/parser/UI.js b/parser/UI.js
index 225b202..92eae11 100644
--- a/parser/UI.js
+++ b/parser/UI.js
@@ -10,8 +10,8 @@
compsColumns : {name:'Name',queue:'In Queue',destination:'Destination Path'},
imagesButtons : {refresh:'Refresh', exportTxt:'Export', notExportTxt:'Do not export'},
imagesColumns : {name:'Name',exportTxt:'Export'},
- renderTexts : {cancel:'Cancel Render'}
- }
+ renderTexts : {cancel:'Cancel Render',start:'Starting export',duplicating:'Duplicating Comp: ',processing:'Processing layers'}
+ };
var availableCompositions = [];
var bodyMovinPanel;
var settingsGroup;
@@ -108,9 +108,9 @@
/**** RENDER GROUP ****/
var renderGroupRes = "group{orientation:'column',alignment:['fill','fill'],alignChildren:['fill',fill'],\
- componentText:StaticText{text:'Rendering Composition ',alignment:['left','top']},\
+ componentText:StaticText{text:'Rendering Composition ',alignment:['fill','top']},\
infoText:StaticText{text:'Exporting images ',alignment:['left','top']},\
- progress:Progressbar{value:50,alignment:['fill','top']},\
+ progress:Progressbar{value:0,alignment:['fill','top']},\
cancelButton: Button{text:'"+UITextsData.renderTexts.cancel+"',alignment:['center','top']},\
}";
bodyMovinPanel.mainGroup.renderGroup = bodyMovinPanel.mainGroup.add(renderGroupRes);
@@ -456,6 +456,24 @@
bodyMovinPanel.mainGroup.renderGroup.infoText.text = text;
}
+ function setState(state,compName){
+ switch(state){
+ case 'start':
+ bodyMovinPanel.mainGroup.renderGroup.componentText.text = UITextsData.renderTexts.start;
+ setProgress(1);
+ break;
+ case 'duplicating':
+ bodyMovinPanel.mainGroup.renderGroup.componentText.text = UITextsData.renderTexts.duplicating + compName;
+ break;
+ case 'processing':
+ bodyMovinPanel.mainGroup.renderGroup.componentText.text = UITextsData.renderTexts.processing;
+ break;
+ default:
+ bodyMovinPanel.mainGroup.renderGroup.componentText.text = 'default: '+state;
+ break;
+ }
+ }
+
myScript_buildUI(bodymovinWindow);
if (bodyMovinPanel != null && bodyMovinPanel instanceof Window){
bodyMovinPanel.center();
@@ -465,6 +483,7 @@
var ob ={};
ob.setExportText = setExportText;
ob.setProgress = setProgress;
+ ob.setState = setState;
UI = ob;
diff --git a/parser/extras.js b/parser/extras.js
index 6b0adda..c9dcf5f 100644
--- a/parser/extras.js
+++ b/parser/extras.js
@@ -461,7 +461,6 @@
case PropertyValueType.ThreeD_SPATIAL:
case PropertyValueType.TwoD_SPATIAL:
bezierIn.x = 1 - key.easeIn.influence / 100;
- $.writeln('bezierIn.x: ',bezierIn.x);
bezierOut.x = lastKey.easeOut.influence / 100;
averageSpeed = getCurveLength(lastKey.value,key.value, lastKey.to, key.ti)/duration;
break;
diff --git a/player/index.html b/player/index.html
index 2824f52..004c0ba 100644
--- a/player/index.html
+++ b/player/index.html
@@ -36,6 +36,6 @@
<!-- endbuild -->
</head>
<body style="background-color:#666; margin: 0px;height: 100%; font-family: sans-serif;font-size: 10px">
-<div style="width:100%;height:100%;background-color:#000;display:inline-block" class="bodymovin" data-bm-path="exports/letters/d_reduced" data-bm-type="svg" data-bm-loop="true" data-bm-prerender="true"></div>
+<div style="width:100%;height:100%;background-color:#000;display:inline-block" class="bodymovin" data-bm-path="exports/multicomp" data-bm-type="canvas" data-bm-loop="true" data-bm-prerender="true"></div>
</body>
</html>