Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.beginUndoGroup("Grouper");
- var activeItem = app.project.activeItem;
- var xmin;
- var xmax;
- var ymin;
- var ymax;
- //If focus is on Layers
- if ((activeItem != null) && (activeItem instanceof CompItem)){
- selectedLayers = activeItem.selectedLayers;
- if(selectedLayers.length>0) {
- minIndex = selectedLayers[0].index;
- xmin = xmax = selectedLayers[0].property("Position").value[0];
- ymin = ymax = selectedLayers[0].property("Position").value[1];
- activeItem.layers.addNull();
- var newNull = activeItem.layer(1);
- newNull.name = "Group Null";
- var ctr= 0;
- var minIndex;
- for each (lay in selectedLayers){
- ctr++;
- minmaxX( lay.property("Position").value[0] );
- minmaxY( lay.property("Position").value[1] );
- }
- xpos = ((xmax-xmin)/2)+xmin;
- ypos = ((ymax-ymin)/2)+ymin;
- newNull.property("Position").setValue([xpos,ypos]);
- for each (lay in selectedLayers){
- lay.parent = newNull;
- if(lay.index<minIndex){minIndex = lay.index;}
- }
- myLay = activeItem.layers[minIndex]
- if(myLay.index>1){newNull.moveAfter(myLay);}
- }
- }
- // If focus is on Project Window
- else {
- var mySelectedItems = [];
- for (var i = 1; i <= app.project.numItems; i++){
- if (app.project.item(i).selected)
- mySelectedItems[mySelectedItems.length] = app.project.item(i);
- }
- var myFolder = app.project.items.addFolder("Untitled Group");
- var tempFolder = mySelectedItems[0].parentFolder;
- var sameFolder = true;
- for each(item in mySelectedItems){
- if(item.parentFolder!=tempFolder){sameFolder = false;}
- }
- if(sameFolder){
- for each(item in mySelectedItems){
- item.parentFolder = myFolder;item.selected=false;
- }
- myFolder.parentFolder = tempFolder;
- } else {
- for each(item in mySelectedItems){
- item.parentFolder = myFolder;item.selected=false;
- }
- }
- myFolder.selected=true;
- }
- // Placement functions
- function minmaxX(xIn){
- if(xIn>xmax){ xmax = xIn; }
- if(xIn<xmin){ xmin = xIn; }
- }
- function minmaxY(yIn){
- if(yIn>ymax){ ymax = yIn; }
- if(yIn<ymin){ ymin = yIn; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement