propresenter-parser
v1.0.3
Published
Parses ProPresenter 4, 5, and 6 files to extract the data, and can build ProPresenter 5 and 6 files
Downloads
46
Maintainers
Readme
ProPresenter-Parser
ProPresenter is a lyric presentation program used by many churches. This project can parses ProPresenter files to extract the basic data, and build ProPresenter files.
Note: This is not extensive! ProPresenter has a LOT of options and settings around text formatting, cues, timelines, images, etc. The main focus of this project is to parse the song lyrics from files. The ProPresenter file format changes between versions so it's difficult to support everything, however mhe basics should be mostly covered. Check the documentation below for specifics on the version you need.
Supported File Versions
| File Version | Parse/Read | Build/Write | |:-------------|:----------:|:-----------:| |4 | ✅ | 🚫 | |5 | ✅ | ✅ | |6 | ✅ | ✅ | |7 | 🚫 | 🚫 |
About Version 7
ProPresenter 7 has drastically changed the file format. Previously the files were formatted in XML, which is super easy to parse and understand. Version 7 is now in a binary format, which is a bit more difficult to parse in the traditional way. Currently I am unfamiliar with parsing or building files in a binary format, so I am most certainly open to suggestions and PRs! There are some very good blog posts about the ProPresenter 7 file format by GreyShirtGuy and his efforts to extract data using C#: Part 1 and Part 2 | Part 3
For now though, unfortunately ProPresenter 7 files are not able to be parsed by this library. You can export presentations to plain text files (File > Export > Text) to at least get your song lyrics out. If you need to convert these plain text files to other formats you can try using my LyricConverter project: LyricConverter.net | LyricConverter Github
If you need to create a presentation for ProPresenter 7 I recommend creating/building files with the v6 file builder in this project and importing those files into ProPresenter 7.
Installation
npm install propresenter-parser --save