Getting Started
ProPresenter Triggers is a 3rd party application that allows you to create triggers in ProPresenter slide notes. It is built on the PTDL v0.1 Specification. This project is open source and not affiliated with Renewed Vision.
New to ProPresenter? Check out the ProPresenter User Guide (opens in a new tab).
Installation
Prerequisites
- Python 3.10+ (opens in a new tab) or later
- ProPresenter 7.9 (opens in a new tab) or later
Install
- Clone this repository or download the latest release
- Go to the
app
directory - Install dependencies:
pip install -r requirements.txt
Usage
Configuration
Configure the application by editing the config.json
file. You can get your PROPRESENTER_API_URL from ProPresenter > Preferences > Network. Don't forget to enable Network and to include the port number in the URL. (e.g. http://192.168.1.15:1025
or http://localhost:1025
)
Run
Run the application by executing python main.py
in the project's app directory.
You should soon see something like this:
00:10:01: Serving on http://[::]:1027
00:10:01: Serving on http://0.0.0.0:1027
The application is now running and listening for requests on port 1027. You can now create triggers in ProPresenter slide notes and use the API.
Creating Triggers
ProPresenter Triggers uses a unique method for defining triggers. ProPresenter allows users to input notes into slides and presentation. ProPresenter Triggers takes advantage of that by listening for changes in those notes and executing actions based on triggers defined there.
PTDL requires that use your Notes field in ProPresenter. If you are using the Notes field for something else or using them on a stage display, you will need to live with seeing JSON in your note outputs. If you only use a few triggers this may be fine, but is something to keep in mind.
To simplify the process of creating triggers, ProPresenter Triggers uses a simple JSON based syntax called PTDL (ProPresenter 3rd Party Trigger Definition Language). PTDL is a simple definition language that allows users to define triggers in a human readable format. PTDL uses the PTDL v0.1 Specification.
It's as easy as putting your JSON PTDL code into the note field within ProPresenter.
Example of PTDL
{
"triggers": [
{
"type": "action",
"key": "PrintToConsole",
"value": "Test Message",
"delay": 2000
},
{
"type": "action",
"key": "HelloWorld",
"then": {
"type": "action",
"key": "PrintToConsole",
"value": "I was printed after HelloWorld."
}
},
{
"type": "action",
"key": "PrintToConsole",
"value": "I'm next.",
"when_next": true
}
]
}
If you're having trouble try using a JSON validator (opens in a new tab) to validate your PTDL JSON.