Exemple #1
0
    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)
Exemple #2
0
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