Module:MOS genchain: Difference between revisions
ArrowHead294 (talk | contribs) mNo edit summary |
ArrowHead294 (talk | contribs) mNo edit summary |
||
| (11 intermediate revisions by 3 users not shown) | |||
| Line 50: | Line 50: | ||
-- Begin table | -- Begin table | ||
local result = "{| class=\"wikitable mw-collapsible" .. (is_collapsed and " mw-collapsed\"\n" or "\"\n") | local result = "{| class=\"wikitable center-1 center-3 mw-collapsible" .. (is_collapsed and " mw-collapsed\"\n" or "\"\n") | ||
-- Table caption | -- Table caption | ||
| Line 56: | Line 56: | ||
-- Headers for each period | -- Headers for each period | ||
result = result .. "|-\n! Bright gens" | result = result .. "|-\n" | ||
.. "! Bright gens" | |||
for i = 1, period_count do | for i = 1, period_count do | ||
result = result | result = result | ||
.. " !! Scale | .. " !! Scale degree" | ||
.. " !! Abbrev." | .. " !! Abbrev." | ||
end | end | ||
result = result | result = result .. "\n" | ||
-- Add a row for each scale degree, plus their period-shifted counterparts | -- Add a row for each scale degree, plus their period-shifted counterparts | ||
for i = 1, #genchain do | for i = 1, #genchain do | ||
result = result .. "|-\n" | |||
-- Number of generators | -- Number of generators | ||
local num_gens = math.ceil(#genchain/2) - i | local num_gens = math.ceil(#genchain / 2) - i | ||
result = result .. string.format("| %s", num_gens) | result = result .. string.format("| %s", string.gsub(num_gens, "-", "−")) | ||
-- Scale degree (full name) and abbrev | -- Scale degree (full name) and abbrev | ||
| Line 83: | Line 84: | ||
if num_gens == 0 then | if num_gens == 0 then | ||
result = result | result = result | ||
.. string.format(" || %s<br />%s", tamnams.degree_quality(current_interval, input_mos, "sentence-case", mos_prefix), tamnams.degree_quality(period_raised_interval, input_mos, "sentence-case", mos_prefix) | .. string.format(" || %s<br />%s || %s<br />%s", | ||
tamnams.degree_quality(current_interval, input_mos, "sentence-case", mos_prefix), | |||
tamnams.degree_quality(period_raised_interval, input_mos, "sentence-case", mos_prefix), | |||
tamnams.degree_quality(current_interval, input_mos, "abbrev" , mos_abbrev), | |||
tamnams.degree_quality(period_raised_interval, input_mos, "abbrev", mos_abbrev)) | |||
elseif num_gens < 0 and mos.interval_step_count(current_interval) % mos.period_step_count(input_mos) == 0 then | elseif num_gens < 0 and mos.interval_step_count(current_interval) % mos.period_step_count(input_mos) == 0 then | ||
result = result | result = result | ||
.. string.format(" || %s", tamnams.degree_quality(period_raised_interval, input_mos, "sentence-case", mos_prefix) | .. string.format(" || %s || %s", | ||
tamnams.degree_quality(period_raised_interval, input_mos, "sentence-case", mos_prefix), | |||
tamnams.degree_quality(period_raised_interval, input_mos, "abbrev", mos_abbrev)) | |||
else | else | ||
result = result | result = result | ||
.. string.format(" || %s", tamnams.degree_quality(current_interval, input_mos, "sentence-case", mos_prefix) | .. string.format(" || %s || %s", | ||
tamnams.degree_quality(current_interval, input_mos, "sentence-case", mos_prefix), | |||
tamnams.degree_quality(current_interval, input_mos, "abbrev", mos_abbrev)) | |||
end | end | ||
end | end | ||
| Line 99: | Line 105: | ||
result = result | result = result | ||
.. "\n" | .. "\n" | ||
end | end | ||
result = result .. "|}" | result = result .. "|}" | ||
| Line 111: | Line 116: | ||
local mos_abbrev = frame.args["MOS Abbrev"] | local mos_abbrev = frame.args["MOS Abbrev"] | ||
local collapsed = yesno(frame.args["Collapsed"]) | local collapsed = yesno(frame.args["Collapsed"]) | ||
local debugg = yesno(frame.args["debug"]) | |||
-- Parse scalesig | -- Parse scalesig | ||
| Line 119: | Line 125: | ||
mos_abbrev = tamnams.verify_abbrev(input_mos, mos_abbrev) | mos_abbrev = tamnams.verify_abbrev(input_mos, mos_abbrev) | ||
local result = p._mos_genchain(input_mos, mos_prefix, mos_abbrev, collapsed) | |||
-- Debugger option | |||
if debugg == true then | |||
result = "<syntaxhighlight lang=\"wikitext\">" .. result .. "</syntaxhighlight>" | |||
end | |||
return frame:preprocess(result) | |||
end | end | ||
return p | return p | ||