Module:Infobox MOS: Difference between revisions

Ganaram inukshuk (talk | contribs)
simplify code for generator size function
Ganaram inukshuk (talk | contribs)
adopt link functions from module:mos
Line 269: Line 269:
local parent_mos, sister_mos, soft_child_mos, hard_child_mos, neutral_mos, soft_flought_mos, hard_flought_mos
local parent_mos, sister_mos, soft_child_mos, hard_child_mos, neutral_mos, soft_flought_mos, hard_flought_mos
parent_mos = mos.parent_mos(input_mos)
parent_mos = mos.parent_mos(input_mos)
sister_mos = mos.sister_mos(input_mos)
sister_mos = mos.sister_mos(input_mos)
Line 276: Line 275:
soft_flought_mos, hard_flought_mos = mos.interleaved_mosses(input_mos)
soft_flought_mos, hard_flought_mos = mos.interleaved_mosses(input_mos)
local parent_scalesig = string.format("[[%s|%s]]", mos.as_long_string(parent_mos), mos.as_string(parent_mos))
local parent_scalesig     = mos.as_link(parent_mos)
local sister_scalesig = string.format("[[%s|%s]]", mos.as_long_string(sister_mos), mos.as_string(sister_mos))
local sister_scalesig     = mos.as_link(sister_mos)
local soft_scalesig = string.format("[[%s|%s]]", mos.as_long_string(soft_child_mos), mos.as_string(soft_child_mos))
local soft_scalesig       = mos.as_link(soft_child_mos)
local hard_scalesig = string.format("[[%s|%s]]", mos.as_long_string(hard_child_mos), mos.as_string(hard_child_mos))
local hard_scalesig       = mos.as_link(hard_child_mos)
local neutral_scalesig = string.format("[[%s|%s]]", mos.as_long_string(neutral_mos), mos.as_string(neutral_mos))
local neutral_scalesig     = mos.as_link(neutral_mos)
local soft_floght_scalesig = string.format("[[%s|%s]]", mos.as_long_string(soft_flought_mos), mos.as_string(soft_flought_mos))
local soft_floght_scalesig = mos.as_link(soft_flought_mos)
local hard_floght_scalesig = string.format("[[%s|%s]]", mos.as_long_string(hard_flought_mos), mos.as_string(hard_flought_mos))
local hard_floght_scalesig = mos.as_link(hard_flought_mos)
local number_of_periods = mos.period_count(input_mos)
local is_nL_ns = input_mos.nL == number_of_periods and input_mos.ns == number_of_periods
if is_nL_ns then
parent_scalesig = "none"
sister_scalesig = sister_scalesig .. " (self)"
equave_suffix = ""
if rat.eq(input_mos.equave, 2) then
equave_suffix = "o"
elseif rat.eq(input_mos.equave, 3) then
equave_suffix = "t"
elseif rat.eq(input_mos.equave, rat.new(3, 2)) then
equave_suffix = "f"
elseif rat.is_harmonic(input_mos.equave) then
local a, b = rat.as_pair(input_mos.equave)
equave_suffix = a
else
equave_suffix = rat.as_ratio(input_mos.equave)
end
neutral_scalesig = string.format("[[%ded%s]]", input_mos.nL*2, equave_suffix)
end
local section_header = "Related MOS scales"
local section_header = "Related MOS scales"