Sean Meighan

Software => Enhancement Requests => Topic started by: derekb on December 16, 2016, 08:18:48 AM

Title: Scheduler Enhancement
Post by: derekb on December 16, 2016, 08:18:48 AM
It would be nice if I could pause a show that is running, run a sequence, then have the scheduled show pick right back up. Maybe have some options for continue, like "continue where show left off", "continue at point in time", "run the entire show even if it goes over on time", "continue running show and stop at scheduled time off". What I am wanting to do is in the event that traffic gets out of control or visitors are not following the rules to be able to stop the show and run a sequence about traffic or rules, then have the show continue.
Title: Re: Scheduler Enhancment
Post by: kevinp on December 16, 2016, 09:39:30 AM
The scheduler portion of xLights has not been touched in a couple years.  The developers pick and choose what they want to create and/or enhance within the program.  I believe they all use the Falcon Pi Player to schedule and run their shows, so I doubt any of the current developers will enhance the xLights scheduler.  But you never know.
Title: Re: Scheduler Enhancment
Post by: tindivall on December 20, 2016, 08:37:32 PM
The scheduler portion of xLights has not been touched in a couple years.  The developers pick and choose what they want to create and/or enhance within the program.  I believe they all use the Falcon Pi Player to schedule and run their shows, so I doubt any of the current developers will enhance the xLights scheduler.  But you never know.

True enough, but this is the Enhancement Request section so as good place as any to ask for scheduler enhancements! :)


I would like to 2nd the OP's post!

I also recently learned about the MIIP program for LOR that allows visitors watching the show the ability to control which song plays next in the show, that would be a neat feature to look into someday!
Title: Re: Scheduler Enhancment
Post by: Gilrock on December 20, 2016, 08:55:46 PM
Yeah good luck with those requests.
Title: Re: Scheduler Enhancment
Post by: dkulp on December 20, 2016, 09:08:09 PM

Honestly, I've debated completely removing the entire scheduler code...
Title: Re: Scheduler Enhancment
Post by: keithsw1111 on December 20, 2016, 09:11:32 PM
I agree dan but I think we still need a scheduler. I just want to see it separate so it doesn't clutter up XLights. Challenge is I also don't want to have to double maintain a bunch of code as well.
Title: Re: Scheduler Enhancment
Post by: Dave Nibeck on December 21, 2016, 06:09:49 AM
I would vote to leave the scheduler. Makes for a great backup option just in case.

Sent from my Nexus 6P using Tapatalk

Title: Re: Scheduler Enhancment
Post by: tindivall on December 21, 2016, 07:35:50 AM
Yeah good luck with those requests.

Such a wonderful ray of sunshine.



Honestly, I've debated completely removing the entire scheduler code...

While you and others may not use it there are those who do, myself being one.  I would request that it not be removed.
Title: Re: Scheduler Enhancment
Post by: dkulp on December 21, 2016, 07:39:00 AM
FYI:  The scheduler is the main reason we still have the "Tab" Window.   If it was removed, the "setup" stuff would go into a dialog of some sort, the Layout stuff would go into a separate floatable window and the space for the tabs could be reclaimed.   The problem is that much of the scheduler code is tied directly to which tab is "active".  Thus, doing any more tab reduction stuff requires completely re-doing a ton of scheduler code.  Since none of the devs actually use the scheduler (and thus wouldn't even know how to start testing any changes), we all kind of don't want to touch it.   
Title: Re: Scheduler Enhancment
Post by: tindivall on December 21, 2016, 07:44:47 AM
FYI:  The scheduler is the main reason we still have the "Tab" Window.   If it was removed, the "setup" stuff would go into a dialog of some sort, the Layout stuff would go into a separate floatable window and the space for the tabs could be reclaimed.   The problem is that much of the scheduler code is tied directly to which tab is "active".  Thus, doing any more tab reduction stuff requires completely re-doing a ton of scheduler code.  Since none of the devs actually use the scheduler (and thus wouldn't even know how to start testing any changes), we all kind of don't want to touch it.

I wonder then if it would be possible to make the scheduler its own program in some way.. this way would allow those that don't want it to not have to download and those that do run it along with xlights.   I am not sure where / how to access the code to even begin looking into it.  I haven't coded in 15 years so not sure what / if any help I could be but I wouldn't mind looking at it.
Title: Re: Scheduler Enhancment
Post by: sean on December 21, 2016, 08:13:12 AM
A little History:

2010: xLights was created as a scheduler in 2010 by Matt Brown. He did this because of lag playing his LOR sequences.
2013: Matt Brown takes my Nutcracker php code, rewrites into C++ and creates xLights 3.x. Now xLights is a scheduler AND a sequencer. User interface is like an excel spreadsheet
2014: Matt Brown gets hired by LOR, he exits the xLights development team.
2015: xLights 4.x comes out. User interface is like a video editor. Drop effects on model lines.
xLights is a Scheduler and a Sequencer. scheduler code is still vintage 2012. All work is focused on the Sequencer side of xlights.

No one has touched the scheduler since 2012. I last used xLights scheduler in 2012. Since 2013 all my shows run on FPP. We have lots of stuff we all might put into xLights, the scheduler is very low priority. If you know a developer that might want to work on this, please have him contact me.

No windows based scheduler will ever have the abilities that the Linux based FPP has. Peripherals? hundreds available for raspberry pi. Linux has less lag than windows. We have had a dedicated person working on the FPP scheduler since 2013 (first dave pitts, the original author of FPP and then Capt Murdoch). 4 Years of development just on the scheduler. We can never match that kind of investment.

We are working to integrate xLights to FPP even more. Define stuff in xLights, press a button and FPP gets updated.

The xLights team are a group of developers who take time from family to develop this application for themselves and our community. I appreciate all of the hundreds, thousands of hours that have been given to this project.

So, please make enhancement requests. You never know when a developer will agree and take up the task. Working on the scheduler is just going to be very low priority since every developer has been running their show on FPP's for years.

Title: Re: Scheduler Enhancment
Post by: Gilrock on December 21, 2016, 09:00:45 AM
Enhancements posted on the forum just get buried and forgotten about anyways.
Title: Re: Scheduler Enhancment
Post by: Phrog30 on December 21, 2016, 11:47:49 AM
What Gil is saying is to post enhancements here,
https://github.com/smeighan/xLights/issues (https://github.com/smeighan/xLights/issues)



Sent from my Pixel using Tapatalk

Title: Re: Scheduler Enhancment
Post by: ozaz on January 03, 2017, 06:26:20 PM
or, if inclined, add enhancement ideas to this thread as well https://auschristmaslighting.com/forums/index.php/topic,9491.0.html (https://auschristmaslighting.com/forums/index.php/topic,9491.0.html)
Title: Re: Scheduler Enhancment
Post by: CaptainMurdoch on January 03, 2017, 06:48:17 PM
One path forward may end up being a way to run FPP under Windows.  We are already contemplating distributing an x86 version of FPP that could be installed in a VM or on bare hardware.  Another less likely option is a version of FPP that runs under Cygwin or something similar.  If we get to this point, potentially xLights could include a version of FPP for the scheduler/player portion.  There are several ways we could have xLights drive pixel data to FPP during sequencing to allow viewing the sequence on the lights.
Title: Re: Scheduler Enhancment
Post by: barlav on January 04, 2017, 09:02:14 AM
I added a custom queue feature last year that allowed me to add a "remote control" so viewers can select the songs right from their phones. This basically does what the op is looking for.  It stops the running schedule, plays the requested song(s) and then returns to the regular schedule. It doesn't pause and resume a running sequence though...it stops it, plays a requested song, and then restarts it.

My show runs a random/repeating playlist. When user requests a song xlights stops, plays the song and then starts the random playlist again when finished. The changes are rudimentary at this point but it worked great for me this season.

Let me know if you're interested and I'll send you the modified xlights program that you can play around with.
Title: Re: Scheduler Enhancment
Post by: greg s on January 23, 2017, 10:00:46 AM
Barlav,
I would be interested in this.  I have been using just such a feature with LOR for several years using a phone interface system and it works exactly as you described.  I am hoping to move over to XL/Nutcracker completely if I can get this feature working.

Basically how I am set up now is each runs a script that replaces the currently scheduled show, if there is no que it then defaults back to a looping show with several songs in it.  Once again currently doing this with LOR.

People that have visited the display in the past really love this feature, especially the teenagers my son being one of them.

If your wouldn't mind sharing I would really appreciate it.

Greg
Title: Re: Scheduler Enhancment
Post by: barlav on January 31, 2017, 11:04:18 AM
xLights with queue modifications for anyone interested: (This includes an instructional document as well)

https://www.dropbox.com/sh/i5yt9klkx3d5kmh/AAD78-XzyQJZsmAgRUzK1qEea?dl=0

Archive contains everything needed to run and demo the queue system.  The version of xLights included is 2016.56 for Windows.

Please note that my changes to xLights are rudimentary. I added them quickly to get it working for my specific needs. I would recommend backing up your files prior to using.

Function:
When xLights is running an active schedule and a simple specific xml file that specifies a playlist is dropped into a specified directory, xLights will play the requested playlist immediately and then return to the original playlist.

xLights scheduler changes that faciliate the queue:
When a queued file is placed, xLights will do the following internally:
   1. Stop schedule.
   2. Move current xlights_schedule.xml to xlights_schedule.save
   3. Create a new xlights_schedule.xml for the requested playlist using same time constraints as original schedule
   4. Start new schedule with the requested playlist
   5. When requested playlist ends schedule will stop. Original schedule will be restored. Original schedule will be started.

I was going to take the time to improve my changes with the scheduling part of the queue system but with the news that Keith is re-writing the scheduler I am going to hold off and wait until that is in production and then migrate over to that. 
Title: Re: Scheduler Enhancment
Post by: keithsw1111 on January 31, 2017, 05:11:09 PM
The song queuing functionality is now in the new scheduler.
Title: Re: Scheduler Enhancment
Post by: derekb on February 01, 2017, 08:20:17 AM
Thanks. This will be fun to play with. Sorry for not answering sooner, I didn't think it would get addressed and just drop any thought of it. But this is cool and this community is awesome!
Title: Re: Scheduler Enhancement
Post by: Boof63 on February 09, 2017, 04:56:28 AM
Had to use scheduler in xlights as stuffed my Pi. it worked a treat and so thanks for leaving ion and updating as well
Boof63 ;D ;D