diff --git a/modules/jingle.py b/modules/jingle.py index a3b8b2d..ff7493d 100644 --- a/modules/jingle.py +++ b/modules/jingle.py @@ -11,21 +11,24 @@ import random from . import PlaylistModifierModule, Track, Path class Module(PlaylistModifierModule): - def __init__(self, file: Path) -> None: - self.file = file.absolute() - assert file.exists() + def __init__(self, primary: Path, secondary: list[Path] = []) -> None: + self.primary = primary.absolute() + assert primary.exists() + self.secondary = [f.absolute() for f in secondary if f.exists()] def modify(self, global_args: dict, playlist: list[Track]) -> list[Track] | None: - if int(global_args.get("no_jingle", 0)) != 0: return None + if int(global_args.get("no_jingle", 0)) != 0 or not self.primary: return None out: list[Track] = [] last_jingiel = True for track in playlist: - if not last_jingiel and (random.randint(1,3) == 1) and self.file and (track.args is None or int(track.args.get("no_jingle", 0)) == 0): + if not last_jingiel and (random.randint(1,3) == 1) and (track.args is None or int(track.args.get("no_jingle", 0)) == 0): out.append(Track(track.path, True, False, True, track.args)) - out.append(Track(self.file, False, False, False, {})) + jingle = self.primary + if self.secondary and (random.randint(1,3) == 1): jingle = random.choice(self.secondary) or self.primary + out.append(Track(jingle, False, False, False, {})) last_jingiel = True continue out.append(Track(track.path, True, True, True, track.args)) last_jingiel = False return out -playlistmod = (Module(Path("/home/user/Jingiel.mp3")), 1) \ No newline at end of file +playlistmod = (Module(Path("/home/user/Jingiel.mp3"), [Path("/home/user/jing2.opus"), Path("Jing3.opus")]), 1) \ No newline at end of file