Module:Infobox MOS: Difference between revisions
No edit summary |
Fixed a bug where neutralized nonoctave nL ns mosses were 2n-edo |
||
| Line 443: | Line 443: | ||
local hard_scalesig = string.format("[[%s | %s]]", mos.as_long_string(hard_child_mos), mos.as_string(hard_child_mos)) | local hard_scalesig = string.format("[[%s | %s]]", mos.as_long_string(hard_child_mos), mos.as_string(hard_child_mos)) | ||
local neutral_scalesig = string.format("[[%s | %s]]", mos.as_long_string(neutral_mos), mos.as_string(neutral_mos)) | local neutral_scalesig = string.format("[[%s | %s]]", mos.as_long_string(neutral_mos), mos.as_string(neutral_mos)) | ||
local number_of_periods = utils._gcd(input_mos.nL, input_mos.ns) | local number_of_periods = utils._gcd(input_mos.nL, input_mos.ns) | ||
| Line 452: | Line 449: | ||
parent_scalesig = "none" | parent_scalesig = "none" | ||
sister_scalesig = sister_scalesig .. " (self)" | 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 | end | ||