diff --git a/src/core/events.py b/src/core/events.py index 8652ae4d361868e6dd0efb6cc85c854d40ec6afa..ee0255d3db3c340a727332ef4c0bac6e9e602cf1 100644 --- a/src/core/events.py +++ b/src/core/events.py @@ -103,6 +103,7 @@ class EngineEventDispatcher(): binding = self.attach(TrackServiceHandler) binding.subscribe("on_timeslot_start") + binding.subscribe("on_timeslot_end") binding.subscribe("on_play") binding.subscribe("on_metadata") binding.subscribe("on_queue") diff --git a/src/plugins/trackservice.py b/src/plugins/trackservice.py index 2c3935e53bc96a581418c3efb46262e66d9c9594..f62a67cb943b92a2e233c073a718e7d361c901c1 100644 --- a/src/plugins/trackservice.py +++ b/src/plugins/trackservice.py @@ -62,6 +62,17 @@ class TrackServiceHandler(): self.playlog.set_timeslot(timeslot) + + def on_timeslot_end(self, timeslot): + """ + Called when a timeslot ends. + """ + if timeslot: + self.logger.info(f"Timeslot '{timeslot}' just ended") + self.playlog.set_timeslot(None) + + + def on_queue(self, entries): """ Items have been queued. They are stored to the local playlog, allowing later