NO AUDIO ON BATCH EXPORT. First 2 times i posted this it never showed up....
Why do I randomly get audio from batch export using AME. Usually it doesn't work at all as in NO audio but other times several of the files in a batch will have audio. And other times none.
What gives?
running Mavericks on G5 with 12GB of RAM and Quadro FX4800 video card.
Rob
First of all, could you tell me what version of AME you are using?
Did you import files directly into AME or queue jobs from Premiere Pro or other Adobe apps?
Could you clear the following cache folders while no Adobe app is running and try again?
/Users/<user name>/Library/Application Support/Adobe/Common/Media Cache
/Users/<user name>/Library/Application Support/Adobe/Common/Media Cache Files
How many files did you encode at one time? If you encode one at a time, does it encode fine?
Similar Messages
-
While trying to purchase a gift card to send via email, got a message this apple ID not eligible for purchase. I've purchased many times before and this has never happened. Does anyone know why?
Re: ITunes will not let me send a gift certificate...Error message says: This Apple ID is not currently eligible to purchase gift certificates. I have a valid Apple ID so please tell me why this is happening if you know.
iTunes Customer Service Contact - http://www.apple.com/support/itunes/contact.html
Are you still using OSX 10.4.11? I thought the Store didn't work with Tiger. -
Rendering Hundreds of Audio Previews Upon Export, Long Render Times
Hi everyone,
I have an assembly cut of a feature, with footage and a timeline at 422 ProRes HQ, 24 fps, 96kHz audio.
When I try to export any length of a clip, I get exorbitant render times and hundreds of audio previews to render.
Video alone is rendered almost instantaneously.
There are some audio files on the timeline (music and SFX) at 48k sample rate.
Any ideas what the problem is?
Thanks.
Premiere CC 2014
OSX Mavericks
2 X 2.66 Quad Core Xeon
32 GB memory
NVIDIA Quadro 4000 w/ CUDA
3 tB 7200 RPM - RAID 0Thanks, Ann. I'm thinking that may be a factor because this is the first time I've had to work with audio recorded at 96 and I've never had this problem.
Can anyone else elaborate more? -
plz help me out
TimeMachine 'knows' that this is a new computer so you have to open up the TimeMachine control panel and tell it what hard drive to use for backing up. Also the first backup will be a complete backup because it is a different computer.
-
I'm running on an iMac, OS 10.5.8, I've lost count on how many times I've been told there's an update for Firefox 3.6.16, I install it. the next time I restart, FF starts up, and I look at the about FF menu, and it shows I'm running 3.6.16. I've never encountered anything like this. What is going on? How do I tell.
Thanks,
JudyI'm running on an iMac, OS 10.5.8, I've lost count on how many times I've been told there's an update for Firefox 3.6.16, I install it. the next time I restart, FF starts up, and I look at the about FF menu, and it shows I'm running 3.6.16. I've never encountered anything like this. What is going on? How do I tell.
Thanks,
Judy -
When doing a batch export I receive a message:
"Batch Export Filename Error
The output filename for this item already exists for another item in the export queue.
To continue the export, enter a new base output filename below and select ok."
I then have to assign some random file name for each or the default mattes and titles in my timeline that are all named “color,” "Title 3D." So I am naming them “color1” “color2” etc. I just went through naming a ton of them and now it is asking me the same questions again!
How can I avoid all of this?
Thanks for your help!I have 4 tracks in the timeline:
V4: Title 3D
V3: Color (it is a black matte)
V2: Video clip
A3: audio
A4: audio
The video is cut into clips and I have copied-and-pasted many instances of the title and color clips so that it continuously plays during the duration of all of the video.
I did a select all of the timeline and dragged everything to a new bin and did a batch export.
Should I be doing this another way???? It just keeps asking me to rename the filenames over and over again and never gets anywhere. -
Batch export audio in channels grouped
Hi!
My english is not the best so I will try to explain myself as good as possible.
I need to get the 5.1 audio from 11 sequences in discrete channels.
I know how to do this from each and one sequence. Right Click->Export->Audio to AIFF (s)...
But this takes a long time.
Is it possible to make a batch export and get the same result.
If I mark my sequences and choose batch export, the press settings I can only get the AIFFS as mono or stereo, but I cant get it as discrete channels.
I want it to be as same when I choose one individually.
When I use the method each one this is the result:
Sequence name_1
Sequence name_2
Sequence name_3
Sequence name_4
Sequence name_5
Sequence name_6
I hope I have made my problem clear.
Thank you for the help
/SebastianHello.
here is the full script. I made a few changes. Hope it works for you.
#target indesign
var saveFold;
function main(){
saveFold = Folder( Folder.desktop + '/Batch' );
if ( ! saveFold.exists ) { saveFold.create(); }
app.documents[0].groups.firstItem().select();
// app.swfExportPreferences.fitMethod = FitMethodSettings.fitGivenScalePercentage;
// app.swfExportPreferences.fitOption = FitDimension.fit1024x768;
app.swfExportPreferences.fitScale = 100;
// app.swfExportPreferences.pageRange = "Selection";
app.swfExportPreferences.dynamicDocumentExportReaderSpreads = 0;
app.swfExportPreferences.rasterizePages = false;
app.swfExportPreferences.generateHTML = false;
app.swfExportPreferences.viewSWFAfterExporting = false;
app.swfExportPreferences.textExportPolicy = DynamicDocumentsTextExportPolicy.live;
//app.swfExportPreferences.includeInteractivePageCurl = true;
app.swfExportPreferences.rasterCompression = RasterCompressionOptions.losslessCompression;
app.swfExportPreferences.jpegQualityOptions = DynamicDocumentsJPEGQualityOptions.maximum;
app.swfExportPreferences.curveQuality = SWFCurveQualityValue.maximum;
app.swfExportPreferences.rasterResolution = 100;
for (var j=0; j<app.documents.length;j++){
groupsToJPEGs (app.documents[j]);
function groupsToJPEGs(doc) {
var i, grps, expFile;
grps = doc.groups;
for ( i = 0; i < grps.length; i++ ) {
expFile = File( saveFold + '/'+ doc.name + '_' + ( i + 1 ) + '.swf' );
doc.groups[i].select();
doc.groups[i].exportFile( ExportFormat.SWF, expFile, false );
main();
ps. Anyone can tell me how can i make the "advanced editor" as default for replies in this forum?
Message was edited by: Vamitul -
My question is to anyone that can help..I downloaded 2-300 photos on my iPad and want to reload a few hundred more. The last time I did this I lost the first batch of photos I loaded a week before. How do I just add without losing what is already on iPad?
You need to add the new photos to the ones that are currently on the iPad and (re-)sync them all - only the most recent photo sync remains on the iPad, not including photos in a subsequent sync is how you delete them from the iPad (as you've found out).
You can use third-party apps such as Simple Transfer which can copy photos to the Photos app via your wifi network, but they will only go into the Saved Photos/Camera Roll album, and not into a 'proper' album. -
Using BATCH-EXPORT on subclips vs MM to create independent media files
I've been capturing full HDV tapes with the DV Start/Stop Detection turned on and everything has worked just fine - until now. I'm now encountering a problem w FCP "Searching for Media" on roughly 25% of my clips DURING capture, and in the process, losing about 5 seconds at the start of the clip. I've been having lots of problems w my G5 over the last couple months and it's been acting quite slow and I imagine this is related to that.
So... after a full 2 days trying to get Media Manager to create independent media files from my subclips (after capturing a twenty minute chunk whole, then breaking it down), following the FCP manual volume II pg 42 to a tee... I concur w many others on this site that Media Manager *****! No matter what I did, it would not produce new files out of my subclips and instead kept giving me the same error: "Reconnect Media Failed. The clip such-and-such was unable to be reconnected to the trimmed file due to a mismatch of the media present in the file... yada yada." Yes, I shortened the end of the first subclip by a couple frames, and I also had another subclip to delete, and I tried going straight from the bin, then from the timeline, then after making all clips independent in the timeline... nothing!
Then I discovered BATCH EXPORT.
Using it, I exported my HDV subclips using Quicktime Movie, Self-Contained, HDV 30, audio and video. It processed 20 minutes of subclips in just a few minutes so I'm fairly confident that no real 'processing' occurred.
Can someone verify for me though that this is a safe procedure and that I am not re-processing HDV files with more HDV nonsense? Before continuing, I would just like to know for sure that Batch Export produces exactly the same result with subclips then if I were to simply capture one clip at a time.
Thanks a bunch,
ChrisI can confirm that it does not merge audio tracks. Track 1 and 2 remain the same. In fact everything appears as it would if I were to capture direct, I just want someone who knows better to validate this!
Also, has anyone else experienced the slowdown during log & capture that I described, with the intermittent message "searching for media"? -
How do i change the size of a clip using batch export?
hi, when i try and do a batch export to change my clips from a DV PAL to PhotoJpeg 320*240 sized clips the "options" button is greyed out. so all i have as export settings are the QT presets in a pulldown list. is there any way i can create my own setting? (and the also save that?)
thxwhat i'm seeing is that
a) selecting all files in Media Man. gives me the option to size and set codecs but not the audio off.
b) selecting all files in Batch Export allows me to pick a format (QT, aiff etc) choose a preset (photoJpeg included) select whether to include audio and video or both but not set the size or customize the QT settings
c) selecting all clips then "file>export>using QT conversion" gives me all options, but seem to grab only the first clip. -
How batch export layers to files png in cc
I am having trouble with an export layers to files script i am wanting to batch export layer to png and this script i have seems to be the one i want although every time i run the script i get this error message "could not complete the action since the destination folder doesn't exist" the script required me to hard code my destination path the path i require is "C:/Users/Tim/Desktop/Backdrops/png/" I am not completely sure why its stating it does not exist any help would be greatly appreciated. i have tried to contact the creator but the post it was on was very old.
// enable double clicking from the Macintosh Finder or the Windows Explorer
#target photoshop
//=================================================================
// Globals
//=================================================================
var exportPath = "/Users/pedr/Documents/Work/Clients/Pathways/Learning_Hub/Source/Comics/export";
exportPath = exportPath + '/layers';
// UI strings to be localized
var strTitle = localize("$$$/JavaScripts/X2L/Title=X2L");
var strButtonRun = localize("$$$/JavaScripts/X2L/Run=Run");
var strButtonCancel = localize("$$$/JavaScripts/X2L/Cancel=Cancel");
var strHelpText = localize("$$$/JavaScripts/X2L/Help=Please specify the format and location for saving each layer as a file.");
var strLabelDestination = localize("$$$/JavaScripts/X2L/Destination=Destination:");
var strButtonBrowse = localize("$$$/JavaScripts/X2L/Browse=&Browse...");
var strLabelFileNamePrefix = localize("$$$/JavaScripts/X2L/FileNamePrefix=File Name Prefix:");
var strCheckboxVisibleOnly = localize("$$$/JavaScripts/X2L/VisibleOnly=&Visible Layers Only");
var strLabelFileType = localize("$$$/JavaScripts/X2L/FileType=File Type:");
var strCheckboxIncludeICCProfile = localize("$$$/JavaScripts/X2L/IncludeICC=&Include ICC Profile");
var strJPEGOptions = localize("$$$/JavaScripts/X2L/JPEGOptions=JPEG Options:");
var strLabelQuality = localize("$$$/JavaScripts/X2L/Quality=Quality:");
var strCheckboxMaximizeCompatibility = localize("$$$/JavaScripts/X2L/Maximize=&Maximize Compatibility");
var strTIFFOptions = localize("$$$/JavaScripts/X2L/TIFFOptions=TIFF Options:");
var strLabelImageCompression = localize("$$$/JavaScripts/X2L/ImageCompression=Image Compression:");
var strNone = localize("$$$/JavaScripts/X2L/None=None");
var strPDFOptions = localize("$$$/JavaScripts/X2L/PDFOptions=PDF Options:");
var strLabelEncoding = localize("$$$/JavaScripts/X2L/Encoding=Encoding:");
var strTargaOptions = localize("$$$/JavaScripts/X2L/TargaOptions=Targa Options:");
var strLabelDepth = localize("$$$/JavaScripts/X2L/Depth=Depth:");
var strRadiobutton16bit = localize("$$$/JavaScripts/X2L/Bit16=16bit");
var strRadiobutton24bit = localize("$$$/JavaScripts/X2L/Bit24=24bit");
var strRadiobutton32bit = localize("$$$/JavaScripts/X2L/Bit32=32bit");
var strBMPOptions = localize("$$$/JavaScripts/X2L/BMPOptions=BMP Options:");
var strAlertSpecifyDestination = localize("$$$/JavaScripts/X2L/SpecifyDestination=Please specify destination.");
var strAlertDestinationNotExist = localize("$$$/JavaScripts/X2L/DestionationDoesNotExist=Destination does not exist.");
var strTitleSelectDestination = localize("$$$/JavaScripts/X2L/SelectDestination=Select Destination");
var strAlertDocumentMustBeOpened = localize("$$$/JavaScripts/X2L/OneDocument=You must have a document open to export!");
var strAlertNeedMultipleLayers = localize("$$$/JavaScripts/X2L/NoLayers=You need a document with multiple layers to export!");
var strAlertWasSuccessful = localize("$$$/JavaScripts/X2L/Success= was successful.");
var strUnexpectedError = localize("$$$/JavaScripts/X2L/Unexpected=Unexpected error");
var strMessage = localize("$$$/JavaScripts/X2L/Message=X2L");
var stretQuality = localize( "$$$/locale_specific/JavaScripts/X2L/ETQualityLength=30" );
var stretDestination = localize( "$$$/locale_specific/JavaScripts/X2L/ETDestinationLength=160" );
var strddFileType = localize( "$$$/locale_specific/JavaScripts/X2L/DDFileType=100" );
var strpnlOptions = localize( "$$$/locale_specific/JavaScripts/X2L/PNLOptions=100" );
var strPNG8Options = localize("$$$/JavaScripts/X2L/PNG8Options=PNG-8 Options:");
var strCheckboxPNGTransparency = localize("$$$/JavaScripts/X2L/Transparency=Transparency");
var strCheckboxPNGInterlaced = localize("$$$/JavaScripts/X2L/Interlaced=Interlaced");
var strCheckboxPNGTrm = localize("$$$/JavaScripts/X2L/Trim=Trim Layers");
var strPNG24Options = localize("$$$/JavaScripts/X2L/PNG24Options=PNG-24 Options:");
// the drop down list indexes for file type
var png24Index = 7;
main();
// Functions
// Function: main
// Usage: the core routine for this script
// Input: <none>
// Return: <none>
function main() {
if ( app.documents.length <= 0 ) {
if ( DialogModes.NO != app.playbackDisplayDialogs ) {
alert( strAlertDocumentMustBeOpened );
return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
var exportInfo = new Object();
initExportInfo(exportInfo);
// look for last used params via Photoshop registry, getCustomOptions will throw if none exist
try {
catch(e) {
// it's ok if we don't have any options, continue with defaults
try {
var docName = app.activeDocument.name; // save the app.activeDocument name before duplicate.
var layerCount = app.documents[docName].layers.length;
var layerSetsCount = app.documents[docName].layerSets.length;
if ((layerCount <= 1)&&(layerSetsCount <= 0)) {
if ( DialogModes.NO != app.playbackDisplayDialogs ) {
alert( strAlertNeedMultipleLayers );
return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
} else {
var rememberMaximize;
var needMaximize = exportInfo.psdMaxComp ? QueryStateType.ALWAYS : QueryStateType.NEVER;
app.activeDocument = app.documents[docName];
var duppedDocument = app.activeDocument.duplicate();
duppedDocument.activeLayer = duppedDocument.layers[duppedDocument.layers.length-1]; // for removing
setInvisibleAllArtLayers(duppedDocument);
exportChildren(duppedDocument, app.documents[docName], exportInfo, duppedDocument, exportInfo.fileNamePrefix);
duppedDocument.close( SaveOptions.DONOTSAVECHANGES );
if ( rememberMaximize != undefined ) {
app.preferences.maximizeCompatibility = rememberMaximize;
if ( DialogModes.ALL == app.playbackDisplayDialogs ) {
//alert(strTitle + strAlertWasSuccessful);
app.playbackDisplayDialogs = DialogModes.ALL;
} catch (e) {
if ( DialogModes.NO != app.playbackDisplayDialogs ) {
alert(e);
return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
// Function: settingDialog
// Usage: pop the ui and get user settings
// Input: exportInfo object containing our parameters
// Return: on ok, the dialog info is set to the exportInfo object
function settingDialog(exportInfo) {
return;
// Function: hideAllFileTypePanel
// Usage: hide all the panels in the common actions
// Input: <none>, dlgMain is a global for this script
// Return: <none>, all panels are now hidden
function hideAllFileTypePanel() {
// Function: initExportInfo
// Usage: create our default parameters
// Input: a new Object
// Return: a new object with params set to default
function initExportInfo(exportInfo) {
//exportInfo.destination = new String(exportPath);
exportInfo.fileNamePrefix = new String("untitled_");
exportInfo.visibleOnly = false;
exportInfo.fileType = png24Index;
exportInfo.icc = true;
exportInfo.png24Transparency = true;
exportInfo.png24Interlaced = false;
exportInfo.png24Trim = true;
try {
exportInfo.destination = Folder(new String(exportPath)).fsName; // destination folder
var tmp = app.activeDocument.fullName.name;
exportInfo.fileNamePrefix = decodeURI(tmp.substring(0, tmp.indexOf("."))); // filename body part
} catch(someError) {
exportInfo.destination = new String(exportPath);
exportInfo.fileNamePrefix = app.activeDocument.name; // filename body part
// Function: saveFile
// Usage: the worker routine, take our params and save the file accordingly
// Input: reference to the document, the name of the output file,
// export info object containing more information
// Return: <none>, a file on disk
function saveFile( docRef, fileNameBody, exportInfo) {
saveFile(docRef, fileNameBody, exportInfo, false, true);
function saveFile( docRef, fileNameBody, exportInfo, interlacedValue, transparencyValue) {
var id6 = charIDToTypeID( "Expr" );
var desc3 = new ActionDescriptor();
var id7 = charIDToTypeID( "Usng" );
var desc4 = new ActionDescriptor();
var id8 = charIDToTypeID( "Op " );
var id9 = charIDToTypeID( "SWOp" );
var id10 = charIDToTypeID( "OpSa" );
desc4.putEnumerated( id8, id9, id10 );
var id11 = charIDToTypeID( "Fmt " );
var id12 = charIDToTypeID( "IRFm" );
var id13 = charIDToTypeID( "PN24" );
desc4.putEnumerated( id11, id12, id13 );
var id14 = charIDToTypeID( "Intr" );
desc4.putBoolean( id14, interlacedValue );
var id15 = charIDToTypeID( "Trns" );
desc4.putBoolean( id15, transparencyValue );
var id16 = charIDToTypeID( "Mtt " );
desc4.putBoolean( id16, true );
var id17 = charIDToTypeID( "MttR" );
desc4.putInteger( id17, 255 );
var id18 = charIDToTypeID( "MttG" );
desc4.putInteger( id18, 255 );
var id19 = charIDToTypeID( "MttB" );
desc4.putInteger( id19, 255 );
var id20 = charIDToTypeID( "SHTM" );
desc4.putBoolean( id20, false );
var id21 = charIDToTypeID( "SImg" );
desc4.putBoolean( id21, true );
var id22 = charIDToTypeID( "SSSO" );
desc4.putBoolean( id22, false );
var id23 = charIDToTypeID( "SSLt" );
var list1 = new ActionList();
desc4.putList( id23, list1 );
var id24 = charIDToTypeID( "DIDr" );
desc4.putBoolean( id24, false );
var id25 = charIDToTypeID( "In " );
desc4.putPath( id25, new File( exportPath + "C:/Users/Tim/Desktop/Backdrops/png/" + fileNameBody + ".png") );
var id26 = stringIDToTypeID( "SaveForWeb" );
desc3.putObject( id7, id26, desc4 );
executeAction( id6, desc3, DialogModes.NO );
// Function: zeroSuppress
// Usage: return a string padded to digit(s)
// Input: num to convert, digit count needed
// Return: string padded to digit length
function zeroSuppress (num, digit) {
var tmp = num.toString();
while (tmp.length < digit) {
tmp = "0" + tmp;
return tmp;
// Function: setInvisibleAllArtLayers
// Usage: unlock and make invisible all art layers, recursively
// Input: document or layerset
// Return: all art layers are unlocked and invisible
function setInvisibleAllArtLayers(obj) {
for( var i = 0; i < obj.artLayers.length; i++) {
obj.artLayers[i].allLocked = false;
obj.artLayers[i].visible = false;
for( var i = 0; i < obj.layerSets.length; i++) {
setInvisibleAllArtLayers(obj.layerSets[i]);
// Function: removeAllInvisibleArtLayers
// Usage: remove all the invisible art layers, recursively
// Input: document or layer set
// Return: <none>, all layers that were invisible are now gone
function removeAllInvisibleArtLayers(obj) {
for( var i = obj.artLayers.length-1; 0 <= i; i--) {
try {
if(!obj.artLayers[i].visible) {
obj.artLayers[i].remove();
catch (e) {
for( var i = obj.layerSets.length-1; 0 <= i; i--) {
removeAllInvisibleArtLayers(obj.layerSets[i]);
// Function: removeAllEmptyLayerSets
// Usage: find all empty layer sets and remove them, recursively
// Input: document or layer set
// Return: empty layer sets are now gone
function removeAllEmptyLayerSets(obj) {
var foundEmpty = true;
for( var i = obj.layerSets.length-1; 0 <= i; i--) {
if( removeAllEmptyLayerSets(obj.layerSets[i])) {
obj.layerSets[i].remove();
} else {
foundEmpty = false;
if (obj.artLayers.length > 0) {
foundEmpty = false;
return foundEmpty;
// Function: zeroSuppress
// Usage: return a string padded to digit(s)
// Input: num to convert, digit count needed
// Return: string padded to digit length
function removeAllInvisible(docRef) {
removeAllInvisibleArtLayers(docRef);
removeAllEmptyLayerSets(docRef);
// Function: exportChildren
// Usage: find all the children in this document to save
// Input: duplicate document, original document, export info,
// reference to document, starting file name
// Return: <none>, documents are saved accordingly
function exportChildren(dupObj, orgObj, exportInfo, dupDocRef, fileNamePrefix) {
for( var i = 0; i < dupObj.artLayers.length; i++) {
if (exportInfo.visibleOnly) { // visible layer only
if (!orgObj.artLayers[i].visible) {
continue;
dupObj.artLayers[i].visible = true;
var layerName = dupObj.artLayers[i].name; // store layer name before change doc
var duppedDocumentTmp = dupDocRef.duplicate();
if ((png24Index == exportInfo.fileType)||(png8Index == exportInfo.fileType)) { // PSD: Keep transparency
removeAllInvisible(duppedDocumentTmp);
//PNGFileOptions
if (activeDocument.activeLayer.isBackgroundLayer == false) { //is it anything but a background layer?
app.activeDocument.trim(TrimType.TRANSPARENT);
} else { // just flatten
duppedDocumentTmp.flatten();
// Edit
var docName = app.activeDocument.name;
// For some reason indexOf fails if we include the '-', so we use 'copy' and decrement the index by 1.
docName = docName.slice(0, docName.indexOf('copy')-1);
var fileNameBody = (docName+'_'+layerName).toLowerCase();
fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_"); // '/\:*?"<>|' -> '_'
if (fileNameBody.length > 120) {
fileNameBody = fileNameBody.substring(0,120);
saveFile(duppedDocumentTmp, fileNameBody, exportInfo);
duppedDocumentTmp.close(SaveOptions.DONOTSAVECHANGES);
dupObj.artLayers[i].visible = false;
for( var i = 0; i < dupObj.layerSets.length; i++) {
if (exportInfo.visibleOnly) { // visible layer only
if (!orgObj.layerSets[i].visible) {
continue;
var fileNameBody = fileNamePrefix;
fileNameBody += "_" + zeroSuppress(i, 4) + "s";
exportChildren(dupObj.layerSets[i], orgObj.layerSets[i], exportInfo, dupDocRef, fileNameBody); // recursive call
// Function: objectToDescriptor
// Usage: create an ActionDescriptor from a JavaScript Object
// Input: JavaScript Object (o)
// object unique string (s)
// Pre process converter (f)
// Return: ActionDescriptor
// NOTE: Only boolean, string, number and UnitValue are supported, use a pre processor
// to convert (f) other types to one of these forms.
// REUSE: This routine is used in other scripts. Please update those if you
// modify. I am not using include or eval statements as I want these
// scripts self contained.
function objectToDescriptor (o, s, f) {
o = {};
var d = new ActionDescriptor;
var l = o.reflect.properties.length;
d.putString( app.charIDToTypeID( 'Msge' ), s );
for (var i = 0; i < l; i++ ) {
var k = o.reflect.properties[i].toString();
if (k == "__proto__" || k == "__count__" || k == "__class__" || k == "reflect")
continue;
var v = o[ k ];
k = app.stringIDToTypeID(k);
switch ( typeof(v) ) {
case "boolean":
d.putBoolean(k, v);
break;
case "string":
d.putString(k, v);
break;
case "number":
d.putDouble(k, v);
break;
default:
if ( v instanceof UnitValue ) {
var uc = new Object;
uc["px"] = charIDToTypeID("#Rlt"); // unitDistance
uc["%"] = charIDToTypeID("#Prc"); // unitPercent
d.putUnitDouble(k, uc[v.type], v.value);
} else {
throw( new Error("Unsupported type in objectToDescriptor " + typeof(v) ) );
return d;
// Function: descriptorToObject
// Usage: update a JavaScript Object from an ActionDescriptor
// Input: JavaScript Object (o), current object to update (output)
// Photoshop ActionDescriptor (d), descriptor to pull new params for object from
// object unique string (s)
// JavaScript Function (f), post process converter utility to convert
// Return: Nothing, update is applied to passed in JavaScript Object (o)
// NOTE: Only boolean, string, number and UnitValue are supported, use a post processor
// to convert (f) other types to one of these forms.
// REUSE: This routine is used in other scripts. Please update those if you
// modify. I am not using include or eval statements as I want these
// scripts self contained.
function descriptorToObject (o, d, s, f) {
var l = d.count;
if (l) {
var keyMessage = app.charIDToTypeID( 'Msge' );
if ( d.hasKey(keyMessage) && ( s != d.getString(keyMessage) )) return;
for (var i = 0; i < l; i++ ) {
var k = d.getKey(i); // i + 1 ?
var t = d.getType(k);
strk = app.typeIDToStringID(k);
switch (t) {
case DescValueType.BOOLEANTYPE:
o[strk] = d.getBoolean(k);
break;
case DescValueType.STRINGTYPE:
o[strk] = d.getString(k);
break;
case DescValueType.DOUBLETYPE:
o[strk] = d.getDouble(k);
break;
case DescValueType.UNITDOUBLE:
var uc = new Object;
uc[charIDToTypeID("#Rlt")] = "px"; // unitDistance
uc[charIDToTypeID("#Prc")] = "%"; // unitPercent
uc[charIDToTypeID("#Pxl")] = "px"; // unitPixels
var ut = d.getUnitDoubleType(k);
var uv = d.getUnitDoubleValue(k);
o[strk] = new UnitValue( uv, uc[ut] );
break;
case DescValueType.INTEGERTYPE:
case DescValueType.ALIASTYPE:
case DescValueType.CLASSTYPE:
case DescValueType.ENUMERATEDTYPE:
case DescValueType.LISTTYPE:
case DescValueType.OBJECTTYPE:
case DescValueType.RAWTYPE:
case DescValueType.REFERENCETYPE:
default:
throw( new Error("Unsupported type in descriptorToObject " + t ) );
if (undefined != f) {
o = f(o);
// Function: preProcessExportInfo
// Usage: convert Photoshop enums to strings for storage
// Input: JavaScript Object of my params for this script
// Return: JavaScript Object with objects converted for storage
function preProcessExportInfo(o) {
o.tiffCompression = o.tiffCompression.toString();
o.pdfEncoding = o.pdfEncoding.toString();
o.targaDepth = o.targaDepth.toString();
o.bmpDepth = o.bmpDepth.toString();
return o;
// Function: postProcessExportInfo
// Usage: convert strings from storage to Photoshop enums
// Input: JavaScript Object of my params in string form
// Return: JavaScript Object with objects in enum form
function postProcessExportInfo(o) {
o.tiffCompression = eval(o.tiffCompression);
o.pdfEncoding = eval(o.pdfEncoding);
o.targaDepth = eval(o.targaDepth);
o.bmpDepth = eval(o.bmpDepth);
return o;
// Function: StrToIntWithDefault
// Usage: convert a string to a number, first stripping all characters
// Input: string and a default number
// Return: a number
function StrToIntWithDefault( s, n ) {
var onlyNumbers = /[^0-9]/g;
var t = s.replace( onlyNumbers, "" );
t = parseInt( t );
if ( ! isNaN( t ) ) {
n = t;
return n;
// End X2L.jsxI have put the like var exportPath = "~/Desktop/Backdrops/png/"; and have removed the exportPath = exportPath + '/layers';
but when i run the script it still comes up with the error
could not complete action since the destination folder does not exist
if you are using the extendedscript toolkit would be able to run the script and see if you know were the problem is coming from i cant seem to understand why its not seeing the destination.
thanks for all your help
// enable double clicking from the Macintosh Finder or the Windows Explorer
#target photoshop
//=================================================================
// Globals
//=================================================================
var exportPath = "~/Desktop/Backdrops/png/";
// UI strings to be localized
var strTitle = localize("$$$/JavaScripts/X2L/Title=X2L");
var strButtonRun = localize("$$$/JavaScripts/X2L/Run=Run");
var strButtonCancel = localize("$$$/JavaScripts/X2L/Cancel=Cancel");
var strHelpText = localize("$$$/JavaScripts/X2L/Help=Please specify the format and location for saving each layer as a file.");
var strLabelDestination = localize("$$$/JavaScripts/X2L/Destination=Destination:");
var strButtonBrowse = localize("$$$/JavaScripts/X2L/Browse=&Browse...");
var strLabelFileNamePrefix = localize("$$$/JavaScripts/X2L/FileNamePrefix=File Name Prefix:");
var strCheckboxVisibleOnly = localize("$$$/JavaScripts/X2L/VisibleOnly=&Visible Layers Only");
var strLabelFileType = localize("$$$/JavaScripts/X2L/FileType=File Type:");
var strCheckboxIncludeICCProfile = localize("$$$/JavaScripts/X2L/IncludeICC=&Include ICC Profile");
var strJPEGOptions = localize("$$$/JavaScripts/X2L/JPEGOptions=JPEG Options:");
var strLabelQuality = localize("$$$/JavaScripts/X2L/Quality=Quality:");
var strCheckboxMaximizeCompatibility = localize("$$$/JavaScripts/X2L/Maximize=&Maximize Compatibility");
var strTIFFOptions = localize("$$$/JavaScripts/X2L/TIFFOptions=TIFF Options:");
var strLabelImageCompression = localize("$$$/JavaScripts/X2L/ImageCompression=Image Compression:");
var strNone = localize("$$$/JavaScripts/X2L/None=None");
var strPDFOptions = localize("$$$/JavaScripts/X2L/PDFOptions=PDF Options:");
var strLabelEncoding = localize("$$$/JavaScripts/X2L/Encoding=Encoding:");
var strTargaOptions = localize("$$$/JavaScripts/X2L/TargaOptions=Targa Options:");
var strLabelDepth = localize("$$$/JavaScripts/X2L/Depth=Depth:");
var strRadiobutton16bit = localize("$$$/JavaScripts/X2L/Bit16=16bit");
var strRadiobutton24bit = localize("$$$/JavaScripts/X2L/Bit24=24bit");
var strRadiobutton32bit = localize("$$$/JavaScripts/X2L/Bit32=32bit");
var strBMPOptions = localize("$$$/JavaScripts/X2L/BMPOptions=BMP Options:");
var strAlertSpecifyDestination = localize("$$$/JavaScripts/X2L/SpecifyDestination=Please specify destination.");
var strAlertDestinationNotExist = localize("$$$/JavaScripts/X2L/DestionationDoesNotExist=Destination does not exist.");
var strTitleSelectDestination = localize("$$$/JavaScripts/X2L/SelectDestination=Select Destination");
var strAlertDocumentMustBeOpened = localize("$$$/JavaScripts/X2L/OneDocument=You must have a document open to export!");
var strAlertNeedMultipleLayers = localize("$$$/JavaScripts/X2L/NoLayers=You need a document with multiple layers to export!");
var strAlertWasSuccessful = localize("$$$/JavaScripts/X2L/Success= was successful.");
var strUnexpectedError = localize("$$$/JavaScripts/X2L/Unexpected=Unexpected error");
var strMessage = localize("$$$/JavaScripts/X2L/Message=X2L");
var stretQuality = localize( "$$$/locale_specific/JavaScripts/X2L/ETQualityLength=30" );
var stretDestination = localize( "$$$/locale_specific/JavaScripts/X2L/ETDestinationLength=160" );
var strddFileType = localize( "$$$/locale_specific/JavaScripts/X2L/DDFileType=100" );
var strpnlOptions = localize( "$$$/locale_specific/JavaScripts/X2L/PNLOptions=100" );
var strPNG8Options = localize("$$$/JavaScripts/X2L/PNG8Options=PNG-8 Options:");
var strCheckboxPNGTransparency = localize("$$$/JavaScripts/X2L/Transparency=Transparency");
var strCheckboxPNGInterlaced = localize("$$$/JavaScripts/X2L/Interlaced=Interlaced");
var strCheckboxPNGTrm = localize("$$$/JavaScripts/X2L/Trim=Trim Layers");
var strPNG24Options = localize("$$$/JavaScripts/X2L/PNG24Options=PNG-24 Options:");
// the drop down list indexes for file type
var png24Index = 7;
main();
// Functions
// Function: main
// Usage: the core routine for this script
// Input: <none>
// Return: <none>
function main() {
if ( app.documents.length <= 0 ) {
if ( DialogModes.NO != app.playbackDisplayDialogs ) {
alert( strAlertDocumentMustBeOpened );
return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
var exportInfo = new Object();
initExportInfo(exportInfo);
// look for last used params via Photoshop registry, getCustomOptions will throw if none exist
try {
catch(e) {
// it's ok if we don't have any options, continue with defaults
try {
var docName = app.activeDocument.name; // save the app.activeDocument name before duplicate.
var layerCount = app.documents[docName].layers.length;
var layerSetsCount = app.documents[docName].layerSets.length;
if ((layerCount <= 1)&&(layerSetsCount <= 0)) {
if ( DialogModes.NO != app.playbackDisplayDialogs ) {
alert( strAlertNeedMultipleLayers );
return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
} else {
var rememberMaximize;
var needMaximize = exportInfo.psdMaxComp ? QueryStateType.ALWAYS : QueryStateType.NEVER;
app.activeDocument = app.documents[docName];
var duppedDocument = app.activeDocument.duplicate();
duppedDocument.activeLayer = duppedDocument.layers[duppedDocument.layers.length-1]; // for removing
setInvisibleAllArtLayers(duppedDocument);
exportChildren(duppedDocument, app.documents[docName], exportInfo, duppedDocument, exportInfo.fileNamePrefix);
duppedDocument.close( SaveOptions.DONOTSAVECHANGES );
if ( rememberMaximize != undefined ) {
app.preferences.maximizeCompatibility = rememberMaximize;
if ( DialogModes.ALL == app.playbackDisplayDialogs ) {
//alert(strTitle + strAlertWasSuccessful);
app.playbackDisplayDialogs = DialogModes.ALL;
} catch (e) {
if ( DialogModes.NO != app.playbackDisplayDialogs ) {
alert(e);
return 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
// Function: settingDialog
// Usage: pop the ui and get user settings
// Input: exportInfo object containing our parameters
// Return: on ok, the dialog info is set to the exportInfo object
function settingDialog(exportInfo) {
return;
// Function: hideAllFileTypePanel
// Usage: hide all the panels in the common actions
// Input: <none>, dlgMain is a global for this script
// Return: <none>, all panels are now hidden
function hideAllFileTypePanel() {
// Function: initExportInfo
// Usage: create our default parameters
// Input: a new Object
// Return: a new object with params set to default
function initExportInfo(exportInfo) {
//exportInfo.destination = new String(exportPath);
exportInfo.fileNamePrefix = new String("untitled_");
exportInfo.visibleOnly = false;
exportInfo.fileType = png24Index;
exportInfo.icc = true;
exportInfo.png24Transparency = true;
exportInfo.png24Interlaced = false;
exportInfo.png24Trim = true;
try {
exportInfo.destination = Folder(new String(exportPath)).fsName; // destination folder
var tmp = app.activeDocument.fullName.name;
exportInfo.fileNamePrefix = decodeURI(tmp.substring(0, tmp.indexOf("."))); // filename body part
} catch(someError) {
exportInfo.destination = new String(exportPath);
exportInfo.fileNamePrefix = app.activeDocument.name; // filename body part
// Function: saveFile
// Usage: the worker routine, take our params and save the file accordingly
// Input: reference to the document, the name of the output file,
// export info object containing more information
// Return: <none>, a file on disk
function saveFile( docRef, fileNameBody, exportInfo) {
saveFile(docRef, fileNameBody, exportInfo, false, true);
function saveFile( docRef, fileNameBody, exportInfo, interlacedValue, transparencyValue) {
var id6 = charIDToTypeID( "Expr" );
var desc3 = new ActionDescriptor();
var id7 = charIDToTypeID( "Usng" );
var desc4 = new ActionDescriptor();
var id8 = charIDToTypeID( "Op " );
var id9 = charIDToTypeID( "SWOp" );
var id10 = charIDToTypeID( "OpSa" );
desc4.putEnumerated( id8, id9, id10 );
var id11 = charIDToTypeID( "Fmt " );
var id12 = charIDToTypeID( "IRFm" );
var id13 = charIDToTypeID( "PN24" );
desc4.putEnumerated( id11, id12, id13 );
var id14 = charIDToTypeID( "Intr" );
desc4.putBoolean( id14, interlacedValue );
var id15 = charIDToTypeID( "Trns" );
desc4.putBoolean( id15, transparencyValue );
var id16 = charIDToTypeID( "Mtt " );
desc4.putBoolean( id16, true );
var id17 = charIDToTypeID( "MttR" );
desc4.putInteger( id17, 255 );
var id18 = charIDToTypeID( "MttG" );
desc4.putInteger( id18, 255 );
var id19 = charIDToTypeID( "MttB" );
desc4.putInteger( id19, 255 );
var id20 = charIDToTypeID( "SHTM" );
desc4.putBoolean( id20, false );
var id21 = charIDToTypeID( "SImg" );
desc4.putBoolean( id21, true );
var id22 = charIDToTypeID( "SSSO" );
desc4.putBoolean( id22, false );
var id23 = charIDToTypeID( "SSLt" );
var list1 = new ActionList();
desc4.putList( id23, list1 );
var id24 = charIDToTypeID( "DIDr" );
desc4.putBoolean( id24, false );
var id25 = charIDToTypeID( "In " );
desc4.putPath( id25, new File( exportPath + "C:/Users/Tim/Desktop/Backdrops/png/" + fileNameBody + ".png") );
var id26 = stringIDToTypeID( "SaveForWeb" );
desc3.putObject( id7, id26, desc4 );
executeAction( id6, desc3, DialogModes.NO );
// Function: zeroSuppress
// Usage: return a string padded to digit(s)
// Input: num to convert, digit count needed
// Return: string padded to digit length
function zeroSuppress (num, digit) {
var tmp = num.toString();
while (tmp.length < digit) {
tmp = "0" + tmp;
return tmp;
// Function: setInvisibleAllArtLayers
// Usage: unlock and make invisible all art layers, recursively
// Input: document or layerset
// Return: all art layers are unlocked and invisible
function setInvisibleAllArtLayers(obj) {
for( var i = 0; i < obj.artLayers.length; i++) {
obj.artLayers[i].allLocked = false;
obj.artLayers[i].visible = false;
for( var i = 0; i < obj.layerSets.length; i++) {
setInvisibleAllArtLayers(obj.layerSets[i]);
// Function: removeAllInvisibleArtLayers
// Usage: remove all the invisible art layers, recursively
// Input: document or layer set
// Return: <none>, all layers that were invisible are now gone
function removeAllInvisibleArtLayers(obj) {
for( var i = obj.artLayers.length-1; 0 <= i; i--) {
try {
if(!obj.artLayers[i].visible) {
obj.artLayers[i].remove();
catch (e) {
for( var i = obj.layerSets.length-1; 0 <= i; i--) {
removeAllInvisibleArtLayers(obj.layerSets[i]);
// Function: removeAllEmptyLayerSets
// Usage: find all empty layer sets and remove them, recursively
// Input: document or layer set
// Return: empty layer sets are now gone
function removeAllEmptyLayerSets(obj) {
var foundEmpty = true;
for( var i = obj.layerSets.length-1; 0 <= i; i--) {
if( removeAllEmptyLayerSets(obj.layerSets[i])) {
obj.layerSets[i].remove();
} else {
foundEmpty = false;
if (obj.artLayers.length > 0) {
foundEmpty = false;
return foundEmpty;
// Function: zeroSuppress
// Usage: return a string padded to digit(s)
// Input: num to convert, digit count needed
// Return: string padded to digit length
function removeAllInvisible(docRef) {
removeAllInvisibleArtLayers(docRef);
removeAllEmptyLayerSets(docRef);
// Function: exportChildren
// Usage: find all the children in this document to save
// Input: duplicate document, original document, export info,
// reference to document, starting file name
// Return: <none>, documents are saved accordingly
function exportChildren(dupObj, orgObj, exportInfo, dupDocRef, fileNamePrefix) {
for( var i = 0; i < dupObj.artLayers.length; i++) {
if (exportInfo.visibleOnly) { // visible layer only
if (!orgObj.artLayers[i].visible) {
continue;
dupObj.artLayers[i].visible = true;
var layerName = dupObj.artLayers[i].name; // store layer name before change doc
var duppedDocumentTmp = dupDocRef.duplicate();
if ((png24Index == exportInfo.fileType)||(png8Index == exportInfo.fileType)) { // PSD: Keep transparency
removeAllInvisible(duppedDocumentTmp);
//PNGFileOptions
if (activeDocument.activeLayer.isBackgroundLayer == false) { //is it anything but a background layer?
app.activeDocument.trim(TrimType.TRANSPARENT);
} else { // just flatten
duppedDocumentTmp.flatten();
// Edit
var docName = app.activeDocument.name;
// For some reason indexOf fails if we include the '-', so we use 'copy' and decrement the index by 1.
docName = docName.slice(0, docName.indexOf('copy')-1);
var fileNameBody = (docName+'_'+layerName).toLowerCase();
fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_"); // '/\:*?"<>|' -> '_'
if (fileNameBody.length > 120) {
fileNameBody = fileNameBody.substring(0,120);
saveFile(duppedDocumentTmp, fileNameBody, exportInfo);
duppedDocumentTmp.close(SaveOptions.DONOTSAVECHANGES);
dupObj.artLayers[i].visible = false;
for( var i = 0; i < dupObj.layerSets.length; i++) {
if (exportInfo.visibleOnly) { // visible layer only
if (!orgObj.layerSets[i].visible) {
continue;
var fileNameBody = fileNamePrefix;
fileNameBody += "_" + zeroSuppress(i, 4) + "s";
exportChildren(dupObj.layerSets[i], orgObj.layerSets[i], exportInfo, dupDocRef, fileNameBody); // recursive call
// Function: objectToDescriptor
// Usage: create an ActionDescriptor from a JavaScript Object
// Input: JavaScript Object (o)
// object unique string (s)
// Pre process converter (f)
// Return: ActionDescriptor
// NOTE: Only boolean, string, number and UnitValue are supported, use a pre processor
// to convert (f) other types to one of these forms.
// REUSE: This routine is used in other scripts. Please update those if you
// modify. I am not using include or eval statements as I want these
// scripts self contained.
function objectToDescriptor (o, s, f) {
o = {};
var d = new ActionDescriptor;
var l = o.reflect.properties.length;
d.putString( app.charIDToTypeID( 'Msge' ), s );
for (var i = 0; i < l; i++ ) {
var k = o.reflect.properties[i].toString();
if (k == "__proto__" || k == "__count__" || k == "__class__" || k == "reflect")
continue;
var v = o[ k ];
k = app.stringIDToTypeID(k);
switch ( typeof(v) ) {
case "boolean":
d.putBoolean(k, v);
break;
case "string":
d.putString(k, v);
break;
case "number":
d.putDouble(k, v);
break;
default:
if ( v instanceof UnitValue ) {
var uc = new Object;
uc["px"] = charIDToTypeID("#Rlt"); // unitDistance
uc["%"] = charIDToTypeID("#Prc"); // unitPercent
d.putUnitDouble(k, uc[v.type], v.value);
} else {
throw( new Error("Unsupported type in objectToDescriptor " + typeof(v) ) );
return d;
// Function: descriptorToObject
// Usage: update a JavaScript Object from an ActionDescriptor
// Input: JavaScript Object (o), current object to update (output)
// Photoshop ActionDescriptor (d), descriptor to pull new params for object from
// object unique string (s)
// JavaScript Function (f), post process converter utility to convert
// Return: Nothing, update is applied to passed in JavaScript Object (o)
// NOTE: Only boolean, string, number and UnitValue are supported, use a post processor
// to convert (f) other types to one of these forms.
// REUSE: This routine is used in other scripts. Please update those if you
// modify. I am not using include or eval statements as I want these
// scripts self contained.
function descriptorToObject (o, d, s, f) {
var l = d.count;
if (l) {
var keyMessage = app.charIDToTypeID( 'Msge' );
if ( d.hasKey(keyMessage) && ( s != d.getString(keyMessage) )) return;
for (var i = 0; i < l; i++ ) {
var k = d.getKey(i); // i + 1 ?
var t = d.getType(k);
strk = app.typeIDToStringID(k);
switch (t) {
case DescValueType.BOOLEANTYPE:
o[strk] = d.getBoolean(k);
break;
case DescValueType.STRINGTYPE:
o[strk] = d.getString(k);
break;
case DescValueType.DOUBLETYPE:
o[strk] = d.getDouble(k);
break;
case DescValueType.UNITDOUBLE:
var uc = new Object;
uc[charIDToTypeID("#Rlt")] = "px"; // unitDistance
uc[charIDToTypeID("#Prc")] = "%"; // unitPercent
uc[charIDToTypeID("#Pxl")] = "px"; // unitPixels
var ut = d.getUnitDoubleType(k);
var uv = d.getUnitDoubleValue(k);
o[strk] = new UnitValue( uv, uc[ut] );
break;
case DescValueType.INTEGERTYPE:
case DescValueType.ALIASTYPE:
case DescValueType.CLASSTYPE:
case DescValueType.ENUMERATEDTYPE:
case DescValueType.LISTTYPE:
case DescValueType.OBJECTTYPE:
case DescValueType.RAWTYPE:
case DescValueType.REFERENCETYPE:
default:
throw( new Error("Unsupported type in descriptorToObject " + t ) );
if (undefined != f) {
o = f(o);
// Function: preProcessExportInfo
// Usage: convert Photoshop enums to strings for storage
// Input: JavaScript Object of my params for this script
// Return: JavaScript Object with objects converted for storage
function preProcessExportInfo(o) {
o.tiffCompression = o.tiffCompression.toString();
o.pdfEncoding = o.pdfEncoding.toString();
o.targaDepth = o.targaDepth.toString();
o.bmpDepth = o.bmpDepth.toString();
return o;
// Function: postProcessExportInfo
// Usage: convert strings from storage to Photoshop enums
// Input: JavaScript Object of my params in string form
// Return: JavaScript Object with objects in enum form
function postProcessExportInfo(o) {
o.tiffCompression = eval(o.tiffCompression);
o.pdfEncoding = eval(o.pdfEncoding);
o.targaDepth = eval(o.targaDepth);
o.bmpDepth = eval(o.bmpDepth);
return o;
// Function: StrToIntWithDefault
// Usage: convert a string to a number, first stripping all characters
// Input: string and a default number
// Return: a number
function StrToIntWithDefault( s, n ) {
var onlyNumbers = /[^0-9]/g;
var t = s.replace( onlyNumbers, "" );
t = parseInt( t );
if ( ! isNaN( t ) ) {
n = t;
return n;
// End X2L.jsx -
Problem in Batch Export Report
Hi all,
I have developed a report in PP module for Batch exports.
Here iam providing the input as plant, material no & batch and the output will be Orderwise material no, batch, mat desc, density and Quantity.
While executing the report the output is coming exactly for the first order while for the second order the values are not fetching correctly.
Pls suggest me.
*& Report ZPP_EXPORTBATCH
REPORT ZPP_EXPORTBATCH.
TABLES: MSEG,MKPF,AUFK,AFPO. "
TYPE-POOLS SLIS.
DATA: IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE SLIS_ALV_EVENT,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
LIST_LAYOUT TYPE SLIS_LAYOUT_ALV, "#EC *
GS_KEYINFO TYPE SLIS_KEYINFO_ALV, "#EC *
W_PROG TYPE SY-REPID,
P_RS_LINEINFO TYPE SLIS_LINEINFO.
Internal Tables**********************************
TYPES: TY_SCLASS TYPE STANDARD TABLE OF SCLASS.
TYPES: TY_OBJECTDATA TYPE STANDARD TABLE OF CLOBJDAT.
TYPES: BEGIN OF T_MSEG,
BWART LIKE MSEG-BWART,
MATNR LIKE MSEG-MATNR,
MAKTX LIKE MAKT-MAKTX,
CHARG LIKE MSEG-CHARG,
MENGE LIKE MSEG-MENGE,
ERFME LIKE MSEG-ERFME,
AUFNR LIKE MSEG-AUFNR,
AUSP1 LIKE CLOBJDAT-AUSP1,
ERROR(30),
END OF T_MSEG.
TYPES: INT_MSEG_FINAL TYPE STANDARD TABLE OF T_MSEG .
TYPES: BEGIN OF TY_MENGE1,
MATNR TYPE MSEG-MATNR,
CHARG TYPE MSEG-CHARG,
MENGE TYPE MSEG-MENGE,
ERFME TYPE MSEG-ERFME,
MBLNR TYPE MSEG-MBLNR,
ZEILE TYPE MSEG-ZEILE,
END OF TY_MENGE1.
TYPES: TY_MENGE TYPE STANDARD TABLE OF TY_MENGE1.
DATA : LENGTH TYPE I,
DIFFERENCE TYPE I,
IT_CLASS TYPE TY_SCLASS,
IT_OBJECTDATA TYPE TY_OBJECTDATA,
WA_CLASS TYPE SCLASS,
WA_OBJECTDATA TYPE CLOBJDAT,
L_MATNR TYPE MATNR,
INT_MSEG_FINAL TYPE INT_MSEG_FINAL,
WA_MSEG_FINAL TYPE T_MSEG,
WA_MSEG TYPE MSEG,
WA_WEMNG TYPE AFPO-WEMNG,
WA_PSMNG TYPE AFPO-PSMNG,
WA_AMEIN TYPE AFPO-AMEIN,
BAL_QTY TYPE AFPO-WEMNG,
INT_MSEG_TEMP1 TYPE INT_MSEG_FINAL,
WA_CALCULATED1 TYPE AFPO-WEMNG,
IT_MENGE TYPE TY_MENGE,
WA_MENGE1 TYPE TY_MENGE1,
WA_MAKTX TYPE MAKT-MAKTX,
WA_HSDAT TYPE MCH1-HSDAT,
WA_MAKTX_MAIN TYPE MAKT-MAKTX,
MAIN_DEN TYPE STRING,
DENSITY TYPE STRING,
MDENSITY TYPE STRING,
IDENSITY TYPE STRING.
data : tqty like mseg-menge.
data:INT_MSEG_TEMP2 LIKE MSEG OCCURS 0 WITH HEADER LINE.
data:INT_MSEG_TEMP3 LIKE MSEG OCCURS 0 WITH HEADER LINE.
**************Initialization********************************************
INITIALIZATION.
**************Input Parameters List*************************************
SELECTION-SCREEN SKIP 3.
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-T01 . "#EC
SELECT-OPTIONS : S_WERKS FOR MSEG-WERKS OBLIGATORY, "PLANT
S_MATNR FOR MSEG-MATNR OBLIGATORY, "MATERIAL NUMBER
S_CHARG FOR MSEG-CHARG, "BATCH
S_BUDAT FOR MKPF-BUDAT. "POSTING DATE
SELECTION-SCREEN END OF BLOCK BLOCK1.
START-OF-SELECTION.
PERFORM READ_DATA.
PERFORM SUB_PREPARE_FIELDCATALOG.
PERFORM FILL_EVENTS_TABLE.
END-OF-SELECTION.
PERFORM DISPLAY_DATA_USING_GRID.
*& Form READ_DATA
text
--> p1 text
<-- p2 text
FORM READ_DATA .
DATA :INT_AFPO LIKE AFPO OCCURS 0 WITH HEADER LINE.
DATA :INT_MSEG LIKE MSEG OCCURS 0 WITH HEADER LINE,
INT_MSEG_TEMP LIKE MSEG OCCURS 0 WITH HEADER LINE.
SELECT SINGLE MAKTX
INTO WA_MAKTX_MAIN
FROM MAKT
WHERE MATNR IN S_MATNR.
DATA : WA_MENGE LIKE MSEG-MENGE.
SELECT SINGLE *
FROM AFPO
INTO INT_AFPO
WHERE MATNR IN S_MATNR
AND CHARG IN S_CHARG
AND DWERK IN S_WERKS.
MOVE INT_AFPO-WEMNG TO WA_WEMNG.
MOVE INT_AFPO-PSMNG TO WA_PSMNG.
MOVE INT_AFPO-AMEIN TO WA_AMEIN.
SELECT *
INTO TABLE INT_MSEG
FROM MSEG
WHERE AUFNR = INT_AFPO-AUFNR
AND BWART IN ('261' , '262' )
AND WERKS IN S_WERKS.
REFRESH INT_AFPO.
int_mseg_temp3[] = int_mseg[].
LOOP AT INT_MSEG.
clear tqty.
loop at int_mseg_temp3 WHERE MATNR = INT_MSEG-MATNR
and charg = int_mseg-charg
AND AUFNR = INT_MSEG-AUFNR
if int_mseg_temp3-bwart = '261' .
tqty = tqty + int_mseg_temp3-menge.
elseif int_mseg_temp3-bwart = '262'.
tqty = tqty - int_mseg_temp3-menge.
endif.
endloop.
int_mseg-menge = tqty.
SELECT SINGLE *
FROM AFPO
INTO INT_AFPO
WHERE MATNR = INT_MSEG-MATNR
AND CHARG = INT_MSEG-CHARG
AND DWERK IN S_WERKS.
IF SY-SUBRC EQ 0 AND INT_AFPO-AUFNR <> ' '.
SELECT * FROM MSEG
INTO TABLE INT_MSEG_TEMP
WHERE AUFNR = INT_AFPO-AUFNR
AND BWART IN ('261' , '262' )
AND WERKS IN S_WERKS.
LOOP AT INT_MSEG_TEMP.
WA_CALCULATED1 = ( INT_MSEG_TEMP-MENGE / INT_AFPO-WEMNG ) * INT_MSEG-MENGE.
WA_MENGE1-MENGE = WA_CALCULATED1.
WA_MENGE1-MATNR = INT_MSEG_TEMP-MATNR.
WA_MENGE1-CHARG = INT_MSEG_TEMP-CHARG.
WA_MENGE1-ERFME = INT_MSEG_TEMP-ERFME.
WA_MENGE1-MBLNR = INT_MSEG_TEMP-MBLNR.
WA_MENGE1-ZEILE = INT_MSEG_TEMP-ZEILE.
APPEND WA_MENGE1 TO IT_MENGE.
CLEAR: WA_CALCULATED1, WA_MENGE1.
ENDLOOP.
SORT IT_MENGE BY MBLNR ZEILE MATNR CHARG.
ENDLOOP.
CLEAR INT_MSEG.
MODIFY TABLE INT_MSEG FROM INT_MSEG_TEMP.
LOOP AT INT_MSEG_TEMP.
MOVE-CORRESPONDING INT_MSEG_TEMP TO INT_MSEG.
READ TABLE IT_MENGE INTO WA_MENGE1
WITH KEY MATNR = INT_MSEG_TEMP-MATNR
CHARG = INT_MSEG_TEMP-CHARG
MBLNR = INT_MSEG_TEMP-MBLNR
ZEILE = INT_MSEG_TEMP-ZEILE.
INT_MSEG-MENGE = WA_MENGE1-MENGE.
APPEND INT_MSEG.
CLEAR INT_MSEG.
*Added for Changes given by anup ART:09MAR08
CLEAR WA_MENGE1-MENGE.
*End of for Changes given by anup ART:09MAR08
ENDLOOP.
REFRESH INT_MSEG_TEMP.
CLEAR INT_AFPO.
ELSE.
MOVE: INT_MSEG-MATNR TO WA_MSEG_FINAL-MATNR,
INT_MSEG-CHARG TO WA_MSEG_FINAL-CHARG,
INT_MSEG-MENGE TO WA_MSEG_FINAL-MENGE,
INT_MSEG-ERFME TO WA_MSEG_FINAL-ERFME,
INT_MSEG-BWART TO WA_MSEG_FINAL-BWART .
APPEND WA_MSEG_FINAL TO INT_MSEG_FINAL.
CLEAR WA_MSEG_FINAL.
CLEAR INT_AFPO.
ENDIF.
ENDLOOP.
INT_MSEG_TEMP1[] = INT_MSEG_FINAL[].
REFRESH INT_MSEG_FINAL.
SORT INT_MSEG_TEMP1 BY MATNR CHARG.
LOOP AT INT_MSEG_TEMP1 INTO WA_MSEG_FINAL.
ON CHANGE OF WA_MSEG_FINAL-MATNR
OR WA_MSEG_FINAL-CHARG.
IF WA_MSEG_FINAL-BWART = '261'.
WA_MENGE = WA_MENGE + WA_MSEG_FINAL-MENGE.
ELSEIF WA_MSEG_FINAL-BWART = '262'.
WA_MENGE = WA_MENGE - WA_MSEG_FINAL-MENGE.
ENDIF.
WA_MSEG_FINAL-MENGE = WA_MENGE.
CLEAR WA_MENGE.
APPEND WA_MSEG_FINAL TO INT_MSEG_FINAL.
CLEAR WA_MSEG_FINAL.
ENDON.
ENDLOOP.
LOOP AT INT_MSEG_FINAL INTO WA_MSEG_FINAL.
SELECT SINGLE MAKTX
INTO WA_MAKTX
FROM MAKT
WHERE MATNR = WA_MSEG_FINAL-MATNR.
WA_MSEG_FINAL-MAKTX = WA_MAKTX.
MODIFY INT_MSEG_FINAL FROM WA_MSEG_FINAL TRANSPORTING MAKTX.
CLEAR WA_MAKTX.
****************CHGS BY MURALI.C FOR
DATA: WA_OBJECT(50) TYPE C.
LENGTH = STRLEN( WA_MSEG_FINAL-MATNR ).
IF LENGTH LT 18.
DIFFERENCE = 18 - LENGTH.
DO DIFFERENCE TIMES.
CONCATENATE WA_MSEG_FINAL-MATNR SPACE INTO L_MATNR.
ENDDO.
ENDIF.
CONCATENATE L_MATNR WA_MSEG_FINAL-CHARG INTO WA_OBJECT RESPECTING
BLANKS.
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
CLASS = ' '
CLASSTEXT = 'X'
CLASSTYPE = '023'
CLINT = 0
FEATURES = 'X'
LANGUAGE = SY-LANGU
OBJECT = WA_OBJECT
OBJECTTABLE = 'MCH1'
KEY_DATE = SY-DATUM
INITIAL_CHARACT = 'X'
NO_VALUE_DESCRIPT = NO_VALUE_DESCRIPT
CHANGE_SERVICE_CLF = 'X'
INHERITED_CHAR = ' '
CHANGE_NUMBER = ' '
TABLES
T_CLASS = IT_CLASS
T_OBJECTDATA = IT_OBJECTDATA
I_SEL_CHARACTERISTIC = I_SEL_CHARACTERISTIC
T_NO_AUTH_CHARACT = T_NO_AUTH_CHARACT
EXCEPTIONS
NO_CLASSIFICATION = 1
NO_CLASSTYPES = 2
INVALID_CLASS_TYPE = 3
OTHERS = 4
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
read TABLE IT_OBJECTDATA INTO wa_objectdata
with KEY SMBEZ = 'Density'.
if wa_objectdata-ausp1 <> '?'.
perform density_calc using wa_objectdata-ausp1 changing idensity.
WA_MSEG_FINAL-AUSP1 = idensity.
else.
WA_MSEG_FINAL-ERROR = 'classification value missing'.
endif.
MODIFY INT_MSEG_FINAL FROM WA_MSEG_FINAL TRANSPORTING AUSP1 ERROR.
CLEAR :WA_MSEG_FINAL-MATNR,WA_MSEG_FINAL-CHARG,WA_MSEG_FINAL-AUSP1,WA_OBJECT,WA_OBJECTDATA-AUSP1.
ENDLOOP.
ENDFORM. " READ_DATA
*& Form SUB_PREPARE_FIELDCATALOG
text
--> p1 text
<-- p2 text
FORM SUB_PREPARE_FIELDCATALOG .
X_FIELDCAT-FIELDNAME = 'MATNR'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'MATERIAL NUMBER'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 10.
X_FIELDCAT-KEY = 'X'.
X_FIELDCAT-KEY_SEL = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'MAKTX'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'MATERIAL DESCRIPTION'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 17.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'CHARG'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'BATCH'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 10.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'AUSP1'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'DENSITY'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 6.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'MENGE'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'QUANTITY'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'ERFME'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'UOM'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
*X_FIELDCAT-FIELDNAME = 'EDATU1'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'CONFIRMED QUANTITY DATED'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'ETENR1'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'CONFIRM SL NO'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'LFIMG'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'DELIVERED QUANTITY'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 18.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'ERDAT'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'DELIVERED DATE'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 18.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
ENDFORM. " SUB_PREPARE_FIELDCATALOG
*& Form FILL_EVENTS_TABLE
text
--> p1 text
<-- p2 text
FORM FILL_EVENTS_TABLE .
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'PRINT_HEADING'.
APPEND WA_EVENTS TO IT_EVENTS.
ENDFORM. " FILL_EVENTS_TABLE
FORM PRINT_HEADING. "#EC CALLED
DATA IT_HEADINGS TYPE SLIS_T_LISTHEADER.
DATA WA_HEADINGS LIKE LINE OF IT_HEADINGS.
CLEAR WA_HEADINGS.
WA_HEADINGS-TYP = 'H'.
WA_HEADINGS-INFO = ' '.
WA_HEADINGS-TYP = 'H'.
WA_HEADINGS-INFO = ' BATCH EXPORT DETAILS REPORT '.
APPEND WA_HEADINGS TO IT_HEADINGS.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_HEADINGS
I_LOGO = 'APARLOGO' .
ENDFORM. "PRINT_HEADING
*& Form DISPLAY_DATA_USING_GRID
text
--> p1 text
<-- p2 text
FORM DISPLAY_DATA_USING_GRID .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-CPROG
IT_FIELDCAT = IT_FIELDCAT
I_SAVE = 'A'
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = INT_MSEG_FINAL
IF SY-SUBRC <> 0. "#EC *
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISPLAY_DATA_USING_GRID
*& Form density_calc
text
-->P_WA_OBJECTDATA_AUSP1 text
<--P_IDENSITY text
FORM density_calc USING WA_OBJECTDATA_AUSP1
CHANGING DENSITY.
data: den type float,density1(8).
density1(8) = wa_objectdata-ausp1.
call function 'CHAR_FLTP_CONVERSION'
exporting
DYFLD = ' '
MASKN = ' '
MAXDEC = '16'
MAXEXP = '59+'
MINEXP = '60-'
string = density1
MSGTYP_DECIM = 'W'
importing
DECIM =
EXPON =
flstr = den
IVALU =
EXCEPTIONS
EXPONENT_TOO_BIG = 1
EXPONENT_TOO_SMALL = 2
STRING_NOT_FLTP = 3
TOO_MANY_DECIM = 4
OTHERS = 5
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
if den gt 0.
density = 1 / den.
density = density(5).
density = density / 10.
den = strlen( density ).
if den ge 6.
density = density(6).
clear: den.
den = strlen( density ).
elseif den lt 6.
density = density.
clear: den.
den = strlen( density ).
endif.
else.
density = '0.000'.
endif.
den = strlen( density ).
data: den3(5) type c.
if den gt 3.
case den.
when '6'.
clear: den3.
compute den3 = 10000 * ( density(6) - density(5) ).
if den3 between 6 and 9.
clear: den3.
compute den3(2) = 10000 * ( density(5) - density(4) ).
compute den3 = den3(1) + 1.
compute den3 = den3 / 1000.
compute density = density(4) + den3.
endif.
when '5'.
clear: den3.
compute den3 = 1000 * ( density(5) - density(4) ).
if den3 between 6 and 9.
clear: den3.
compute den3(2) = 1000 * ( density(4) - density(3) ).
compute den3 = den3(1) + 1.
compute den3 = den3 / 100.
compute density = density(3) + den3.
endif.
endcase.
endif.
density = density(5).
ENDFORM. " density_calcHello,
I haven't checked the code but from the symptom you describe it could be possible that some fields used to calculate valeus are not getting cleared between calculations. This could result in some values from order the first order one being used in the calculation for values in the second order.
Regards,
Steve. -
Can you batch export in FCP X, can you batch export in FCP X
I work for a business and am constantly working on projects that have multiple, separate projects within the same project. because of this I do all my editing during my business day and then when I leave for the day, I used to batch export the projects and the next morning I would come into work and be able to move onto the next thing. so far in FCP X I have not been able to find out how to do that. I know that in FCP 7 you could do it obviously, but I'm wondering...does FCP X have that same capability because I can't seem to find it and I don't really have the time to waste by exporting during the day.
Thanks for your help,
ScottyHey Scotty,
Andynick is correct about the batch export workaround. The way I do it is this:
1. Go to the Project Library
2. Select the first project you want to export
3. Go to file>Send to Compressor. (I set a shortcut -Sift>Option>C from preferences, If you need help with that let me know.
4. Repeat this process for each project
5. Go to Compressor (it will already be open)
6. Now here's where it gets kind of anoying, You need to choose which batch you want to make your main one. Pull off the tab on top and drag that project into your prefered batch, then close the old tab. Now you'll have two projects in your chosen batch.
7. repeat that process for the rest of the batches Compressor created. When you're done you should only have one batch open with all of your projects in it.
8. Submit the batch and let Compressor do it's thang.
Things to note:
When you send a project to compressor, it will automatically choose your default settings and location. If you want them to be different you'll have to do it mannually or change your defaults before you begin this process.
FUN right! Hopefully Apple will fix this so you can at least select multiple projects in the Project Library to make it a bit easier.
If anyone has a better workflow I am all ears! -
Batch Exporting File Naming Issue
I have to batch export about 30 images at a time, but I am having an issue now that the "Export" piece of the action includes a specific file name in the "save in" property, where as it's supposed to only include the name of the containing folder. This causes all the images included in the batch to be saved with the same file name thus saving over the previous export each time. I cannot figure out how to execute the Save for Web and devices action without it recording the specific file name.
My process is:
- Open one image
- Create a new Action (it begins recording)
- Crop the image
- Save for Web and devices (I leave the file name as is, but save it to a different folder) Ex. "annoying_child_screaming.jpeg"
- Close without saving
- Stop the action
- File > Automate > Batch
- I select the source folder with all the original photos
- Specify a Destination folder (a different folder where all the cropped ones will be)
- I don't select any checkboxes
- File Naming: I leave the default "Document Name" + "extension" Starting serial#: 1
When I hit okay, I can see Photoshop going through each image and doing the specified actions, but instead of preserving the original file name, it saves each one with the file name that I saved the first one when originally creating the action (Ex. it rewrites "annoying_child_screaming.jpeg" for each file)
I just upgraded to CS5 from CS4 (where I hadn't been having this problem). I have compared my settings to a coworker's who's computer it does work on, but we can't figure out what's wrong. The difference is in the Export details in the Actions dialog box - where it has the "IN" property, usually only a folder location is specified, but on my comp, it also specifies the file name.
Please help.When you record the save for web step use the original file name
(you noted you did that in post 1)
Is the name you used the same as the file
you opened when recording the save for web step?
Don't specify any destination in the batch dialog or the files will possibly
be overwritten and you'll see the results your seeing.
The destination is the folder you specified during the save for web step while recording the action.
MTSTUNER
Message was edited by: MTSTUNER -
Batch Exporting Color Corrected Clips, QT issues
Hello,
I work for a small ad company with a couple guys on the road shooting video, a video editor(me) and a few graphic designers. For company workflow reasons I take video footage from guys on the road and export to Quicktime movies(5-50 per client, 5-10 sec. apiece) and give to graphic designers, they then use After Effects and Motion to lay graphics on and lay out vid for ad.
1. I generally capture the whole tape.
2. I select Ins/Outs from that tape and make (lets say) 50 clips in timeline.
3. I make all clips independant and rename in order 1-50
4. (THIS IS WHERE PROBLEM STEMS) I color correct all clips using 3 wheel color corrector
5. I pull all 50 clips (numbered, color corrected) into a client bin
6. Right Clip bin, Batch export.
7. Check Use In/ Out , Make Self Contained, Prefix .Mov, Quicktime movie using MPEG 4compressor, best quality, and set destination.
8. Hit Export
The result is a Quicktime Movie that has sound but is frozen on first frame of video.
Normally this process works perfect and I have no issues with QT. Step 4 is something that I would like to incorporate but everytime I try I get the issues with Quicktime.
Thanks ahead of time for help, hope I gave someone enough to go off of.
I.V.If you drag the clips from the timeline to a bin and select them all and choose batch export and set the option to export in to out, it should work. Not sure about the naming option, but I suspect it'll work. Do a test first.
Maybe you are looking for
-
How to Use Images in Multithreading
Actually I have an image application which we can drag and drop the images. I need some more help to do more. If drag and drop more than 3 images, it will take more than time to display all the images. So I was trying to use multithreading to display
-
Got iLife '08 preinstalled, how do I re-install iMovie?
This is the window I get when I try and open up iMovie... "Missing QuickTime Components The QuickTime components necessary to view, edit, import, and export several kinds of movies are not installed. These components are included with the iMovie inst
-
What is personal hotspot? How much does it cost monthly?
I would like to know what personal hotspot is and how much does it cost monthly and how does it work!
-
Hi i need to review my current phone activities how do i do this
how do i look up my current phone activities for this billing cycle
-
Dear SAPIENTS, I would like to know is there any setting for maintaining Release By date on release tab of quality info record. The date its taking for all vendor is 01.01.2999. If I am taking different date then in PO the error come QI record not ma