import slider as sl
import sound_process
from tkinter import filedialog as fd
from matplotlib import pyplot as plt

def compare_plot():
    filename = fd.askopenfilename()
    beatmap = sl.Beatmap.from_path(filename)
    timing = beatmap.timing_points[0]
    bpm = timing.bpm
    offset = timing.offset.total_seconds() * 1000
    data = sound_process.process_song(beatmap.audio_filename, bpm, offset0=offset, n_iter_2=48, divisor=4)
    
    timings, amplitudes, freqs = [x[0].total_seconds() for x in data], [x[1] for x in data], [x[2] for x in data]

    original_times = [x.time.total_seconds() for x in beatmap.hit_objects(spinners=False) if x.time.total_seconds() <= timings[len(timings) - 1]]

    #bx.scatter(original_times, ys=10, zs=0)
    plt.scatter(timings, [1 if amplitudes[i] > 1000 else 0 for i in range(len(amplitudes))], marker="x", c="red")
    for x in original_times:
        plt.axvline(x=x)

    plt.show()

def main():
    compare_plot()

if __name__ == "__main__":
    main()
