All facets now come with an additional quarterbeats_all_endings column that does not exclude first, and third endings from the computation of quarterbeats. The main purpose of this column is score addressability. Whereas the quarterbeats column (already included by default) is an attempt at a "logical timeline" representing a single playthrough (rather than a full, "unfolded", playthrough with all repeats), this columns is the "printed timeline" for all score elements in the order in which they occur in the score, without taking into account logical non-succession in the case of alternative endings (voltas). c7ea76d...095c36f
In 'unfolded' facet dataframes that represent a full playthrough, the quarterbeats column will now be called quarterbeats_playthrough (it is computed using the mc_playthrough column) for matters of clarity. The new quarterbeats_all_endings column, on the other hand, always displays the same values based on the mc, no matter how often this MC is repeated. This enables score addressability for elements in unfolded dataframes, too. c7ea76d
Frictionless schemas are now stored at DCMLab/frictionless_schemas. This is achieved by including this repo as submodule and changing the frictionless_helpers/SCHEMAS_DIR constant. The "old" schemas will remain at https://github.com/johentsch/ms3/tree/main/schemas (and be included in every release's archive) until no dataframes "in production" refer to this address anymore, at which point they will be sunset.
Does away with the creation of frictionless resource descriptors for events tables as justified in fee20c4
Changes to frictionless schemas:
changes the dtype of composed_start and composed_end metadata columns to a string with a regex constraint allowing for 3- and 4-digit year numbers and .. (adopted from the Extended Date Time Format (EDTF) standard). 4717749
schemas are now created with used_in=piece_name metadata, storing the first name of the first piece responsible for creating it. The purpose is traceability and inspection. b9f255a
chords facet stripped of empty columns 2f38e40
rests facets is None if no rests present in the score 12b8b07
notes_and_rests facet corresponds to the one facet if the other is empty 5983fb5
renames the column metronome_visible in chords facets to tempo_visible 4d4b9f9
quarterbeats_all_endings
column that does not exclude first, and third endings from the computation of quarterbeats. The main purpose of this column is score addressability. Whereas thequarterbeats
column (already included by default) is an attempt at a "logical timeline" representing a single playthrough (rather than a full, "unfolded", playthrough with all repeats), this columns is the "printed timeline" for all score elements in the order in which they occur in the score, without taking into account logical non-succession in the case of alternative endings (voltas). c7ea76d...095c36fquarterbeats
column will now be calledquarterbeats_playthrough
(it is computed using themc_playthrough
column) for matters of clarity. The newquarterbeats_all_endings
column, on the other hand, always displays the same values based on themc
, no matter how often this MC is repeated. This enables score addressability for elements in unfolded dataframes, too. c7ea76dfrictionless_helpers/SCHEMAS_DIR
constant. The "old" schemas will remain at https://github.com/johentsch/ms3/tree/main/schemas (and be included in every release's archive) until no dataframes "in production" refer to this address anymore, at which point they will be sunset.events
tables as justified in fee20c4composed_start
andcomposed_end
metadata columns to a string with a regex constraint allowing for 3- and 4-digit year numbers and..
(adopted from the Extended Date Time Format (EDTF) standard). 4717749used_in=piece_name
metadata, storing the first name of the first piece responsible for creating it. The purpose is traceability and inspection. b9f255aNone
if no rests present in the score 12b8b07metronome_visible
in chords facets totempo_visible
4d4b9f9