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 Degree"
.. " !! Scale degree"
.. " !! Abbrev."
.. " !! Abbrev."
end
end
result = result
result = result .. "\n"
.. "\n"
.. "|-\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",
.. string.format(" || %s<br />%s", tamnams.degree_quality(current_interval, input_mos, "abbrev"       , mos_abbrev), tamnams.degree_quality(period_raised_interval, input_mos, "abbrev"       , mos_abbrev))
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",
.. string.format(" || %s", tamnams.degree_quality(period_raised_interval, input_mos, "abbrev"       , mos_abbrev))
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",
.. string.format(" || %s", tamnams.degree_quality(current_interval, input_mos, "abbrev"       , mos_abbrev))
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"
.. "|-\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)
return p._mos_genchain(input_mos, mos_prefix, mos_abbrev, collapsed)
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