Mathias Moehl
Community Expert
Mathias Moehl
Community Expert
Activity
18 hours ago
Since you probably don't want to search & replace, bun instead just to a basic replace of project item names, I wrote a new tool for you to do that.
Download it here: https://www.dropbox.com/scl/fi/a715bv5dz1dq3ty10ehtc/Batch-Rename-Project-Items-with-Spreadsheet.xml?rlkey=rkgk541no83stk1qacbuwwevp&dl=0
Here is a tutorial showing it in action:
... View more
Mar 06, 2025
Can you descibe this in more detail? best share a screen recording of that you are doing. The code explicitly does the search on all kinds of project items, not just sequences, so it is no surprise that it renames bins, too.
Also note that it does a search and replace in the names, so if you rename "Youtube_01" to "foo", it will also rename "YouTube_12" to "foo2", since it finds the "YouTube_1" also in "Youtube_12".
... View more
‎Mar 05, 2025
10:53 PM
1 Upvote
Thanks a lot for the feedback - great to hear that it is working now. For issues with reading/writing csv also see the links at the bottom of this page: https://docs.mamoworld.com/automation-blocks/block-reference/filesSpreadsheet#troubleshooting-spreadsheet-issues
... View more
‎Mar 05, 2025
10:39 PM
There are some (paid) extension on aescripts:
First, there is Clips Exporter https://aescripts.com/clips-exporter/ and then if you also want to automate all kinds of other things in Pr, my Automation Blocks for Pr also comes with an example named Render Clips of Sequence to export all clips individually. It loops over all clips of the sequence and adds each of them to the render queue individually (with the in and out poinits of the segment used in the sequence).
I think the main difference is that Clips Exporter exports the segments of the sequence (including all effects applied in the sequence) whereas Automation Blocks renders the clips (i.e. the source items in the project panel) without any effects you might have applied in the sequence. So this is a question of what exactly you need. Great thing about Automation Blocks is that you can customize the automations. Better Editor created a variant of the original example with an improved UI, for example:
... View more
‎Mar 05, 2025
03:49 AM
1 Upvote
Maybe your issue is that yu have the "Process only selected items" checkbox checked, but actually want to process all items instead of only selected ones?
I just recorded this video to test the workflow and it worked fine for me (in the video I kepft the "process only selected items" in the inputs panel, such that you can check/uncheck it there):
... View more
‎Mar 04, 2025
10:08 PM
Since you mention vector:
My (paid) After Effects extension iExpressions has an expression which can generate a vector shape for a waveform of your audio. So you could create this big shape and then just need to animate its position to move from start to finish during playback. But this is just a static shape, so if you are looking for fancy animations, @Kevin-Monahan's suggestion with the audio spectrum is the better option.
... View more
‎Mar 04, 2025
06:52 AM
1 Upvote
Looks almost good! Just plug the purple block inside the green one. Currently it is only executed once, after the spreadsheet has been read. If you plug it inside, it is executed many times, namely once for each row of the spreadsheet and this is what you want:
... View more
‎Mar 04, 2025
06:40 AM
‎Mar 03, 2025
12:30 PM
still awake 🙂 Yes, we have the Create Folder block for that.
... View more
‎Feb 25, 2025
04:11 AM
That should be possible with the Set Clip Parameter block.
The dropdown in that block, which lists the available parameters, won't contain all attributes of all possible effects by default. But you can simply select a clip in the timeline, to which this effect is applied and click the "refresh" icon next to the dropdown. This will update the dropdown to contain all parameters of the selected clip (see Clip Param block). default
... View more
‎Feb 24, 2025
10:25 PM
Hi Sam,
Bruce Bullis knows everything about the scripting engine and he says that there is no way to apply custom presets via scripting, unfortunately: https://community.adobe.com/t5/premiere-pro-discussions/extendscript-import-effect-preset-file/td-p/10848271
... View more
‎Feb 21, 2025
01:19 AM
Did you make sure to enable debugging for CEP 12? Maybe it is only running on older Pr versions, since older versions rely on older CEP versions, and maybe you have debugging enabled only for those?
Concerning UXP and Pr see here: https://hyperbrew.co/blog/premiere-pro-uxp-beta
... View more
‎Feb 20, 2025
10:41 PM
1 Upvote
If you look for an easy way to create extensions for Premiere Pro, my (paid) extension Automation Blocks for Pr is also an option. You can build your own custom automations - even with user inferfaces - by combining visual blocks instead of writing program code. We also have the Community Library, where you can share what you created.
... View more
‎Feb 19, 2025
11:14 AM
1 Upvote
As far as I know, Ae scripts have no way to retrieve the cursor position.
As a workaround, you could insert a null layer, say as first layer of the comp, and drag it to the position where you want to insert.
Then you could execute a script, which inserts + scales a new layer at the position of the first layer and then selects the first layer again such that you can easily grab and move it again for the next round.
... View more
‎Feb 18, 2025
07:41 AM
1 Upvote
Thanks for sharing!
I looked at your code and it looks like your delay code works, but it can actually be simplified.
I recommend to replace the full delay code by simply
$.sleep(2000)
to wait 2000 milliseconds.
... View more
‎Feb 18, 2025
04:50 AM
I also added a description of this workaround with the execute file block now here to the documentation: https://docs.mamoworld.com/automation-blocks/block-reference/filesText/#forcing-file-writes-to-disk
... View more
‎Feb 18, 2025
04:26 AM
Hi Emanuelle,
oh, yes, this is a very good observation! Automation Blocks has some performance optimizations, which result in files being usually saved only at the very end and not after each write operation (that saves a lot of time if you write a lot of content to a file step by step). Here is a version which uses an Execute Code block with the code
$._extAutomationBlocks.all.fileCollection.cleanup()
which forces Automoation Blocks to save all open files at that point.
... View more
‎Feb 17, 2025
06:12 AM
As far as I know, new sequences are always created based on a preset and their widht and height cannot be changed later using scripting. Therefore, I don't see a way of creating sequences automatically without creating preset files for them in advance.
BUT sqpreset files are normal xml files (i.e. text files) so you can create them with Automation Blocks. This script writes for each row of the spreadsheet a file "temp.sqpreset" on your desktop and then uses this sqpreset file to create a sequence of the respective size. I didn't test this code but I think it should work:
... View more
‎Feb 17, 2025
04:34 AM
1 Upvote
You can create a custom Automation Blocks script which creates a new sequence using the
New Sequence from Preset block. Just use multiple copies of the block to create several seqences.
If you want to read the sequence names and sequence preset files from a spreadsheet, combine it with a
For Each Row/Column of Spreadsheet block as follows:
The code assumes that
- the first column contains the names of the new sequence (optionally with a bin like "bin\subbin\sequence") - the second column contains the file path of a sqpreset file (sequence preset) see how to create such sequence preset files.
(block code is attached)
... View more
‎Feb 17, 2025
01:30 AM
Hi Mike,
are you using graphics templates created in Premiere Pro or in After Effects? Unfortunately, Premiere Pro's scripting engine (and hence also Automation Blocks) has only access to the texts of templates created in After Effects.
See this video at about 3:23
... View more
‎Feb 14, 2025
12:15 PM
Here is a second variant of the script, where you can choose in a dropdown, to which property you want to apply the expression:
download (also in Community Library):
Layer Properties/Expressions/Apply Expression to Any Transform Property of All Selected Layers.xml
... View more
‎Feb 14, 2025
12:02 PM
Here is a block script, which applies an expression to the Position property of all selected layers of the active comp.
You can modify the block code easily to use another property instead of position - just select another property (no matter on which layer exactly) and click the "refresh" icon as indicated in the screenshot.
I made the block code such that you can enter the actual expression code in the input panel. Of course, you can also use a popup instead of enter the expresssion code directly inside the block code. I just added this block script to the Community Library
here is the direct download to the block script file:
Layer Properties/Expressions/Apply Expression to Position of All Selected Layers.xml
... View more
‎Feb 09, 2025
11:15 AM
Could it be that the script gets confused by multiple layers having the same layer name? Does it work if your layers have a unique layer name (you could achieve that by writing an additional Automation Blocks script which adds a unique number (like counter) to the end of the name, for example).
... View more
‎Feb 08, 2025
04:26 AM
1 Upvote
I also added the script to the Community Library now at
Project Management/Save and Close/Increment Version And Save.xml
... View more
‎Feb 08, 2025
04:22 AM
1 Upvote
Today I got a question from @MyerPj how to implement a versioning system for Premiere Pro with my (paid) extension Automation Blocks for Pr. If anybody is looking for the same, here is a starting point. This script saves the currently active project with a new version number. I.e. if the current project is "test_V1.prproj" then it is saved as "test_V2.prproj". The logic to modify the file name has been implemented in an Execute Code block with code generated by ChatGPT. Here is the exact prompt I used in ChatGPT to create the code: Please write a Adobe ExtendScript function "getNextVersionFilename" which takes as arguments "fileName" and returns a new file name for the next version. If fileName is "myProject_V1.prproj" then it should return "myProject_V2.prproj", for example. Always increment the version number at the end by one. Or add a new version number 1 if there is no version number, yet. Block script is attached.
... View more
‎Feb 02, 2025
08:54 AM
Great to hear that Automation Blocks is so useful for you!
If you open the block code of the slideshow ("right click->expand" on the block with the implementation) you find this section, which finds all images and music files in the folder. You can easily extend it such that it also finds videos using an "or" block and second copy of the "file has type" block:
 
Scripts in general and hence also Automation Blocks can neither remote-operate BeatEdit nor create captions, unfortunatly. What you could do is first run BeatEdit manually and then write a script which loops over the markers and inserts a clip at each of them. But currently we have no ready to use script for that. Also note that although they are muchmore basic than BeatEdit, also Automation Blocks has some tools to create beat markers. So if you need a fully automated method, you could also ask the user to enter a bpm and then let Automation Blocks create the markers based on that.
... View more
‎Feb 02, 2025
08:40 AM
Honestly, I have no idea what goes wrong here.
Does it make any difference if you not only set the in-point of the clip in the sequence, but also the in-point of the project item? You should be able to set it using the Set Attribute of Project Item block and giving it "my clip" as argument. Automation Blocks will convert the clip to the corresponding project item for you.
... View more
‎Feb 01, 2025
12:14 AM
Oh, I see: In the other script you linked, in the "if true" case (i.e. if the inpoint is 0) we keep the inpoint unchanged and only if it is NOT 0, we subtact something from it. In your code, you subtract something in both cases. Also, what exactly do you mean with
"Clip 1 should start a 1:06, but starts at :19
Clips 2 and 3 should start at :20, but start at :19" The inpoint should be at 1:06 but is at 0:19 or the start time in the sequence? Are you sure that the new assets are long enough, or maybe they are simply too short to start at 1:06 and still have the required length?
Are
... View more
‎Jan 31, 2025
12:30 AM
If the changes are correct, but not permanent this sounds like a bug or some kind of caching issue with the scripting API
Your test block also looks suspicious to me: If the inpoint is <= 0, then subtracting a tiny number from it will make it a negative value. But the inpoint must always be 0 or greater.
@Bruce Bullis are you aware of bugs where setting the inpoint of a clip in the sequence appears to work, but when rendering or saving and reloading the project the change is gone again?
... View more
‎Jan 30, 2025
05:08 AM
Feature request noted 🙂 That's on my feature request list already, but I cannot promise if/when it will happen.
... View more