OpenLP 2.9.2 can't open service files which 2.4.6 can

Just tried OpenLP 2.9.2 for the first time. You appear to have changed how 2.9.2 opens and validates service files which will have a major negative impact for me ..

I like to keep each and every OpenLP service files used at each service. OpenLP files can get HUGE when they contain video or other large media.

The disk space implications are not good ! So ...

I open the HUGE .osz files with 7ZIP (I assume other Zip programs will work) and manually remove the huge files - making the .osz file much smaller.

2.4.6 opens these manually reduced files just fine. It places a red X against the media which it no longer has - but that's fine as (a) I can see the rest of the service and (b) I have a note of what media it was, even if I can't play it directly. This behaviour is great !

However 2.9.2. simply refuses to open the file saying the file is corrupt.

If I can't open my old files, and/or are forced to keep huge files in future, it will have a major negative impact for me.

Can you consider alternative behaviour - ideally reverting to old functionality or adding a strict validation toggle option.

Thanks for listening.


  • Have you tried saving your files as "oszl" which are "lite" OpenLP service files? They retain the link to the media, but don't bundle the media.

  • Raoul,

    Thanks for the quick feedback.

    I assume this is a new option in 2.9.2 as I can't see a way of doing this in 2.4.6 - so this may be a good way forwards for the future.

    But equally I assume that if I upgrade, I'll never be able to open my old, manually reduced files again ?

    Stuart P.

  • I'm pretty sure the option has been there since 2.4.6. When you save the service, change the "type" dropdown from "OpenLP Service" to "OpenLP Service - lite"

  • @Stuart_P All is not lost. There is a way to get it to work...but it involves a bit of editing in addition to the removal of the huge files in the service file.

    The hardest part will be finding the filenames you already removed. Unless you kept track of the filenames you deleted, you will have to compare the filenames in the "service_data.osj' file with the full sized filenames.

    Once you know the missing filename you have two options.

    1. insert a new video file with the missing filename. This would be a placeholder file and could be a 1 sec video file.
    2. edit the service_data.osj file and remove the video file information....this would remove all evidence that video from the service file. I can't tell you the exact steps because I don't use video in my services. I was able to remove a specific image and edit the service_data.osj file and get the file to open on a version of the OpenLP beta release. If you can extract the service_data.osj and post it, then I could show you an example of what to remove.

    Myself, I would use option one after finding the missing filename.

    Either way let us know if we can help.

  • Thank you both for your continued help.

    Raoul : I was sure I'd checked previously, but you're right - the oszl(ite) option is in 2.4.6. I'll start using it ASAP.

    JohnM : I assume the .osj file is in the top level of osz ZIP file. I opened it in NotePad (is anything else better ?)

    Here's an extract of the first few lines ...

    [{"openlp_core": {"lite-service": false, "service-theme": "Bluenote V3"}}, {"serviceitem": {"header": {"processor": "VLC", "search": "", "audit": "", "data": "", "capabilities": [12, 16, 17, 4], "footer": [], "theme": -1, "notes": "", "xml_version": null, "type": 3, "from_plugin": false, "icon": ":/plugins/plugin_media.png", "name": "media", "end_time": 0, "background_audio": [], "timed_slide_interval": 0, "auto_play_slides_loop": false, "auto_play_slides_once": false, "theme_overwritten": false, "media_length": 190, "plugin": "media", "start_time": 0, "will_auto_start": true, "title": "Greatest Day In History (Acapella).MP4"}, "data": [{"display_title": null, "image": ":/media/slidecontroller_multimedia.png", "notes": null, "path": "C:\\Users\\catherine\\AppData\\Roaming\\openlp\\data\\servicemanager", "title": "Greatest Day In History (Acapella).MP4"}]}}, {"serviceitem": {"header": {"processor": null, "search": "", "audit": "", "data": "", "capabilities": [2, 1, 5, 13, 8], "footer": ["Easter : The Easter Shout "], "theme": null, "notes": "", "xml_version": null, "type": 1, "from_plugin": false, "icon": ":/plugins/plugin_custom.png", "name": "custom", "end_time": 0, "background_audio": [], "timed_slide_interval": 0, "auto_play_slides_loop": false, "auto_play_slides_once": false, "theme_overwritten": false, "media_length": 0, "plugin": "custom", "start_time": 0, "will_auto_start": false, "title": "Easter : The Easter Shout"}, "data": [{"raw_slide": "{it}{center}The Easter Shout{/center}{/it}\nAllelulia. Christ is risen!\n{y}{st}He is risen indeed! \nAlleluia, alleluia, alleluia.{/st}{/y}", "verseTag": null, "title": "{it}{center}The Easter Shout{/"}, {"raw_slide": "This is the day that the Lord has made:\n{y}{st}let us rejoice and be glad in it.{/st}{/y}\nThis is the day that the Lord has risen:\n{y}{st}let us rejoice and celebrate.{/st}{/y}\n", "verseTag": null, "title": "This is the day that the Lord "}]}}, 

    I can see the file is made up of 'serviceitem's . The video name seems to appears twice within a single serviceitem ? Do I just delete the whole serviceitem - i.e. from the start of the one with the video all the way to the start of the next ? Or might there be be any embedding or recursion that might confuse things ?

  • @Stuart_P you have the right file and the right Idea. if you have a moving background video file they are normally very small and you can rename it to match the video filename and than place it in the service file....or you can remove the service item for the video. Yes the name is there twice....a word of caution....I would make a copy of the service file and make your edits in the copy of the service file until you get comfortable with editing the file....that way you don't make the original file any worse than it is!

    If you are having trouble removing the video service item, you can post the text (give us about 5 lines before and after what you think is the actual service item) or the file and we can help you select the text to remove.

    I used the edit function in the 7zip console to edit the will save it and ask if you want to update the archive with the saved version of the file....

Sign In or Register to comment.