Skip to content

Repository files navigation

alt tag

Release Build Pre-release Build

A free and open source presentation software package for Churches, providing display of Bible verses, songs, notifications, and custom slides to a secondary displays, typically a projector, monitor or television.

  Get it from the Snap Store   Download on the App Store

Requirements:

  • Windows 10 x64 22H2 or higher (most testing occurs on Windows 11)
  • Ubuntu 22.04 x64 or higher
  • Mac OS 10.15 to 27 (when Rosetta support is ended)
  • Plenty of RAM (4 or more)
  • A decent/recent multicore CPU
  • At least 2 video outputs

Features:

  • Free, no cost, no ads, nothing.
  • Multiple screen support (limited only by the number of physically connected displays)
  • Display Bible verses
  • Display song lyrics
  • Display custom slides
  • Fully customizable templates for displaying Bible verses, song lyrics, and notifications
  • Support for huge number of picture, video, audio formats
  • Support for transition animations between slides, Bible verses, song lyrics, etc.
  • Support for creating and editing Bibles, songs, and slides
  • Support for displaying two languages side-by-side when presenting Bible verses and song lyrics
  • Support for displaying notifications/alerts
  • Support for "workspaces" where you can split your assets between different services
  • Support for export/import of content (build at home, export, import at church)
  • Support for adding slides to a service queue (no auto-play yet)
  • Support for bulk editing Bible verses/song lyrics
  • And more!

Screenshots:

Workspace Selection Workspaces allow you to collect all your assests (Bibles, song lyrics, videos, pictures, etc.) in a single location. You could create one workspace for Bible study nights and separate workspace for worship services or a third workspace for youth services or special events.

Multiple Outputs Praisenter allows you to send content to each display independently. The number of displays is dependent on the number of video outputs your system supports.

Multiple Output

Sample Output Display Bible verses, song lyrics, pictures, videos, custom slides, and notifications.

Sample Output

Two-Language Display Present side-by-side two languages (or two versions) when presenting Bible verses or song lyrics.

Two Language Display

Editing With Praisenter you can create Bibles, song lyrics, and slides that include pictures, videos, and audio. Slides can have backgrounds, static text, dynamic text, the current date/time, count downs, pictures, animations, and more.

Editing

Export/Import Since Praisenter is free, you can download it anywhere, and build content. After building that content you can export it and import it on another computer. This is a great way to prepare content ahead of time.

Export and Import

Relevance Searching Other features include Bible searching, edit safety, notification overlays, slide queuing, text scaling, and more.

Relevance Searching

Media Support Praisenter can import hundreds of different media file formats. Upon importing, Praisenter will convert them to an optimized form. You can change (or turn off) this feature to fit your workflow.

Media Formats

Bulk Editing Bibles and songs lyrics support bulk editing for easy copy/paste from other sources or fast transcription.

Bulk Editing

Building:

Install WiX Toolset 6.x: https://github.com/wixtoolset/wix/releases

Maven

mvn clean install

Microsoft Store

https://partner.microsoft.com/en-us/dashboard/products

Ubuntu Snap

# to build the snap, navigate to the /snapcraft folder, copy the praisenter.deb there, then run
snapcraft pack
# to install a locally built snap
sudo snap install --devmode ./praisenter.snap
# to uninstall a snap
sudo snap remove praisenter

# to list interfaces
snap connections praisenter
# to connect interfaces
snap connect praisenter:avahi-control
# to disconnect interfaces
snap disconnect praisenter:avahi-control

# to upload a new snap to the snapstore
snapcraft login
snapcraft upload ./praisenter_3.1.3_amd64.snap

FFmpeg Static Builds

https://github.com/BtbN/FFmpeg-Builds

Git LFS

The FFmpeg binaries are too large for GitHub to track so they are stored in Git LFS.

To update the files, ensure that when you clone the repo that you initialize Git LFS:

git lfs install

To install Git LFS: https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage

Current Git LFS tracked objects:

git lfs track src/main/resources/org/praisenter/data/media/tools/linux64/ffmpeg
git lfs track src/main/resources/org/praisenter/data/media/tools/linux64/ffprobe
git lfs track src/main/resources/org/praisenter/data/media/tools/windows64/ffmpeg.exe
git lfs track src/main/resources/org/praisenter/data/media/tools/windows64/ffprobe.exe
git lfs track packaging/macos64/app/exec/ffmpeg
git lfs track packaging/macos64/app/exec/ffprobe

macOS deployment

The bash scripts used below recreate some of the jpackage steps but are different due to additional native code used on MacOS, embedded executables, and custom packaging/signing to meet the App Store requirements.

  • Make sure provisioning profiles are stored in packaging/macos64/app/content (or replace if expired), download from https://developer.apple.com/account/resources/profiles/list
  • Make sure certificates (Developer ID Application, Developer ID Installer, Mac App Distribution, Mac Installer Distribution) are installed (or replace if expired), download from https://developer.apple.com/account/resources/certificates/list
  • Run maven build from Eclipse to produce an unsigned "app-image" (the Praisenter.app file)
  • Run either the package-store.sh or package-adhoc.sh to generate an installer pkg file
  • Use the pkg generated by the package-adhoc.sh script to test locally:
    • Delete the Praisenter.app from /Applications
    • Delete the Praisenter.app from the target folder
    • Delete the pkg-work folder in the target folder
    • Double click the pkg file to install
    • Test by running from /Applications
  • Use the Transporter app to upload the pkg file to App Store Connect
    • NOTE: this pkg cannot be tested locally
    • Once uploaded to App Store Connect, you can use TestFlight to test these builds

macOS Marketing Tool

https://toolbox.marketingtools.apple.com/en-us/app-store/us/app/6756894623

macOS Icon Composer

Icons for the application were created using Icon Composer. This tool creates the newer version of icons in the Assets.car and the legacy .icns file for older OSes.

The editable file is /packaging/macos64/Praisenter.icon. The creation of the icon involved splitting the standard SVG icon into layers and tweaking the settings in Icon Composer. From there, I created a dummy XCode project, added the icon to it and built it. In the output directory for the dummy project contained the Assets.car file that I manually add to the app package and reference from the Info.plist.

macOS .icns file

Follow the process outlined here and repeated below, just in case that gist is removed.

Create images

Name Dimensions
icon_16x16.png 16x16
icon_16x16@2x.png 32x32
icon_32x32.png 32x32
icon_32x32@2x.png 64x64
icon_128x128.png 128x128
icon_128x128@2x.png 256x256
icon_256x256.png 256x256
icon_256x256@2x.png 512x512
icon_512x512.png 512x512
icon_512x512@2x.png 1024x1024

Creating an .iconset

  1. Move all of the images into a new folder
  2. Rename the folder to: icon.iconset
  3. Confirm the file extension when prompted

This will convert the folder of images into an iconset, this can be verified by quick looking with the spacebar - a resizable preview of your icon should now appear.

Converting to .icns

  1. Navigate to the directory containing your icon.iconset in the terminal
  2. Run iconutil with the following command: iconutil -c icns icon.iconset
  3. Your icon.icns will be generated in the current directory

About

Free Church Presentation Software

Resources

Stars

46 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages