blob: 3e98efaaace34e517a34e630daeda1a1cec01cd7 [file] [log] [blame]
/*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */
/*global app, bm_eventDispatcher */
var bm_projectManager = (function () {
'use strict';
var commands = {};
var projectId = '';
var project;
function getItemType(item) {
var getType = {};
var type = getType.toString.call(item);
var itemType = '';
switch (type) {
case "[object FolderItem]":
itemType = 'Folder';
break;
case "[object FootageItem]":
itemType = 'Footage';
break;
case "[object CompItem]":
itemType = 'Comp';
break;
default:
itemType = type;
break;
}
return itemType;
}
function searchCommands() {
//commands.shapesFromText = app.findMenuCommandId("Create Shapes from Text");
//commands.duplicate = app.findMenuCommandId("Duplicate");
commands.shapesFromText = 3781;
commands.duplicate = 2080;
}
function getCommandID(key) {
return commands[key];
}
function checkProject() {
//bm:application:id
var storedProjectId;
if(!bm_XMPHelper.created){
} else {
storedProjectId = bm_XMPHelper.getMetadata('project_id');
}
if(!storedProjectId) {
storedProjectId = bm_generalUtils.random(20);
bm_XMPHelper.setMetadata('project_id',storedProjectId);
}
if(projectId !== storedProjectId){
projectId = storedProjectId;
bm_eventDispatcher.sendEvent('bm:project:id', {id:projectId});
}
}
function getCompositions() {
project = app.project;
var arr = [];
if (!project) {
return;
}
var i, numItems = project.numItems;
for (i = 0; i < numItems; i += 1) {
if (getItemType(project.item(i + 1)) === 'Comp') {
arr.push(project.item(i + 1));
}
}
return arr;
}
function getCompositionById(id){
var i, numItems = project.numItems;
for (i = 0; i < numItems; i += 1) {
if (getItemType(project.item(i + 1)) === 'Comp') {
if(project.item(i + 1).id == id){
return project.item(i + 1);
}
}
}
}
var ob = {
checkProject: checkProject,
getCompositions: getCompositions,
getCompositionById: getCompositionById,
searchCommands: searchCommands,
getCommandID: getCommandID
};
return ob;
}());