예제 #1
0
def main():
    music_folder = os.path.expanduser("~/Music/SamPi/")
    files = Files(music_folder)
    audio_files = []
    print("init MFRC522")
    reader = SimpleMFRC522()
    playing = None
    none_counter = 0

    while True:
        # read tag
        id = reader.read_id_no_block()

        # no tag
        if not id:
            none_counter += 1
            if none_counter > 1 and playing:
                print("stopping playback")
                playing = None
                Audio.stop()

        else:
            none_counter = 0

            # new tag detected
            if playing != id:
                none_counter = 0
                Audio.stop()
                audio_files = files.get_audio_files(str(id))
                audio_files.sort()

                if audio_files:
                    print("playing {}".format(id))
                    playing = id
                    audio_files = Audio.play(audio_files)
                else:
                    print("unknown tag:", id)

            # continue playback
            elif audio_files:
                audio_files = Audio.play(audio_files)
예제 #2
0
def main(music_folder: str, disable_menu: bool, enable_rfid: bool):
    music_folder = os.path.expanduser(music_folder)
    files = Files(music_folder)
    audio_files = []
    queue = Queue()
    t = Menu.start_kbd_listener_thread(queue, music_folder)

    # main loop
    loop = True
    while loop:
        if audio_files:
            audio_files = Audio.play(audio_files)
        if not queue.empty():
            key = queue.get()
            if key == "q":
                print("The End")
                t.join()
                loop = False
            else:
                print("{} was selected".format(key))
                Audio.stop()
                audio_files = files.get_audio_files(key)
                audio_files = Audio.play(audio_files)