UNPKG

maia-util

Version:

Utility math and music functions supporting various applications by Music Artificial Intelligence Algorithms, Inc.

57 lines (54 loc) 1.31 kB
export default function default_page_and_system_breaks(staff_and_clef_names, final_bar_no){ // Tom Collins 1/3/2015. // In // staff_and_clef_names Array mandatory // final_bar_no Integer mandatory // Out Array // If the page_breaks and system_breaks variables are empty, this function // will populate them with default values based on the number of staves and // bars. var page_breaks = []; var system_breaks = []; var nos_staves = staff_and_clef_names.length; switch (nos_staves){ case 1: var sbreak = 4; var pbreak = 10*sbreak; break; case 2: var sbreak = 4; var pbreak = 5*sbreak; break; case 3: var sbreak = 4; var pbreak = 3*sbreak; break; case 4: var sbreak = 4; var pbreak = 2*sbreak; break; case 5: var sbreak = 4; var pbreak = 2*sbreak; break; case 6: var sbreak = 4; var pbreak = 2*sbreak; break; default: var sbreak = 4; var pbreak = sbreak; break; } var curr_bar = sbreak; while (curr_bar < final_bar_no){ if (curr_bar%pbreak == 0){ page_breaks.push(curr_bar + 1); } else{ system_breaks.push(curr_bar + 1); } curr_bar = curr_bar + sbreak; } return [page_breaks, system_breaks]; }