Module:Infobox MOS: Difference between revisions
Added links to large/small |
Added generator size in mossteps (with tooltip) |
||
| Line 149: | Line 149: | ||
return section_entries | return section_entries | ||
end | |||
-- Helper functino | |||
-- Produces generator sizes in mossteps | |||
function p.generator_mossteps(input_mos) | |||
local input_mos = input_mos or mos.new(5, 2) | |||
local mossteps_per_equave = input_mos.nL + input_mos.ns | |||
local number_of_periods = utils._gcd(input_mos.nL, input_mos.ns) | |||
local mossteps_per_period = mossteps_per_equave / number_of_periods | |||
local bright_gen = mos.bright_gen(input_mos) | |||
local mossteps_per_bright_gen = bright_gen['L'] + bright_gen['s'] | |||
local mossteps_per_dark_gen = mossteps_per_period - mossteps_per_bright_gen | |||
local section_header = '<abbr title="How many steps (L or s) the MOS\'s generator is.">Generator size</abbr>' | |||
local section_entries = { | |||
{string.format("<b>%s</b>", section_header)}, | |||
{"Bright", string.format("%d step%s", mossteps_per_bright_gen, (mossteps_per_bright_gen > 1 and "s" or ""))}, | |||
{"Dark" , string.format("%d step%s", mossteps_per_dark_gen , (mossteps_per_dark_gen > 1 and "s" or ""))}, | |||
} | |||
return section_entries | |||
end | end | ||
| Line 179: | Line 203: | ||
local dark_max_in_cents = et.cents(equalized_ed, dark_gen['L'] + dark_gen['s']) | local dark_max_in_cents = et.cents(equalized_ed, dark_gen['L'] + dark_gen['s']) | ||
local section_header = "Generator | local section_header = "Generator size" | ||
if rat.eq(input_mos.equave, 3) then | if rat.eq(input_mos.equave, 3) then | ||
section_header = section_header .. " in steps of edt" | section_header = section_header .. " in steps of edt" | ||
| Line 459: | Line 483: | ||
local scale_structure = p.scale_structure(tuning_parsed) | local scale_structure = p.scale_structure(tuning_parsed) | ||
p.concatenate_tables(sections, scale_structure) | p.concatenate_tables(sections, scale_structure) | ||
-- Generators in mossteps | |||
local gen_mossteps = p.generator_mossteps(tuning_parsed) | |||
p.concatenate_tables(sections, gen_mossteps) | |||
-- Interval range section | -- Interval range section | ||
| Line 464: | Line 492: | ||
p.concatenate_tables(sections, step_sizes) | p.concatenate_tables(sections, step_sizes) | ||
-- Generator sizes | -- Generator sizes section | ||
local gen_sizes = p.generator_sizes(tuning_parsed) | local gen_sizes = p.generator_sizes(tuning_parsed) | ||
p.concatenate_tables(sections, gen_sizes) | p.concatenate_tables(sections, gen_sizes) | ||