PHP 8.4 library and CLI tools to read, modify, and generate ProPresenter 7 files: songs (.pro), playlists (.proplaylist), bundles (.probundle), themes, and the global library files (Macros, Labels, Groups, ClearGroups, CCLI, Messages, Timers, Stage, Workspace, Props, TestPatterns, Calendar, KeyMappings, CommunicationDevices). Built on the MIT-licensed ProPresenter7-Proto schema by greyshirtguy (v7.16.2). Includes 18 CLI parsers, comprehensive API docs in doc/, binary-format specs, and a synthetic 369-test PHPUnit suite covering RTF extraction, translation slides, ZIP64 repair, round-trip fidelity, and end-to-end generation.
61 lines
1.5 KiB
JSON
61 lines
1.5 KiB
JSON
{
|
|
"name": "bussnet/propresenter7-php-api",
|
|
"description": "PHP library to read, modify, and generate ProPresenter 7 files (.pro songs, .proplaylist, .probundle, themes, and global library files).",
|
|
"type": "library",
|
|
"license": "MIT",
|
|
"keywords": [
|
|
"propresenter",
|
|
"propresenter7",
|
|
"presentation",
|
|
"worship",
|
|
"church",
|
|
"protobuf",
|
|
"parser",
|
|
"ccli",
|
|
"pro-file",
|
|
"proplaylist",
|
|
"probundle"
|
|
],
|
|
"homepage": "https://github.com/bussnet/propresenter7-php-api",
|
|
"support": {
|
|
"issues": "https://github.com/bussnet/propresenter7-php-api/issues",
|
|
"source": "https://github.com/bussnet/propresenter7-php-api"
|
|
},
|
|
"authors": [
|
|
{
|
|
"name": "Thorsten Buss",
|
|
"role": "Developer"
|
|
}
|
|
],
|
|
"require": {
|
|
"php": "^8.4",
|
|
"google/protobuf": "^4.0"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^11.0"
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"ProPresenter\\Parser\\": "src/",
|
|
"Rv\\Data\\": "generated/Rv/Data/",
|
|
"GPBMetadata\\": "generated/GPBMetadata/"
|
|
}
|
|
},
|
|
"autoload-dev": {
|
|
"psr-4": {
|
|
"ProPresenter\\Parser\\Tests\\": "tests/"
|
|
}
|
|
},
|
|
"bin": [
|
|
"bin/parse-song.php",
|
|
"bin/parse-playlist.php"
|
|
],
|
|
"scripts": {
|
|
"test": "phpunit",
|
|
"test:coverage": "phpunit --coverage-text"
|
|
},
|
|
"config": {
|
|
"sort-packages": true
|
|
}
|
|
}
|