def load_file(root_path):
    # parser the data
    dir_list = os.listdir(root_path)
    dir_list.sort()
    file_name = []
    file_num = []
    for dir in dir_list:
        tmp_name = os.listdir(os.path.join("./raw_classical_music_data",dir))
        tmp_name.sort()
        file_name.append(tmp_name)
        file_num.append(len(tmp_name))
    print("Num of file in each dir : " ,file_num)

    # Parse a MIDI file to a `pypianoroll.Multitrack` instance
    data_list = []
    for i,dir in enumerate(dir_list):
        print("\rPhraser the data : %d/%d" %(i+1,len(dir_list)), end = "")
        for name in file_name[i]:
            file_path = os.path.join('./raw_classical_music_data',dir,name)
            tmp_pypianoroll = Multitrack(file_path)
            tmp_pypianoroll.remove_empty_tracks()
            tmp_pypianoroll.pad_to_multiple(length_Section*length_tab)
            tmp_np = tmp_pypianoroll.get_stacked_pianoroll()
            data_list.append(tmp_np)
    data_list = np.array(data_list)
    #np.save("all_data.npy",data_list)
    print("")
    print("finish praser the data...")
    return data_list
def test():
    tmp_pypianoroll = Multitrack("./mz_545_1.mid")
    print(tmp_pypianoroll.tracks[0])
    tmp_pypianoroll.remove_empty_tracks()
    tmp_np = tmp_pypianoroll.get_stacked_pianoroll()

    tarck1 = tmp_np[:960,:,0]
    tarck2 = tmp_np[:960,:,1]
    tarck1 = tarck1 > 0.1
    tarck2 = tarck2 > 0.1

    tarck1 = Track(tarck1, program=0, is_drum=False, name='unknown')
    tarck2 = Track(tarck2, program=0, is_drum=False, name='unknown')


    cc = Multitrack(tracks=[tarck1,tarck2], tempo=120.0,beat_resolution=24)

    #print(cc)
    cc.write('test_2.mid')