Automatically go live on startup

Is there the ability to automatically go live with a presentation, or perhaps even the first item in a service if the service is loaded on startup?

I realise this is probably not a universal requirement, but I would like for when OpenLP starts up that it would automatically go live with a presentation with a slide or two. Such as 'Welcome to xxxxxx.' and 'Please note the emergency exits' etc. Ideally I would have this loop until something else (like a song or other slide) goes live. Admittedly, all this could be done manually, but I'd like to automate as much as possible.

If this has to be coded, does it make more sense to implement as a plugin with app_startup function using the live_controller to show an item? Or would the order that plugins get initialised at startup be a potential problem?


  • Hi @pobalopalous, there is no way to do that at the moment. The implementation would be a little tricky, you'd definitely have to wait for the plugins to initalise first, and if we do make it a feature, we'd need to make it generic enough to be useful to more than just you. Why don't you pop into our IRC channel and chat with us? Depending on your timezone, try chatting with either tgc (UTC +2) or superfly (that's me, UTC -7).
  • You should probably create a PowerPoint or Libre presentation with timed slide changes and run that via OpenLP or separately.
  • I'll check in with the IRC a little later.

    One other thought I had was to have a separate cronjob running a python script to interact with the Remote plugin. As in perform GET /api/poll and if the response is 200 then OpenLP is running, if the result is something like {"results": {"slide_count": 0, "blank": False, ....}} then nothing is live so use /api/controller/live/set with the appropriate json encoded id for the item that should be shown by default.

    Although not a pure solution, it avoids the complication with plugin startup order.

    I think that would achieve the automatic behaviour I'm looking for. Once someone chooses to make something else go live, blank, shown theme or desktop. Is this more realistic?
  • edited February 2017
    BTW I'm trying out the python script idea...

    import requests
    # Get the status of Display, Blank, Theme or Item
    pollResults = requests.get('http://localhost:4316/api/poll').json()['results'] ...
    # Show the first song welcome = 'http://localhost:4316/api/presentations/live?data={"request": {"id": "/home/Welcome.odp"}}'
    goLiveResults = requests.get(welcome)
    The above works to automatically show the Welcome.odp. Calling /api/poll and evaluating results is in a loop.
    The presentation has a few slides that progress automatically and repeat until something else goes live or 'blank', 'theme', 'desktop' clicked.

    I'm going to check to see how reliable this is and update in a few days.
Sign In or Register to comment.