This removes the data_structures module, replacing it with df_utils, which contains 2 functions:
clean_df(df, single_track=False, non_overlapping=False): This sorts the df, reduces it to the correct columns in the standard order, and optionally flattens the tracks and fixes overlaps.
remove_pitch_overlaps(df): This removes overlapping notes on the same track and pitch. It is called by clean_df.
This moves the read_csv functionality to midi.csv_to_df (and renames the midi module to fileio).
This adds single_track=False and non_overlapping=False args to all fileio.to functions, except for fileio.dfto* (where it is assumed that you can call clean_df first).
This adds tests for all new and changed functionality, and removes now obsolete tests.
I ensured that ACME is still identiacal to ACMEv1.1, with the same seed, and that all tests pass.
Fixes #130
Fixes #106 (those functions are no longer present)
This removes the data_structures module, replacing it with df_utils, which contains 2 functions:
This moves the read_csv functionality to midi.csv_to_df (and renames the midi module to fileio).
This adds single_track=False and non_overlapping=False args to all fileio.to functions, except for fileio.dfto* (where it is assumed that you can call clean_df first).
This adds tests for all new and changed functionality, and removes now obsolete tests.
I ensured that ACME is still identiacal to ACMEv1.1, with the same seed, and that all tests pass.