parser.add_argument( "--duration", type=is_valid_duration, default=60, help= "How long to take to transition from the start to end volume, in seconds. Default is 60." ) parser.add_argument("--shuffle", action="store_true", help="Whether to shuffle the playlist.") args = parser.parse_args() if args.start_volume > args.end_volume: raise argparse.ArgumentTypeError( "The start volume must be less than or equal to the end volume.") print("Alarm will ring at " + args.time + ".") wait_until(args.time) print("Alarm ringing!") music_player = MusicPlayer() for dir in args.song_dirs: music_player.enqueue_dir(dir) music_player.play(start_volume=args.start_volume, end_volume=args.end_volume, duration=args.duration, shuffle=args.shuffle)
class PlayerApplication: def __init__(self): # APPLICATION VARIABLES self._volume = 100 self._cur_time = 0 self._max_time = 0 self._repeat = False # PLAYLIST self.playlist = Playlist() # GUI self.qapp = QApplication([]) self.mainwindow = MainWindow(self) # MUSIC PLAYER self.player = MusicPlayer(self) def start(self): self.mainwindow.show() self.qapp.exec_() def update_gui_info(self): self.mainwindow.update_playing_info() def play(self): self.player.play() def pause(self): self.player.pause() def resume(self): self.player.resume() def stop(self): self.player.stop() def next(self): self.player.next() def previous(self): self.player.previous() def get_volume(self): return self._volume def set_volume(self, v): self._volume = v def get_cur_time(self): return self._cur_time def set_cur_time(self, t): self._cur_time = t def get_max_time(self): return self._max_time def set_max_time(self, t): self._max_time = t def get_repeat(self): return self._repeat def set_repeat(self, b): self._repeat = b