I've just had a quick look through the code base and what I'm thinking you could do is have something like this:
Add settings for "Allow Notifications: " then two selects with half hourly increments i.e: "09:00" to "17:00" and a checkbox to toggle this on or off. Off would be the default.
Inside your lifx_youtube_job you'd have some logic to check those settings and if it's inside the notification window based on the WP timezone settings then you'd fire your function like it does now and if it's not inside that window you'd then use as_schedule_single_action to add it to a queue that starts after the first time in the notification window.
Depending on how you implement that you could just have one breathe effect if there's any new subscribers during the time when notifications were off or you could change multiple actions for each new subscriber. There is the potential that this could be triggering for people with epilepsy if you had a bunch of new subscribers.
I've just had a quick look through the code base and what I'm thinking you could do is have something like this:
lifx_youtube_job
you'd have some logic to check those settings and if it's inside the notification window based on the WP timezone settings then you'd fire your function like it does now and if it's not inside that window you'd then useas_schedule_single_action
to add it to a queue that starts after the first time in the notification window.Depending on how you implement that you could just have one breathe effect if there's any new subscribers during the time when notifications were off or you could change multiple actions for each new subscriber. There is the potential that this could be triggering for people with epilepsy if you had a bunch of new subscribers.