All Projects → anthonyeden → ProPresenter-Stage-Display-Python

anthonyeden / ProPresenter-Stage-Display-Python

Licence: GPL-3.0 License
A Python implementation of the ProPresenter Stage Display - for Raspberry Pi

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ProPresenter-Stage-Display-Python

InspireNN
No description or website provided.
Stars: ✭ 13 (-51.85%)
Mutual labels:  presentation
APKenBurnsView
Ken Burns effect with face recognition!
Stars: ✭ 93 (+244.44%)
Mutual labels:  presentation
slides
No description or website provided.
Stars: ✭ 27 (+0%)
Mutual labels:  presentation
live-draw
A tool allows you to draw on screen real-time.
Stars: ✭ 400 (+1381.48%)
Mutual labels:  presentation
BlindJS
BlindJS is a Javascript library that allows blind typing of pre-defined code. So stop worrying about writing valid code and start typing fast as hell!
Stars: ✭ 14 (-48.15%)
Mutual labels:  presentation
RemarkPortable
Remark made simple and portable
Stars: ✭ 24 (-11.11%)
Mutual labels:  presentation
cppcon2015
Repository for the slides and the code of my CppCon 2015 talks.
Stars: ✭ 93 (+244.44%)
Mutual labels:  presentation
nicar tworkshop
Slides for #NICAR18 workshop on collecting and analyzing Twitter data
Stars: ✭ 23 (-14.81%)
Mutual labels:  presentation
stagedisplayviewer
Stage display viewer in java for propresenter
Stars: ✭ 30 (+11.11%)
Mutual labels:  propresenter
markdown-deck
A web component for presenters
Stars: ✭ 15 (-44.44%)
Mutual labels:  presentation
jupyter-django
Using Jupyter Notebook with Django: a presentation
Stars: ✭ 42 (+55.56%)
Mutual labels:  presentation
robotframework-preso
Introduction to Robot Framework - TriTAUG Presentation
Stars: ✭ 16 (-40.74%)
Mutual labels:  presentation
TW-Tamasha
Presentation and slideshow app using web technology based onTiddlywiki
Stars: ✭ 28 (+3.7%)
Mutual labels:  presentation
RepSeP
Reproducible Self-Publishing - Demo Publications in the Most Common Formats
Stars: ✭ 14 (-48.15%)
Mutual labels:  presentation
ShapeCrawler
A .NET library for manipulating PowerPoint presentations.
Stars: ✭ 88 (+225.93%)
Mutual labels:  presentation
talks
Source for all talks I've presented at various conferences
Stars: ✭ 12 (-55.56%)
Mutual labels:  presentation
category-parametric-talk
Talks on category-parametric programming.
Stars: ✭ 22 (-18.52%)
Mutual labels:  presentation
diorama
A set of React.js components to create easy en extendable presentations.
Stars: ✭ 17 (-37.04%)
Mutual labels:  presentation
Image-Detection-Samples
This sample app supports "Building a MVP with Face recognition and AR" and "Quest of a Hero part 2" presentations as well as it has two different possibilities to build face detection mechanism. The first one is OpenCV based and the second one is by means of Camera 2 API
Stars: ✭ 36 (+33.33%)
Mutual labels:  presentation
DroidKaigi2019Presentation
The Flutter presentation that I made at the DroidKaigi conference
Stars: ✭ 23 (-14.81%)
Mutual labels:  presentation

ProPresenter Stage Display for Python

ProPresenter Stage Display for Python

An unofficial Python implementation of the ProPresenter Stage Display.

THIS VERSION HAS BEEN DISCONTINUED. IT WILL NOT WORK IN ANY MAJOR FUTURE RELEASES OF PROPRESENTER (PAST VERSION 6). PLEASE UPGRADE TO THIS NEW VERSION: https://github.com/anthonyeden/ProPresenter-Lyrics-HTML

Currently, this implementation is very basic and designed to implement only three basic features:

  • Clock
  • Current slide text
  • Next slide text

This program has been designed to run on small devices such as the Raspberry Pi.

Installation - General Instructions (non-Raspberry Pi)

  1. Download the software
  2. Install Python2
  3. Copy config-sample.json to config.json
  4. Edit config.json in a text editor and set the IP Address, Port Number, and Password for your ProPresenter Stage Display computer (found in Preferences > Network of your ProPresenter PC).
  5. Run python StageDisplay.py

Installation - Raspberry Pi

  1. Download and install Raspbian Desktop on your Raspberry Pi
  2. Connect your WiFi or Ethernet
  3. Open Terminal and run the following commands:
sudo apt-get install python2 git
git clone https://github.com/anthonyeden/ProPresenter-Stage-Display-Python/
echo "@/home/pi/ProPresenter-Stage-Display-Python/start.sh" >> .config/lxsession/LXDE-pi/autostart
cp ProPresenter-Stage-Display-Python/config-sample.json ProPresenter-Stage-Display-Python/config.json
  1. To edit the configuration, run this command:
nano ProPresenter-Stage-Display-Python/config.json

Ensure you update the IP Address, Port Number & Password for your ProPresenter computer. On your ProPresenter computer, this can be setup in Preferences > Network of your ProPresenter PC.

Press Ctrl + X to close the Nano text editor.

  1. The stage display should now load automatically whenever you login to your Raspberry Pi (there is a 10 second delay to give the Pi a chance to connect to the network). To start it manually, run the following commands from the terminal:
cd /home/pi/ProPresenter-Stage-Display-Python/
python2 StageDisplay.py

Upgrading - Raspberry Pi

  1. Open Terminal and run the following commands:
cd ~/ProPresenter-Stage-Display-Python
git pull

Lower Third Mode (Lyric Subtitles)

You can also use this software to generate Lower Third (or subtitle-style) lyrics from ProPresenter. Now you can have one ProPresenter operator effortelssly generate lyrics for both the main screen and a broadcast/internet feed.

To enable this mode, set 'LowerThirdMode' to true in config.json and restart the application.

After you've enabled this change, the following options may be useful:

"FontSizeCurrent": 35,
"FontName": "Arial",
"FontUppercase": false,
"MergeLines": false,
"MergeLinesMin": 4,
"MergeLinesJoinChar": ",",
"BackgroundColour": "#000000",
"TextColour": "#FFFFFF"

Here's a summary of these options and how you might be able to use them:

  • FontSizeCurrent: This is fairly self-explanatory
  • FontName: Set this to the name of a font installed on your system
  • FontUppercase: This will force all text to be converted to uppercase
  • MergeLines: Enable this to force every 2nd line to join with the previous line. This is useful if you have lots of lines on-screen, but don't want to display them all as separate lines in Lower Third Mode
  • MergeLinesMin: Slides with fewer than this number of lines won't be collapsed
  • MergeLinesJoinChar: This character will be inserted between the two lines that are joined. Best to use a semi-colon or comma.
  • BackgroundColour & TextColour: Specify any six-digit hex string (starting with a # symbol) to change the colour of the text and background

Disabling the Screensaver on a Raspberry Pi

If you run this application on a Raspberry Pi, you're going to need to disable the screensaver. There's a couple of ways to do this, depending on your version of Raspbian:

Method 1

  1. Install XScreensaver, by using the following terminal command:
sudo apt-get install xscreensaver
  1. Open the menu in the top-left corner of your desktop.
  2. Go to Preference > Screensaver.
  3. Select "Disable Screensaver"
  4. Reboot your Pi for the changes to work

Method 2

sudo nano /etc/lightdm/lightdm.conf

Find (Ctrl + W):

#xserver-command=X

Change it to:

xserver-command=X -s 0 dpms

Method 3

Add these lines to /etc/xdg/lxsession/LXDE-pi/autostart:

@xset s noblank 
@xset s off 
@xset -dpms

Known Issues

There are some known issues, although this application is being used reliably week-in, week-out on a Raspberry Pi so it should be good for common usage scenarios. Please see the Issues page for an up to date list of these. Feel free to add your own as you come across them.

Contributing

If you wish to contribute to the development of this little script, please feel free to create a Pull Request.

If you run into any trouble, please create an Issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].