# Path: msaf/input_output.py
# class FileStruct:
#     def __init__(self, audio_file):
#     def _get_dataset_file(self, dir, ext):
#     def __repr__(self):
# def read_estimations(est_file, boundaries_id, labels_id=None, **params):
# def read_references(audio_path, annotator_id=0):
# def align_times(times, frames):
# def find_estimation(jam, boundaries_id, labels_id, params):
# def save_estimations(file_struct, times, labels, boundaries_id, labels_id,
#                      **params):
# def get_all_boundary_algorithms():
# def get_all_label_algorithms():
# def get_configuration(feature, annot_beats, framesync, boundaries_id,
#                       labels_id):
# def get_dataset_files(in_path):
# def read_hier_references(jams_file, annotation_id=0, exclude_levels=[]):
# def get_duration(features_file):
# def write_mirex(times, labels, out_file):


import argparse
import logging
import time
import pandas as pd
import numpy as np
import msaf
from msaf import input_output as io
#!/usr/bin/env python




def process(in_path, annot_beats=False, feature="mfcc", framesync=False,
            boundaries_id="gt", labels_id=None, n_jobs=4, config=None):
    """Sweeps parameters across the specified algorithm."""

    results_file = "results_sweep_boundsE%s_labelsE%s.csv" % (boundaries_id,
                                                              labels_id)

    if labels_id == "cnmf3" or boundaries_id == "cnmf3":

# Path: msaf/input_output.py
# class FileStruct:
#     def __init__(self, audio_file):
#     def _get_dataset_file(self, dir, ext):
#     def __repr__(self):
# def read_estimations(est_file, boundaries_id, labels_id=None, **params):
# def read_references(audio_path, annotator_id=0):
# def align_times(times, frames):
# def find_estimation(jam, boundaries_id, labels_id, params):
# def save_estimations(file_struct, times, labels, boundaries_id, labels_id,
#                      **params):
# def get_all_boundary_algorithms():
# def get_all_label_algorithms():
# def get_configuration(feature, annot_beats, framesync, boundaries_id,
#                       labels_id):
# def get_dataset_files(in_path):
# def read_hier_references(jams_file, annotation_id=0, exclude_levels=[]):
# def get_duration(features_file):
# def write_mirex(times, labels, out_file):


# Path: examples/run_sweep.py
import argparse
import logging
import time
import pandas as pd
import numpy as np
import msaf
from msaf import input_output as io

#!/usr/bin/env python




def process(in_path, annot_beats=False, feature="mfcc", framesync=False,
            boundaries_id="gt", labels_id=None, n_jobs=4, config=None):
    """Sweeps parameters across the specified algorithm."""

    results_file = "results_sweep_boundsE%s_labelsE%s.csv" % (boundaries_id,
                                                              labels_id)

    if labels_id == "cnmf3" or boundaries_id == "cnmf3":

        config = io.get_configuration(feature, annot_beats, framesync,