#target premierepro-3.0 // Copyright 2007. Adobe Systems, Incorporated. All rights reserved. /* @@@START_XML@@@ Adobe Premiere Pro CS3 This script enables other applications to communicate with Adobe Premiere Pro CS3. Adobe Premiere Pro CS3 Ce script permet à d'autres applications de communiquer avec Adobe Premiere Pro CS3. Adobe Premiere Pro CS3 このスクリプトは、他のアプリケーションと Adobe Premiere Pro CS3 との通信を有効にします。 Adobe Premiere Pro CS3 Mithilfe dieses Skripts können andere Anwendungen mit Adobe Premiere Pro CS3 kommunizieren. Adobe Premiere Pro CS3 Questo script consente ad altre applicazioni di comunicare con Adobe Premiere Pro CS3 Adobe Premiere Pro CS3 Este script posibilita que otras aplicaciones se comuniquen con Adobe Premiere Pro CS3 Adobe Premiere Pro CS3 Dit script laat andere toepassingen toe te communiceren met Adobe Premiere Pro CS3 Adobe Premiere Pro CS3 Este script permite que outros aplicativos se comuniquem com o Adobe Premiere Pro CS3 Adobe Premiere Pro CS3 Skriptet gjør at andre programmer kan kommunisere med Adobe Premiere Pro CS3 Adobe Premiere Pro CS3 Dette script betyder, at andre programmer kan kommunikere med Adobe Premiere Pro CS3 Adobe Premiere Pro CS3 Tämän komentosarjan avulla muut sovellukset ja Adobe Premiere Pro CS3 voivat kommunikoida keskenään Adobe Premiere Pro CS3 Det här skriptet gör det möjligt för andra program att kommunicera med Adobe Premiere Pro CS3 Adobe Premiere Pro CS3 "此指令碼能讓其他應用程式與 Adobe Premiere Pro CS3 進行通訊。 Adobe Premiere Pro CS3 "此脚本使其它应用程序能够与 Adobe Premiere Pro CS3 进行通信 Adobe Premiere Pro CS3 "이 스크립트를 사용하면 다른 응용 프로그램에서 Adobe Premiere Pro CS3과(와) 통신할 수 있습니다. @@@END_XML@@@ */ premierepro3 = {}; premierepro3.premiereProTargetName = "premierepro-3.0"; premierepro3.premiereProAppName = "premierepro"; premierepro3.premiereProVersion = "3.0"; premierepro3.BridgeTargetName = "bridge"; /** ** open ** ** Open the passed in files. This may be one or many files. ** */ premierepro3.open = function(target) { if (BridgeTalk.appSpecifier == premierepro3.premiereProTargetName) { var filePaths = []; for (var index = 0; index < target.length; index++) { filePaths[index] = target[index].fsName; } if (target.length == 1 && app.isDocument(filePaths)) { app.openDocument(filePaths); } else if (app.isDocumentOpen()) { document.importFiles(filePaths); } } else { var filesString = premierepro3.fileArrayToString(target); premierepro3.executeScript("premierepro3.open(" + filesString + ");"); } } /** ** executeScript ** ** Execute the passed in script by sending a bridgetalk message. */ premierepro3.executeScript = function(script) { if (BridgeTalk.appSpecifier == premierepro3.premiereProTargetName) { eval(script); } else { // Bring Premiere to the foreground. BridgeTalk.bringToFront(premierepro3.premiereProAppName); var btMessage = new BridgeTalk; btMessage.target = premierepro3.premiereProTargetName; btMessage.body = script; btMessage.send(); } } /** ** quit ** ** Performs the equivalent of File>Exit. */ premierepro3.quit = function() { if (BridgeTalk.appSpecifier == premierepro3.premiereProTargetName) { app.quit(); } else { premierepro3.executeScript("app.quit();"); } } /** ** fileArrayToString ** ** This routine create a string for the files array that we can transmit ** over BridgeTalk as text, like this: ** ** Array (File ('path1'), File ('path2'), File ('path3')) */ premierepro3.fileArrayToString = function(files) { var filesString = new String("Array ("); for (var index = 0; index < files.length; index++) { if (index > 0) { filesString += ", "; } filesString += "File ('" + files[index].absoluteURI.toString() + "')"; } // close the Array filesString += ")"; return filesString; } /** ** Open Event ** ** The event is: ** event.type - document ** event.location - document ** event.object.constructor.name - Document ** app.document.owner - premierepro-3.0 ** ** The app.document.owner is used to indicate that Bridge is in "slave" mode. ** Used by applications that use Bridge for their own file browser. ** Indicated in the window's title as "Opening in Adobe Premiere Pro CS3". ** ** To get the selection use event.object.selections. ** */ premierepro3.eventHandler = function(event) { var retval = {}; retval.handled = false; if (event.type == "open" && event.location == "document" && event.object.constructor.name == "Document" && app.document.owner == premierepro3.premiereProTargetName) { var sels = event.object.selections; var files = []; for (var i = 0; i < sels.length; i++) { files[i] = sels[i].spec; } if (files.length > 0) { premierepro3.open(files); retval.handled = true; } } return retval; } if (BridgeTalk.appName == premierepro3.BridgeTargetName) { app.eventHandlers.push( {handler:premierepro3.eventHandler} ); }