Skip to content

Commit 411d074

Browse files
Updated HELP.md and default IP address
1 parent 5a1a78a commit 411d074

File tree

2 files changed

+47
-13
lines changed

2 files changed

+47
-13
lines changed

HELP.md

+37-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,38 @@
1-
# companion-module-propresenter6
1+
# Companion-module: ProPresenter6
2+
3+
Module for using ProPresenter 6 with the Elgato Stream Deck and Companion. Requires a network connection to ProPresenter via it's Remote network port.
4+
5+
*Optionally, you can also configure a connection to the Stage Display App port if you want to track the Video CountDown Timer for any video that is playing.*
6+
7+
# Setup Guide.
8+
## Enable networking in ProPresenter if you haven't already done so...
9+
1. Open ProPresenter and then open the "ProPresenter 6" Menu.
10+
2. Select "Preferences..." to open the ProPresenter Preferences window.
11+
3. Select the Network tab to configure ProPresenter network preferences.
12+
4. Check the "Enable Network" option (if it is not already enabled).
13+
5. Check the "Enable ProPresenter Remote" option (if it is not already enabled).
14+
6. Check the "Controller" option (if it is not already enabled).
15+
7. Enter a controller password (or take note of the existing controller password).
16+
8. Take a note of the Port number (to the right of the Network Name) - this is typically 4-5 digits.
17+
9. If you would like your StreamDeck to be able to display "Video CountDown" timers, then you will also need to check the option for "Enable Stage Display App" and enter a new password (or take note of the existing password).
18+
9. Close ProPresenter preferences window.
19+
20+
## Get the IP address of the computer running ProPresenter
21+
You can control ProPresenter on any computer within the same network, you just need to know the ProPresenter computer IP address. Use your knowledge of networking (or Google how) to get the IP address of the *computer running ProPresenter*.
22+
23+
### Networking Tips:
24+
25+
If you want to connect to ProPresenter on the *same* computer that you are running Companion on, you can use the special looback IP address of 127.0.0.1 (which is the default setting)
26+
27+
If the computers running ProPresenter and Companion are separate computers and they have the option of using either a wireless or a wired network connection, then it is recommended to use a wired network connection whenever possible. This is because a wired network connection is *typically* more reliable and has better latency - which is good for remote control.
28+
29+
## Configure the ProPresenter module in Companion
30+
Now you have all the info you need to go to the ProPresenter Companion module configuration and enter the IP address of the computer running ProPresenter as well as the ProPresenter port number and controller password that you took note of from ProPresenter network preferences.
31+
32+
If you chose to also enable the stage display app option in ProPresenter preferences (so your StreamDeck can display "Video Countdown" timers) then you can also select "Yes" for the configuration field "Connect to StageDisplay (Only required for video countdown timer)" and enter the stage display password.
33+
34+
N.B. At the time of writing this module, there is a bug in ProPresenter 6 where if you choose to enter a Port number for the stage display app - it will actually ingore it and use the "main" network port you recorded in step 8 above.
235

3-
Module for using ProPresenter with the Elgato Stream Deck and Companion. Requires a connection to the ProPresenter Remote network port. Optionally, you can also configure a connection to the Stage Display App port if you want to track the Video CountDown Timer for any video that is playing.
436

537
# Commands
638
## Slides
@@ -19,14 +51,14 @@ A whole number greater than 0 will move the presentation to that slide number.
1951

2052
A slide number of `0` will trigger the current slide, which can be used to bring back a slide that was cleared using `Clear All` or `Clear Slide`.
2153

22-
A relative number (prefixed with `+` or `-`) will move the presentation +/- that many slides. `+3` will jump ahead three slides, and `-2` will jump back two slides. Try to avoid using `-1` or `+1` relative numbers; use the `Next Slide` and `Previous Slide` actions instead, as they perform better.
54+
A relative number (prefixed with `+` or `-`) will move the presentation +/- that many slides. `+3` will jump ahead three slides, and `-2` will jump back two slides. Try to avoid using `-1` or `+1` relative numbers; use the `Next Slide` and `Previous Slide` actions instead, as they perform better.
2355

2456

2557
**Presentation Path**: Lets you trigger a slide in a different presentation, even from a different playlist.
2658

2759
*Important: Presentation path numbering starts at 0, meaning `0` will trigger a slide in the first presentation in the playlist.*
2860

29-
A single number, like `3`, will let you trigger a slide in the *fourth* presentation in the **current playlist**.
61+
A single number, like `3`, will let you trigger a slide in the *fourth* presentation in the **current playlist**.
3062

3163
A path like `1:3` will trigger presentation #4 in playlist #2.
3264

@@ -76,7 +108,7 @@ Command | Description
76108
------- | -----------
77109
Stage Display Message | Shows the message on the stage display output
78110
Stage Display Hide Message | Removes the stage display message
79-
Stage Display Layout | Sets the stage display layout.
111+
Stage Display Layout | Sets the stage display layout.
80112

81113
Stage Displays are indentified by index. Index is a 0-based number, where the first layout is 0 and then count up through the stage display layouts in the order shown in ProPresenters list of stage display layouts.
82114

index.js

+10-8
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ instance.prototype.config_fields = function () {
4646
id: 'host',
4747
label: 'ProPresenter IP',
4848
width: 6,
49+
default: '127.0.0.1',
4950
regex: self.REGEX_IP
5051
},
5152
{
@@ -70,13 +71,14 @@ instance.prototype.config_fields = function () {
7071
width: 2,
7172
regex: self.REGEX_NUMBER
7273
},
73-
{
74-
type: 'dropdown',
75-
label: 'Connect to StageDisplay (Only required for video countdown timer)',
76-
id: 'use_sd',
74+
{
75+
type: 'dropdown',
76+
label: 'Connect to StageDisplay (Only required for video countdown timer)',
77+
id: 'use_sd',
7778
default: 'no',
78-
choices: [ { id: 'no', label: 'No' }, { id: 'yes', label: 'Yes' } ]
79-
},
79+
width: 8,
80+
choices: [ { id: 'no', label: 'No' }, { id: 'yes', label: 'Yes' } ]
81+
},
8082
{
8183
type: 'textinput',
8284
id: 'sdport',
@@ -1189,7 +1191,7 @@ instance.prototype.init_feedbacks = function() {
11891191
}
11901192
]
11911193
};
1192-
1194+
11931195
self.setFeedbackDefinitions(feedbacks);
11941196
}
11951197

@@ -1245,7 +1247,7 @@ instance.prototype.onWebSocketMessage = function(message) {
12451247
self.updateVariable('current_slide', slideIndex + 1);
12461248
if (objData.presentationPath == self.currentState.internal.presentationPath) {
12471249
// If the triggered slide is part of the current presentation (for which we have stored the total slides) then update the 'remaining_slides' dynamic variable
1248-
// Note that, if the triggered slide is NOT part of the current presentation, the 'remaining_slides' dynamic variable will be updated later when we call the presentationCurrent action to refresh current presentation info.
1250+
// Note that, if the triggered slide is NOT part of the current presentation, the 'remaining_slides' dynamic variable will be updated later when we call the presentationCurrent action to refresh current presentation info.
12491251
self.updateVariable('remaining_slides', self.currentState.dynamicVariables['total_slides'] - slideIndex - 1);
12501252
}
12511253

0 commit comments

Comments
 (0)