Link Search Menu Expand Document
Table of contents

About Gorilla Compiler

Gorilla Compiler is the last stop in the Gorilla Engine plug-in development process.

Here you define all of your plugin’s assets (like its .blob, JavaScript and YAML files, graphical assets, etc.) as well as other important information (your plugin’s name and version number, export formats (VST/AU/AAX), end user license agreement, code signing, copy protection, etc.) The cloud-based compiler then converts all your assets into a finished installer.

The resulting installer is a package for Windows and/or macOS that you can offer to customers or dealers as a finished, sellable product.

Creating MacOS and Windows Installers:

You will need the MacOS version of Gorilla Compiler to create MacOS installers for your plugin. Similarly, you will need the Windows version of Gorilla Compiler to create Windows installers. To create products for both MacOS and Windows operating systems, you will need to compile on both Mac and Windows versions of Gorilla Compiler. This can be done on separate machines or through a virtual machine like Parallels or Apple Boot Camp.

Note to Windows users: Some additional software is required to create installers on Windows.

  1. Inno Setup version 6 must be installed on the machine running Gorilla Compiler. You can get it as a free download here: https://jrsoftware.org/isdlold.php
  2. If you would like to release in AAX format for Pro Tools, you will need to use PACE code signing and/or protect your plugin binaries with PACE copy protection. To do this, you will need to have the most recent version of the PACE Eden SDK installed.

Supported Operating Systems

Gorilla Editor is currently available for macOS 10.10 (or later) and Windows 10 (or later).

Installing Gorilla Compiler

Gorilla Compiler is installed along with the rest of the Gorilla Engine SDK. To install the SDK, download the appropriate package for your operating system from our website (note that there is currently an application process for being granted access to the Gorilla Engine SDK). Once downloaded, run the installer and follow the on-screen instructions.

Gorilla Compiler Overview

Gorilla_Compiler_Main_Screen_Callouts

Gorilla Compiler’s user interface consists of four buttons and six tabs:

  1. Log Tab - Displays a running log of Gorilla Compiler operations. This can be helpful during troubleshooting.
  2. Packaging Tab - This is where you link all of your plugin’s assets (.blob file, JavaScript files, graphics, etc.)
  3. Plugin Settings Tab - Here is where you configure various plugin-related settings (name, formats, settings, version number, etc.)
  4. EULA Tab - Here you can add the End User License Agreement (EULA) that appears in the installer.
  5. Installer Signing Tab - This is where you enter code signing information for both Mac and Windows.
  6. Copy Protection Tab - Here you can find various copy protection features for your plugin.
  7. PACE Tab - If you use PACE copy protection or PACE signing, you can enter your information here.
  8. Get Help - Click here to get to this document.
  9. Display area - This area shows information relating to the currently selected tab.
  10. Open Project Button - Click this to open existing Gorilla Compiler projects.
  11. Save Project Button - Click here to save your current project.
  12. Sign Installer Button - This button signs your installer using the information entered in the Installer Signing Tab.
  13. Create Product Button - When the tabs are all set, click this to create your plugin installer.

Packaging Tab

2-Packaging_screen

The Packaging Tab is where you point Gorilla Compiler to all of your plugin assets (for example, your .blob file, JavaScript files, graphics, and more). The controls are as follows:

  1. Content Type - This area displays the various types of content you can use in your plugin. The currently selected tab is underlined and its information is shown below in the Display Area. Content types include:

    • UI Script - Enter the JavaScript file(s) that define the application logic of your instrument. The main JavaScript file needs to be set as the entry point.
    • UI Layout - Enter the YAML file(s) that describes the graphical layout of your instrument here. The YAML file needs to be set as the entry point.
    • Assets - Here you can link to the folder containing various assets for your instrument (for example images and fonts).
    • App Icon - A single PNG file that will be displayed as the application icon for your standalone build. If left empty a generic default icon will be used.
    • Audio - Here you can link to the .BLOB files generated by Gorilla Editor.
    • Node Modules - Here you can include any Node.js modules needed by your JavaScript.
    • Native Plugins - Here you can enter Custom Gorilla Engine Modules. These are special modules that can also be used by the Gorilla Editor to customise audio.
    • Presets - Here you can link all your factory preset files to be installed in your plugin’s data directory. A link to this data directory can be retrieved in JavaScript via getResourcePath() and the presets will end up in a subdirectory called “presets”.
    • Post Install Scripts - Here you can define scrips that can choose to run after installation is completed.
  2. Search - Provides a convenient way of searching through your files. This can be handy, for example, when working with a large number of graphical assets.

  3. Delete Button - This button lets you remove an asset from the list in Gorilla Compiler. Note that file(s) must be selected before you can delete them. You can select one file by simply clicking on it, or select multiple files by the clicking circle to the left of each file you wish to delete (the circles are illuminated in blue when a file is selected).

    Note: The Delete button only removes file(s) from Gorilla Compiler. It does not delete files from your computer.

  4. “Set Entry Point” Button - The Set Entry Point button displayed for UI Script and UI Layout file types. Setting a file as an entry point means that that file will be renamed to “PluginName.extension” on installation and thus be loaded and executed automatically by your plugin on instantiation. To set an entry point, you must select the file before clicking the Set Entry Point button. Please note: Setting a file as an entry point has been deprecated for YAML files as it is no longer possible to load a plugin with only a YAML file and no JavaScript file. So the correct configuration for every plugin is that only your main JavaScript file is an entry point and no other file is set as an entry point.

  5. Display Area - This area lists the available assets for a selected content type.

Plugin Settings Tab

3-Plugin_Settings_screen

In this tab, you can configure a variety of settings including the format of your plugin (AAX, AU, VST, VST3 or Standalone), whether your plugin is an effect or instrument, the name of the plugin as shown in your music software, and more.

Plugin Formats

Check the boxes to select the formats you would like to generate with Gorilla Compiler.

  • Standalone - A version your product that can be run without requiring a DAW. By default the settings icon is a generic cogwheel. To change the settings icon add a folder named “Standalone” (with a capital S and no quotation marks ) to e.g.: /Applications/Gorilla Engine SDK/Examples/Basic Synth/plugin_assets/assets/images/Standalone and name the PNG file “Standalone” (no quotation marks). There are currently no further customizations to the settings dialog.
  • Known Issue: On Windows CodeMeter protected standalone builds do currently not support a custom app icon.

Pro Tip: You do not need to create separate Gorilla Compiler projects for a cross-platform products (i.e, a plugin you intend to release on both MacOS and Windows). You only need one Gorilla Compiler project file (*.ugep) since you can open that same project file in both the Windows and MacOS version of Gorilla Compiler. Also, if you want to release an Audio Unit plugin, you can leave Audio Unit checked even if you’re working on Windows where no AU can be built (the Windows version of Gorilla Compiler will skip this setting).

Effect (vs. instrument)

Check this box if your product is an audio effect (not a virtual instrument). Clicking this box tags the plugin as an effect and your product appears in your host music software in the list of effects lists and not where the virtual instruments are shown.

Has Sidechain

If your effect plugin supports Sidechain use this switch to enable or disable it.

Note: The sidechain audio arrives in the second effect bus of the instrument (the main audio input arrives in the first effect bus.) The plugin formats don’t constantly tell the plugin if the sidechain is connected or not. The best solution is to add a sidechain on/off switch to your effect.Sidechain source selection is always handled by the host and the plugin can’t see anything about that.

Plugin Settings

Plugin Name

Enter the name of your plugin here. This is what appears in the DAW as well as the installer. Note that only file system valid characters are allowed since this also determines the name of multiple files and directories that are installed to disk.

Plugin Manufacturer

Enter the name of the plugin manufacturer (i.e., your company). This appears in the DAW as well as the installer. Note that only file system valid characters are allowed since this also determines the name of multiple files and directories that are installed to disk.

Manufacturer Email

Enter an email address that can be displayed to users in various locations (for example, to display support contact information).

Manufacturer Website

Enter a website URL that can be displayed to the user in various locations.

Bundle Identifier

This is a unique identifier for your plugin in the form of a fully qualified package identifier. Companies often use their reversed Internet domain name to begin their package name (for example “com.ujam.vgcarbon”).

Version

This is the version number of your plugin as specified according to the Semantic Versioning Spec (SemVer). For example: 0.10.0 or 4.7.16. We strongly recommend advancing your version number for each new build, even if the change is very small. This can help avoid compilation issues.

AU Plugin Code

This is the name of the plugin converted to a string with the length of four characters.

Important: Note that this code needs to be four characters long to display properly in your host music application; if this code is not 4 characters long your plugin may not be listed in your software.

AU Manufacturer Code

This is the name of the manufacturer converted to a string with the length of four characters.

Important: Note that this code needs to be four characters long to display properly in your host music application; if this code is not 4 characters long your plugin may not be listed in your software.

Number of Stereo Outputs

The number of stereo outputs that the plugin supports and that can be routed in the DAW. The total number of channels in the plugin should not exceed 32.

Number of Quadrophonic Outputs

The number of quadrophonic outputs that the plugin supports and that can be routed in the DAW. The total number of channels in the plugin should not exceed 32.

Number of 5.1 Outputs

The number of 5.1 outputs that the plugin supports and that can be routed in the DAW. The total number of channels in the plugin should not exceed 32.

MIDI Output

If the plugin (via its instrument script) should be able to send MIDI events to the DAW. To create a “MIDI Effect” plugin that processes or generates MIDI, enable MIDI output but disable all audio outputs (stereo, quadrophonic and surround all set to zero). Not all DAWs support MIDI Effect plugins.

Number of Automatable Parameters

The maximum number of parameters visible to the DAW. If this number is higher than the number of automatable parameters in your instrument, the DAW will list additional parameters labelled “Not Mapped”.

Installer Settings

Create ZIP Package

Enable this to create a zip package, that including the plugins contents.

Include Binaries in ZIP Package

Enable this to include the generated binaries in the zip package.

Blob Relocation Support

Select this checkbox if your plugin supports .blob file relocation when installed. This is a useful feature when installing instruments with large .blob files, since users commonly place instrument sample content on a different drive. When enabled, the chosen installation directory is written to a settings file in the plugin resource directory upon installation.

Large Content Support (macOS)

We recommend switching this on if your .blob files (all files combined) exceed 8 GB in size. Doing so will create an installer as a disk image (.dmg) with the .pkg installer files inside.

Create Vendor Subdirectory

Select this checkbox if you’d like the installer to place the VST plugin binary into a subdirectory with your manufacturer name instead of directly into the VST plugin root directory.

Note: Some host music applications visualize the folder structure on disk when browsing plugins while other applications do not do this.

Installer Output Directory

This is the output directory where the Gorilla Compiler places the finished installer files. This path is relative to the Gorilla Engine Buildkit project file.

Installer Template Name

This is a template that determines the file name of the installer that Gorilla Compiler places in the installer output directory. This can be very useful if you are making multiple builds and would like to version control your builds automatically. Possible tokens are {manufacturer}, {name} and {version}.

Application UUID

A universally unique identifier number (UUID) that the Windows version of the Gorilla Engine installer uses to uniquely identify the application. Click the refresh button nearby to generate a new UUID.

Important: Make sure to always create a new UUID when starting a new project!

AAX Page Table

Here you can set the path to an AAX Page Table file, if the plugin supports Page Tables. This path is relative to the Gorilla Compiler project file.

Gorilla Engine Settings

Gorilla Engine Version

This dropdown menu lets you select the version of Gorilla Engine SDK that you would like to compile with your plugin. Note that your choice determines which version of the JavaScript API, YAML API and Gorilla Editor you can use to create your plugins. In general, we recommend using the most recent version of the Gorilla Engine SDK if possible.

Enabled Node.js Native Modules

Gorilla Engine supports a number of node.js native modules which come included with the plugin binaries and can be used from within the JavaScript API. Check the boxes to select which of the modules below you would like to enable for your plugin:

  • WriteSMF: This module easily generates MIDI files from MIDI events (i.e., transforming MIDI event data in a way that it can be used by tools that can read MIDI files). We will cover this in separate knowledge base articles.
  • Hardware Fingerprinting: This module provides a simple way to generate a unique fingerprint of the users machine. We will cover this in separate knowledge base articles.

EULA Tab

4-EULA_screen

An End User License Agreement (EULA) is your legal agreement that is shown to users during the installation process. Users must accept this for the installer to proceed and you are free to use any kind of license that is appropriate for your product.

Use File

When this function is switched on, you can select the EULA file using the browser. This is useful in cases where a company maintains one updated master EULA file that all plugins can reference. It prevents having to manually copy and paste information into the Gorilla Compiler. If the Use File option is switched off, the EULA information can be entered manually with the following controls:

MIME Type

MIME (“Multipurpose Internet Mail Extension”) is a standard that indicates the nature of a document. This information is only needed if the EULA contents are entered into the Gorilla Compiler directly. If Use File is switched on and a file is imported, the MIME is derived from the file’s extension.

File Contents

Enter the body text of the End User License Agreement here.

Code & Installer Signing Tab

5-Installer_Signing_screen

“Code signing” is a method of using cryptographic keys to ensure that your plugin is authentic and has not been altered. This tab lets you enter your Windows and MacOS code-signing details (if available).

Enable/Disble Switch

This switch can be used to enable and disable the code signing features of Gorilla Compiler.

Code Signing

Code signing is required on macOS in order to pass Apple’s notarization process. Without proper notarization, the software cannot be installed on Catalina or later versions of macOS. The required certificate (Developer ID: Application) can be acquired by visiting https://developer.apple.com. Please note that the notarization process is currently not automated in Gorilla Compiler and you will need to notarize the installer manually as a last step prior to release.

Code Signing Identity (macOS)

The name of your certificate of type “Developer ID: Application” as it can be read in your macOS Keychain Access app. Example: “Developer ID Application: UJAM Music Technology GmbH”.

Installer Signing

Installer signing is required on both macOS and Windows in order for your installer to be perceived as trustworthy. If you do not sign your installers, your users will be warned by the operating system about potential risks when running your installer. The required certificate for macOS (Developer ID: Installer) can be acquired through https://developer.apple.com. For Windows, you must acquire a Code Signing Certificate from a certificate authority such as https://digicert.com. Please note that extended validation (EV) certificates are currently not supported and you will need a standard code signing certificate. Also note that some vendors have an option to prevent the export of a private key for a certificate. If so, make sure to disable this option so that you can access your private key.

Installer Signing Identity (macOS)

The name of your certificate of type “Developer ID: Installer” as it can be read in your macOS Keychain Access app. Example: “Developer ID Installer: UJAM Music Technology GmbH”.

Path to Keychain (macOS)

Enter the path to the macOS keychain containing your Developer ID certificate. Note that if your Developer ID certificates are stored in your login keychain, this setting can be omitted. You only need to provide this if the Developer ID certificate(s) reside in another keychain. Simply provide the name of the keychain followed by “.keychain”. Example: “buildworker.keychain”.

Keychain Password (macOS)

Enter the password used to unlock the macOS keychain containing your Developer ID certificate. Note that this is only required if the Developer ID is not the login keychain. Instead of entering the information here, you can specify it in the environment variable GE_KEYCHAIN_UNLOCK_PASSWORD for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

Certificate Path or SHA1 Hash (Windows)

The full file path to your Windows certificate file or a SHA1 hash of the certificate in cert manager.

  • Example path: “C:CodeSigningMyCompany.p12”.
  • Example hash: “16a0cbf0d80db59ae807890116d2f771fe05e58a”.

Please note that you most likely will not receive a .p12 formatted file from the certificate authority (the file will be in another format). If this applies to you, there are many articles online describing how to convert different formats into a .p12 file.

Certificate Password (Windows)

Enter the the password that unlocks your Windows certificate. Instead of entering the information here, you can specify it in the environment variable GE_CERTIFICATE_UNLOCK_PASSWORD for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

Timestamp Server (Windows)

Enter the URL to the timestamp server that is used during the Windows signing process. In most cases, the default will work properly (you only need to change this setting if the default option is not responding).

Copy Protection Tab

6-Copy_Protection_screen

Gorilla Engine SDK offers various copy protection settings for your plugin, which can be found here. Note that we have moved all PACE-related features (code signing and copy protection) to it’s own separate PACE tab for clarity.

Protection Settings

MIDI Enabled on startup

Check this box if your plugin should receive MIDI input as soon as it is instantiated. If this option is disabled you can manually enable MIDI using the JavaScript API during plugin runtime. We include this functionality because, in some cases, you may want to prevent users from playing the plugin until after another action (for example, a successful login).

Audio Enabled on startup

Check this box if your plugin should begin rendering audio as soon as it is instantiated. If this option is disabled you can manually enable MIDI using the JavaScript API during plugin runtime. We include this functionality because, in some cases, you may want to prevent users from playing the plugin until after another action (for example, a successful login).

Content Encryption

The audio content in your .blob files is encrypted when this box is checked.

Content Encryption Key or Keyfile

Here you can enter the key or key file with which the content will be encrypted (if encryption is enabled above). A new random key can be generated by clicking the Generate New Key icon nearby.

Pro Tip: This field can be overwritten via the GE_CONTENT_ENCRYPTION_KEY environment variable.

CodeMeter

CodeMeter copy protection from WIBU systems is now available in Gorilla Compiler. This optional copy protection system exists alongside our standard copy protection system and provides extremely secure protection for customers that need it. Using this feature will incur some cost, so please contact us if you would like to know more about pricing and setup.

Protect this plugin using CodeMeter

Check this box if you would like to use CodeMeter copy protection from WIBU Systems

CodeMeter Product Code

Enter your CodeMeter Product Code here. This code is provided to you by the Gorilla Engine team. Please contact us to learn more.

CodeMeter Protection Code

Enter your CodeMeter Protection Code here. This code is provided to you by the Gorilla Engine team. Please contact us to learn more.

Enable Trials

Check this box to enable product trials

CodeMeter Trial Code

Enter your CodeMeter Trial Code here.

Trial Days

Enter the number of days the trial will run, starting from first use of the plugin.

PACE Tab

7-PACE_screen

Enable/Disable Switch

This switch lets you enable and disable PACE signing. Gorilla Compiler determines whether or not to PACE sign and/or PACE wrap depending on the information you have entered into the fields below.

Pro Tip: You can disable PACE signing (for example during beta testing) without losing all your entered information. When you switch it back on, the previously stored information is remembered.

PACE Signing & Protection

The PACE Eden SDK provides tools for signing the AAX versions of your plugins. If you want to release an AAX formatted plugin, PACE signing is required for your plugin to be listed in Pro Tools. In order to be able to sign, you need an agreement with PACE at https://paceap.com. Once you have the agreement you can download and install their Eden SDK which is required for Gorilla Compiler to do the signing. The SDK also provides methods to securely copy protect your plugins (commonly known as “iLok Protection”). If your product needs secure copy protection, please get in touch with us to discuss your options.

Command (Sign/Wrap)

Gorilla Compiler can issue two different commands: “sign” is used for signing and “wrap” is used for secure copy protection. In nearly all cases, “sign” is the right choice here.

iLok License Location (iLok/Cloud)

The license required to run “wraptool” (an executable from the PACE Eden SDK that that is called by Gorilla Compiler to do the actual processing) can either be located on a physical iLok connected to the computer running Gorilla Compiler or in the iLok License Cloud. Please choose whichever option applies to your setup.

Path to wraptool (macOS)

The full path to the wraptool executable on your macOS system running Gorilla Compiler. (e.g., /Applications/PACEAntiPiracy/Eden/Fusion/Current/bin/wraptool)

Path to wraptool (Windows)

The full path to the wraptool executable on your Windows system running Gorilla Compiler. (e.g., C:\Program Files (x86)\PACEAntiPiracy\Eden\Fusion\Versions\5\wraptool.exe)

Path to iloktool (macOS)

The full path to the iloktool executable on your macOS system running Gorilla Compiler. This property is only required if your license for wraptool is in the cloud. In this case, you will need to install “iLok License Manager” which also installs iloktool. This is required to open a cloud session for the license check.

Path to iloktool (Windows)

The full path to the iloktool executable on your Windows system running Gorilla Compiler. This property is only required if your license for wraptool is in the cloud. In this case, you will need to install “iLok License Manager” which also installs iloktool. This is required to open a cloud session for the license check.

iLok Account Name (macOS)

The name of your iLok account used for PACE processing on your macOS system running Gorilla Compiler. Instead of entering the information here, you can specify it in the environment variable GE_PACE_ACCOUNT_MACOS for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

iLok Account Name (Windows)

The name of your iLok account used for PACE processing on your Windows system running Gorilla Compiler. Instead of entering the information here, you can specify it in the environment variable GE_PACE_ACCOUNT_WINDOWS for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

iLok Account Password (macOS)

The password of your iLok account used for PACE processing on your macOS system running Gorilla Compiler. Instead of entering the information here, you can specify it in the environment variable GE_PACE_ACCOUNT_PW_MACOS for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

iLok Account Password (Windows)

The password of your iLok account used for PACE processing on your Windows system running Gorilla Compiler. Instead of entering the information here, you can specify it in the environment variable GE_PACE_ACCOUNT_PW_WINDOWS for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

Wrap Config UUID

In order to sign or wrap a product, you need to create a product in “PACE Central” and also attach a wrap configuration to it. This is the globally unique ID of the wrap configuration.

Signing Identity (macOS)

The name of your certificate of type “Developer ID: Application” as it can be read in your Keychain Access app. Example: “Developer ID Application: UJAM Music Technology GmbH”.

Path to Keychain (macOS)

If your Developer ID certificates are stored in your macOS login keychain, this setting can be omitted. You only need to provide this if the certificates reside in another keychain. Simply provide the name of the keychain followed by “.keychain”. Example: “buildworker.keychain”.

Keychain Password (macOS)

Enter the password used to unlock the keychain that your Developer ID certificates reside in. This is only required if your certificates are not in the login keychain. Instead of entering the information here, you can specify it in the environment variable GE_PACE_KEYCHAIN_PASSWORD for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

Certificate Path (Windows)

The full file path to your Windows certificate file. Example: “C:CodeSigningMyCompany.p12”. Please note that you most likely will not receive a .p12 formatted file from the certificate authority (the file will be in another format). If this applies to you, there are many articles online describing how to convert different formats into a .p12 file.

Certificate Password (Windows)

The password to unlock your code signing certificate. Instead of entering the information here, you can specify it in the environment variable GE_PACE_KEYFILE_PASSWORD for Gorilla Compiler to read it from there. We strongly recommend doing this as it provides increased security. If the information is stored in both places, the environment variable takes precedence.

NKS Resources Tab

8-NKSResource_screen

The NKS Resources Tab is where you point Gorilla Compiler to all of the resources required for your plugin to support NKS this includes your Presets and preview files, .plist file, graphics, .xml file The controls are as follows:

  1. Content Type - This area displays the various types of resources required for your plugin to support NKS. The currently selected tab is underlined and its information is shown below in the Display Area. Content types include:

    • Presets - Here you can drag and drop all preset files(.nksf for Instruments, .nksfx for Effects) including your .preview folder (contains audio previews for the presets in .ogg format) which will be browsed and previewed in a NKS capable devices.
    • Note: You must include atleast one preset file.

    • Images - Here you can drag and drop all the graphic resources (MST_artwork.png,MST_logo.png, MST_plugin.png, OSO_logo.png, VB_artwork.png and VB_logo.png) including the .meta file to support NKS browsing.
    • Database - Here you can drag and drop all files to be included in the NKS database this include .meta, color.json, shortname.json and categories.json
    • Plist - Here you can drag and drop the .plist file
    • Xml - Here you can drag and drop the .xml file
  2. Search - Provides a convenient way of searching through your files. This can be handy, for example, when working with a large number of Presets.

  3. Delete Button - This button lets you remove an asset from the list in Gorilla Compiler. Note that file(s) must be selected before you can delete them. You can select one file by simply clicking on it, or select multiple files by the clicking circle to the left of each file you wish to delete (the circles are illuminated in blue when a file is selected).

    Note: The Delete button only removes file(s) from Gorilla Compiler. It does not delete files from your computer.

  4. Display Area - This area lists the available assets for a selected content type.