Skip to content

Commit 044d9c8

Browse files
authored
Merge pull request #9 from docsforadobe/users/bbb/26.0_SDK
A flurry of general edits
2 parents 430dee0 + 54c373f commit 044d9c8

24 files changed

+42
-163
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AE Transition Extensions
22

3-
This chapter describes how to build native transitions in Premiere Pro based on the After Effects API. From a user-perspective, plugins built this way can show their parameters directly in the Effect Controls panel, even providing custom parameter UI in that panel or in the Sequence Monitor. Such plugins can run not only in Premiere Pro, but also in After Effects, although they will appear as effects rather than transitions.
3+
This chapter describes how to build native transitions in Premiere Pro based on the After Effects API. From a user's perspective, plugins built this way can show their parameters directly in the Effect Controls panel, even providing custom parameter UI in that panel or in the Sequence Monitor. Such plugins can run not only in Premiere Pro, but also in After Effects, although they will appear as effects rather than transitions.
44

55
The transition extensions work on top of effects built using the After Effects SDK. Since AE effects only have a single input, the second input is a layer parameter defined by the plugin.

docs/control-surfaces/control-surfaces.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Control Surfaces
22

3-
Starting in Premiere Pro CC 2014, a control surface plugin can interface with a hardware control surface. This is the API that provides built-in support for EUCON and Mackie devices to control audio mixing and basic transport controls. The API supports two-way communication with Premiere Pro, so that hardware faders, VU meters, etc are in sync with the application.
3+
A control surface plugin can interface with a hardware control surface. This is the API that provides built-in support for EUCON and Mackie devices to control audio mixing and basic transport controls. The API supports two-way communication with Premiere Pro, so that hardware faders, VU meters, etc are in sync with the application.
44

55
Compile the sample plugin into a subfolder of the main application folder: `Plugins\\ ControlSurface\\`
66

@@ -24,4 +24,4 @@ Then, CreatePluginInstance() is called. When a project is opened, Connect() is c
2424

2525
## Getting Started
2626

27-
Please write us if you would like further guidance.
27+
Reach out as necessary, for further guidance.
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
# Export Controllers
22

3-
Starting in Premiere Pro 5.0.2, an export controller can drive any exporter to generate a file in any format and perform custom post-processing operations. Developers wanting to integrate Premiere Pro with an asset management system will want to use this API instead.
3+
An export controller can drive any exporter to generate a file in any format and perform custom post-processing operations.
44

55
An export controller adds its own custom menu item to the File > Export submenu. When the user chooses the menu item, the plugin is called with a TimelineID, which represents the current sequence. Although details on the current sequence are not passed in, the export controller can use the [Sequence Info Suite](../universals/sweetpea-suites.md#sequence-info-suite) to query for various properties. The export controller can then optionally display any custom modal UI to allow the user to set any parameters for the export.
66

7-
This UI will need to be provided by the export controller.
8-
9-
The export controller should then call ExportFile in the Export Controller Suite, which takes the TimelineID, a path to an exporter preset, and a path for the output. This will tell Premiere Pro to handle the export, displaying progress. The call will return either a success value, an error, or that the user canceled. During the export, the UI will be blocked, just as when doing a standard export that doesn't use the Adobe Media Encoder Render Queue.
7+
The Export Controller must provide its own UI, calling ExportFile in the Export Controller Suite, which takes the TimelineID, a path to an exporter preset, and a path for the output. This tells Premiere Pro to handle the export, displaying progress. The call will return either a success value, an error, or that the user canceled. During the export, the UI will be blocked, just as when doing a standard export that doesn't use the Adobe Media Encoder Render Queue.
108

119
Once Premiere Pro completes the export, the call will return to the export controller. The plugin can then perform any post-processing operations, such as transferring the newly exported file over the network, or registering the file in an asset management system.

docs/exporters/exporters.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
# Exporters
22

3-
Exporters are used to export video, audio, and markers in any format. Exporters get individual video frames in a requested pixel format (generally, uncompressed video) and uncompressed audio. The exporter is responsible for any compression of the video and audio data, and wrapping the output in a file format. To reuse an existing exporter, you may provide an export controller.
3+
Exporters are used to export video, audio, and markers in any format. Exporters get individual video frames in a requested pixel format (generally, uncompressed video) and uncompressed audio. The exporter is responsible for any compression of the video and audio data, and wrapping the output in a file format.
44

5-
Exporters can be used from within Premiere Pro, or from Adobe Media Encoder. From within Premiere Pro, go to the File > Export > Media dialog. From there, the Export Settings dialog appears. The format chosen in the Format drop-down determines the exporter used, and the exporter provides the parameter settings and summary displayed in the Export Settings dialog.
6-
7-
Exporters can optionally provide hardware acceleration by coordinating with a renderer plugin to render timeline segments. Legacy editing modes are formed by the combination of an exporter and a player; the exporter generates preview files and the player manages the cutlist.
8-
9-
If you've never developed an exporter before, you can skip [Whats New](./whats-new.md), and go directly to [Getting Started](./getting-started.md).
5+
Exporters can be used from within Premiere Pro or Adobe Media Encoder. From within Premiere Pro, they are accessed via File > Export > Media. From there, the Export Settings dialog appears. The format chosen in the Format drop-down determines the exporter used, and the exporter provides the parameter settings and summary displayed in the Export Settings dialog.

docs/exporters/getting-started.md

Lines changed: 4 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,13 @@ In CS4, where the files are saved depends on whether you've opened the Export Se
7878

7979
On Windows Vista, presets are saved here: `[User folder]\AppData\Roaming\Adobe\Adobe Media Encoder\[version]\Presets\\`
8080

81-
On Windows XP: `[Documents and Settings folder]\[user name]\Application Data\\ Adobe\Adobe Media Encoder\[version]\Presets\\`
81+
On Windows XP: `[Documents and Settings folder]\[user name]\Application Data\Adobe\Adobe Media Encoder\[version]\Presets\\`
8282

8383
On Mac OS: `~/Library/Preferences/Adobe/Adobe Media Encoder/[version]/ Presets/`
8484

8585
### Premiere Pro presets
8686

87-
On Windows Vista, presets are saved here: `[User folder]\AppData\Roaming\Adobe\Premiere Pro\[version]\\ Presets\\`
88-
89-
On Windows XP: `[Documents and Settings folder]\[user name]\Application Data\\ Adobe\Premiere Pro\[version]\Presets\\`
87+
On Windows, presets are saved here: `[User folder]\AppData\Roaming\Adobe\Premiere Pro\[version]\\ Presets\\`
9088

9189
On Mac OS: `~/Library/Preferences/Adobe/Adobe Premiere Pro/[version]/Presets/`
9290

@@ -98,18 +96,10 @@ For example, if you set it to: `<FolderDisplayPath>System Presets/Image Sequence
9896

9997
It is essential to use: "System Presets/xxx/" where the xxx must be any of the existing main categories (use the English name for this). Only one level below can you can create a custom-named folder. If the folder doesn't already exist, it will be created.
10098

101-
The Preset Browser data is cached in a file at: `[User Folder]\AppData\Roaming\Adobe\Common\AME\[version]\Presets\\ PresetTree.xml`
99+
The Preset Browser data is cached in a file at: `[User Folder]\AppData\Roaming\Adobe\Common\AME\[version]\Presets\PresetTree.xml`
102100

103101
If you want to force a refresh of the Preset Browser data, just quit AME, delete this file, and re-launch AME.
104102

105-
### Installation in CS4
106-
107-
For better performance, in CS4, we recommend you install any presets for your exporter in the application folder for Premiere Pro and Media Encoder.
108-
109-
For both Windows and Mac OS: `[App installation path]\MediaIO\systempresets\[exporter subfolder]`
110-
111-
The subfolder must be named based on the hexadecimal fourCCs of the ClassID and filetype of the exporter. For example, the SDK exporter has a ClassID of 'DTEK' or 0x4454454B, and a filetype of `SDK` or 0x53444B5F. So the subfolder must be named '4454454B_53444B5F'. For convenience, you can find the ClassID and filetype fourCCs in the preset file itself, in a decimal representation.
112-
113103
---
114104

115105
## Parameter Caching
@@ -141,9 +131,7 @@ To support multichannel audio layouts, kPrAudioChannelType_MaxChannel should be
141131

142132
The audio buffers you use for GetAudio() should likewise be an array of kPrAudioChannelType_MaxChannel channels, and yes, this means you may be allocating more space than actually used.
143133

144-
In the exporter's Audio tab UI, you can provide a parameter to choose between various multi-channel audio layouts. You can compare your settings to what we have with the built-in formats, QuickTime and MXF (such as MXF OP1a and DNxHD). From the user selection in your audio export settings (e.g., 2x stereo, etc), you will know how many of those channels passed back in GetAudio() should actually be written to the file.
145-
146-
Here's a helpful video on audio track mapping: [http://www.video2brain.com/en/lessons/changes-in-audio-tracks-and-merged-clip-audio](http://www.video2brain.com/en/lessons/changes-in-audio-tracks-and-merged-clip-audio)
134+
In the exporter's Audio tab, you can provide a parameter to choose between various multi-channel audio layouts. You can compare your settings to what we have with the built-in formats, QuickTime and MXF (such as MXF OP1a and DNxHD). From the user selection in your audio export settings (e.g., 2x stereo, etc), you will know how many of those channels passed back in GetAudio() should actually be written to the file.
147135

148136
---
149137

@@ -161,48 +149,6 @@ Use a unique fileType for each format. When you are later sent `exSelGenerateDef
161149

162150
---
163151

164-
## Exporters Used for Editing Modes
165-
166-
An exporter that is used in an editing mode must have a codec parameter, and that parameter ID must be ADBEVideoCodec. If Premiere Pro cannot find this parameter, it will not be able to reopen projects in the custom editing mode, and will revert the project to Desktop mode.
167-
168-
### Sequence Encoder Presets
169-
170-
Sequence preview presets are now required for editing modes. These contain the exporter parameters to generate preview files. This makes preview file formats much easier to define, by using the Media Encoder or Premiere Pro UI to create presets, rather than directly editing XML.
171-
172-
To create a sequence encoder preset:
173-
174-
1. Create a preset. The name that you give it will be the name that will be used in the Sequence Settings > General > Preview File Format drop-down.
175-
2. Make sure this preset is installed in the application folder for Premiere Pro, along with the other sequence presets:
176-
177-
On Windows, they should be installed here: `[App installation path]\Settings\EncoderPresets\SequencePreview\[editing mode GUID]*.epr`
178-
179-
On MacOS, it is basically the same (inside the application package): `[App installation path]/[Premiere Pro package]/Contents/Settings/EncoderPresets/ SequencePreview/[editing mode GUID]/*.epr`
180-
181-
As you can see by the installation paths above, Premiere Pro associates the sequence preview presets with the editing mode they go with, by using the presets in the folder that matches the GUID of the editing mode. The editing mode GUID is defined in the editing mode XML file, using the `<EditingMode.ID>` tag.
182-
183-
### Adding new Preview File Formats to Existing Editing Modes
184-
185-
You can not only provide sequence preview presets for your own editing mode, but you could even add additional sequence preview presets for one of the built-in editing modes. Editing mode GUIDs for built-in editing modes can be found in the Adobe Editing Modes. xml file. For example, the Desktop editing mode on Windows has the GUID 9678AF98A7B7-4bdb-B477-7AC9C8DF4A4E. On Mac OS it is 795454D9-D3C2-429d-9474- 923AB13B7018.
186-
187-
You can additionally restrict the list and specify which one is chosen by default, by editing the `<PresetComments>` tag in the preset file.
188-
189-
If the value of the tag starts with "IsConstrained,", then a comma delimited list of 4ccs follows that dictates which codecs are available, and the first one is chosen by default.
190-
191-
For example, QuickTime DV NTSC.epr for the Mac DV NTSC editing mode has this: `<PresetComments>IsConstrained,dvc </PresetComments>`
192-
193-
Which restricts the codec selection of the exporter to be only the single codec choice.
194-
195-
---
196-
197-
## Stereoscopic Video
198-
199-
!!! note
200-
Currently stereoscopic exporters must use the old "pull" model, and only receive stereoscopic video when exporting directly from Premiere Pro. In other words, when exports are queued to run in Adobe Media Encoder, they will not get stereoscopic video.
201-
202-
To get rendered frames for both left and right eye, use the [Video Segment Suite](../universals/sweetpea-suites.md#video-segment-suite) to request the left and right cutlists, and render frames from both. An exporter can tell if segments in both of them are identical (implying that they have nothing stereoscopic about them) by looking at the segment hashes, and you can tell if two frames are identical (by looking at the request identifiers).
203-
204-
---
205-
206152
## Timeline Segments in Exporters
207153

208154
The timeline segments available to exporters do not always fully describe the sequence being exported. To consistently get timeline segments that fully describe the sequence, an exporter needs to work along with a renderer plugin.

docs/exporters/whats-new.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Whats New
22

3-
## What's New in CC
3+
## What's New in CC (7.0)
44

55
A new Captions tab has been added to the Export Settings, for Closed Captioning export. For all formats, a sidecar file containing the captions can be exported.
66

docs/gpu-effects-transitions/getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
If you are developing an effect, begin with one of the two GPU effect sample projects, progressively replacing its functionality with your own. Refer to [Introduction](../index.md) for general instructions on how to build the SDK projects.
66

7-
In addition to those general instructions, the sample project is also dependent on the After Effects plugin SDK. On Windows, create an environment variable pointing to it named AE_SDK_BASE_PATH, so that the compiler will find the AE headers that the project includes. On macOS, in *Xcode > Preferences > Locations > Custom Paths*, specify AE_SDK_BASE_PATH to be the root folder of the AE plugin SDK you have downloaded and unzipped.
7+
In addition to those general instructions, the sample project is also dependent on the After Effects plugin SDK. On Windows, create an environment variable pointing to it named AE_SDK_BASE_PATH, so that the compiler will find the AE headers that the project includes. On macOS, in *XCode > Preferences > Locations > Custom Paths*, specify AE_SDK_BASE_PATH to be the root folder of the AE plugin SDK you have downloaded and unzipped.
88

99
The samples also use Boost, which may be downloaded at boost.org. Download that, and create a variable named BOOST_BASE_PATH just as you did with AE_SDK_BASE_PATH above.
1010

docs/hardware/hardware-integration-components.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@ Importers are used whenever frames of video or audio from a clip are needed. To
66

77
---
88

9-
## Recorders
10-
11-
Users may choose a recorder in Project > Project Settings > General > Capture Format. Recorders are used to grab frames from a hardware source and write them to a file, to be imported for editing.
12-
13-
---
14-
159
## Exporters
1610

1711
Exporters are used whenever Premiere Pro renders preview files, or performs an export on a clip or sequence. To give Premiere Pro the ability to write media that uses a new format or codec, develop an exporter. The exporter used to render preview files in the timeline is set in Sequence > Sequence Settings > Preview File Format. The exporter used for exports is chosen when the user selects File > Export > Media > File Type. See [Exporters](../exporters/exporters.md) for more information.

docs/hardware/hardware.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
# Hardware
22

3-
To integrate hardware with Premiere Pro, you may consider developing up to five types of plugins:
3+
To integrate hardware with Premiere Pro, you may consider three types of plugins:
44

55
- importers,
6-
- recorders,
76
- exporters,
8-
- transmitters, and
9-
- device controllers
10-
11-
Premiere Pro provides the user interface for the capture, timeline, monitor, and export panels; the plugins provide the functionality behind the interface.
7+
- transmitters

docs/history.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| Date | Maintainer | Version |
44
| ----------------- | --------------------------- | ----------------------------------- |
5-
| 23 Oct 2023 | Bruce Bullis | Version 24.0 |
5+
| 23 Oct 2025 | Bruce Bullis | Version 26.0 |
66
| 6 Oct 2021 | Sanaz Golbabaei | Version 22.0 |
77
| 8 May 2020 | Bruce Bullis | Version 14.2 |
88
| 1 May 2019 | Bruce Bullis | Version 13.1 |

0 commit comments

Comments
 (0)