This is a reverse-engineered description of the Pro6 file format used in ProPresenter6. This work is in no way affiliated with or authorized by RenewedVision(c) with the exception that we all serve the same Lord, Jesus Christ.
last updated 2019/10/14
The file is an xml file with base64 encoded strings. Slide text is mainly expressed as RTF strings. More details below under section [todo: NSString]
The file begins with tag <?xml version="1.0" encoding="utf-8"?>
graph LR
RVPresentationDocument --> RVTimeline
RVPresentationDocument --> groups-RVSlideGrouping
RVPresentationDocument --> arrangements-?
RVTimeline --> timeCues-?
RVTimeline --> mediaTracks-?
groups-RVSlideGrouping --> slides-RVDisplaySlide
slides-RVDisplaySlide --> cues-?
slides-RVDisplaySlide --> displayElements-array
displayElements-array --> RVTextElement
RVTextElement --> RVRect3D
RVTextElement --> shadow
RVTextElement --> dictionary
RVTextElement --> NSString-PlainText
RVTextElement --> NSString-RTFData
RVTextElement --> NSString-WinFlowData
RVTextElement --> NSString-WinFontData
click groups-RVSlideGrouping "https://#RVSlideGrouping" "tooltip"
click RVTextElement "https://#RVTextElement" "tooltip"
Tags and their respective attributes & children are described below.
Describes the ProPresenter document.
- height - "1080" Height of document in pixels
- width - "1920" Width of document in pixels
- docType - "0" [Where is type stored?]
- versionNumber - "600" [version of what?]
- usedCount - "0"
- backgroundColor - "0 0 0 1"
- drawingBackgroundColor - "false"
- CCLIDisplay - "false"
- lastDateUsed - ""
- selectedArrangementID - "" [likely UUID]
- category - "Presentation"
- resourcesDirectory - ""
- notes - ""
- CCLISongTitle - ""
- chordChartPath - ""
- os - "1" [for Windows?]
- buildNumber - "6016" [where to find?]
- RVTimeline
- array: groups - Array of RVSlideGrouping
- array: arrangements
Timeline information container
- timeOffset - "0"
- duration - "0"
- selectedMediaTrackIndex - "-1"
- loop - "false"
- rvXMLIvarName - "timeline"
- array: timecues - ?
- array: mediaTracks -?
A slide group. All slide groups are stored in array: groups located in the main RVPresentationDocument.
- name - "" Name of slide group
- color - "1 1 1 0" Color of slide group
- uuid - uuid version 1 or 4? (does it make a matter?)
- array: slides - Array of RVDisplaySlide
A slide. Slides are stored in the array: slides belonging to an RVSlideGrouping.
- backgroundColor - "1 1 1 0"
- highlightColor - ""
- drawingBackgroundColor - "false"
- enabled - "true"
- hotKey - ""
- label - ""
- notes - ""
- UUID - uuid
- chordChartPath - ""
- array: cues
- array: displayElements - Array of RVTextElement
A text element holder within a RVDisplaySlide
- displayName - "Default"
- UUID - uuid
- typeID - "0"
- displayDelay - "0"
- locked - "false"
- persistent - "0"
- fromTemplate - "false"
- opacity - "1"
- source - ""
- bezelRadius - "0"
- rotation - "0"
- drawingFill - "false"
- drawingShadow - "false"
- drawingStroke - "false"
- fillColor - "1 1 1 1"
- adjustsHeightToFit - "false"
- verticalAlignment - "0"
- revealType - "0"
- RVRect3D: position - ex: {56 42 0 1808 996} ?
- shadow: shadow - ex: 4|0 0 0 1|{2.82843, -2.82843}
- dictionary: stroke
- NSColor: RVShapeElementStrokeColorKey - ex: 1 1 1 1
- NSNumber: RVShapeElementStrokeWidthKey (double) - ex: 0
- NSString: PlainText - Plaintext string (base64)
- NSString: RTFData - RTF formatted string (base64)
- NSString: WinFlowData - ? (base64) Windows specific / will render without
- NSString: WinFontData - ? (base64) Windows specific / will render without