# project code
from adafruit_apds9960.apds9960 import APDS9960
import board, neopixel, digitalio
from analogio import AnalogIn
from adafruit_debouncer import Debouncer
from audiomp3 import MP3Decoder
import time

i2c = board.I2C()
multi_sensor = APDS9960(i2c)

multi_sensor.enable_proximity = True
multi_sensor.enable_gesture = True

# set up audiobusio
try:
    from audioio import AudioOut
except ImportError:
    try:
        from audiopwmio import PWMAudioOut as AudioOut
    except ImportError:
        pass

audio = AudioOut(board.D3)
path = "sounds/"

filename = "me.mp3"
mp3_file = open(path + filename, "rb")
decoder = MP3Decoder(mp3_file)

def play_mp3(filename):
    decoder.file = open(path + filename, "rb")
    audio.play(decoder)
    while audio.playing:
        pass

button = digitalio.DigitalInOut(board.D2)
button.switch_to_input(pull=digitalio.Pull.UP)
button = Debouncer(button)

music = ["control.mp3", "dawn.mp3", "door.mp3", "fever.mp3", "me.mp3"]

sound = False
playlist = -1

while True:
    button.update()
    if button.fell:
        print("sound on")
        if sound:
            sound = False
        else:
            sound = True
    if sound:
        gesture = multi_sensor.gesture()
        if gesture == 4: # right
            print("right")
            playlist = playlist + 1
            play_mp3(music[playlist])
            if playlist == 4:
                print("playlist over")
                playlist = -1
        if gesture == 3: #left
            print("left")
            playlist = playlist - 1
            if playlist == -1:
                playlist = 4
            play_mp3(music[playlist])



# Write your code here :-)
