UNPKG

propresenter-parser

Version:

Parses ProPresenter 4, 5, and 6 files to extract the data, and can build ProPresenter 5 and 6 files

69 lines (68 loc) 1.75 kB
import { IProElementPosition, IRgbColor } from '../shared.model'; export interface IPro5Song { properties: IPro5Properties; arrangements: IPro5Arrangement[]; slideGroups: IPro5SlideGroup[]; } export interface IPro5Properties { CCLIArtistCredits: string; CCLICopyrightInfo: string | number; CCLIDisplay: boolean; CCLILicenseNumber: string | number; CCLIPublisher: string; CCLISongTitle: string; album: string; artist: string; author: string; backgroundColor: IRgbColor; category: string; creatorCode: number; chordChartPath: string; docType: number | null; drawingBackgroundColor: boolean; height: number; lastDateUsed: Date; notes: string; resourcesDirectory: string; usedCount: number; versionNumber: number; width: number; } export interface IPro5Arrangement { label: string; color: IRgbColor; groupOrder: IPro5ArrangementSlideGroup[]; } export interface IPro5ArrangementSlideGroup { groupLabel: string; groupId: string; } export interface IPro5SlideGroup { groupLabel: string; groupId: string; groupColor: IRgbColor | null; slides: IPro5Slide[]; } export interface IPro5Slide { backgroundColor: IRgbColor; chordChartPath: string; enabled: boolean; highlightColor: IRgbColor | null; id: string; label: string; notes: string; mediaCues: IPro5SlideMediaCue[]; textElements: IPro5SlideTextElement[]; } export interface IPro5SlideMediaCue { displayName: string; source: string; } export interface IPro5SlideTextElement { color: IRgbColor; font: string; position: IProElementPosition; rawRtfContent: string; size: number; textContent: string; }