Module:Infobox regtemp: Difference between revisions
Jump to navigation
Jump to search
starting to automate ploidacot |
No edit summary |
||
| Line 34: | Line 34: | ||
-- processed mapping | -- processed mapping | ||
local map = {} | local map = {} | ||
local lowermap = {} | |||
table.insert(data, { | table.insert(data, { | ||
"Subgroups", | "Subgroups", | ||
| Line 68: | Line 69: | ||
end | end | ||
local ploid = map[1] | local ploid = map[1] | ||
for num in mapping:gmatch("(%d+) ") do | |||
table.insert(lowermap, num) | |||
end | |||
if subgroup[3] == "3" then | |||
local cot = lowermap[2] | |||
end | |||
table.insert(data, { | table.insert(data, { | ||
| Line 82: | Line 91: | ||
"Target scale size", | "Target scale size", | ||
"(" .. limit1 .. "-[[odd limit]]) " .. comp1 .. " notes; <br> (" .. limit2 .. "-[[odd limit]]) " .. comp2 .. " notes" | "(" .. limit1 .. "-[[odd limit]]) " .. comp1 .. " notes; <br> (" .. limit2 .. "-[[odd limit]]) " .. comp2 .. " notes" | ||
}) | |||
table.insert(data, { | |||
"?", | |||
cot | |||
}) | }) | ||
Revision as of 23:47, 20 October 2024
- This module should not be invoked directly; use its corresponding template instead: Template:Infobox regtemp.
This module generates an infobox providing information about a given regular temperament.
| Introspection summary for Module:Infobox regtemp | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||
No function descriptions were provided. The Lua code may have further information.
local p = {}
local u = require("Module:Utils")
local infobox = require("Module:Infobox")
function p.infobox_RT(frame)
-- no real math functionality... yet
local name = frame.args["tempname"]
local subgroup = frame.args["subgroup"]
local basis = frame.args["commas"]
local edo_first = frame.args["edo_first"]
local edo1 = tonumber(edo_first)
local edo_second = frame.args["edo_second"]
local edo2 = tonumber(edo_second)
local tuning = frame.args["tuning"]
local genfrac = frame.args["genfrac"]
local method = frame.args["method"]
local mos = frame.args["mosses"]
local mapping = frame.args["mapping"]
local ploidacot = frame.args["ploidacot"]
local limit1 = frame.args["lim1"]
local comp1 = frame.args["comp1"]
local acc1 = frame.args["acc1"]
local limit2 = frame.args["lim2"]
local comp2 = frame.args["comp2"]
local acc2 = frame.args["acc2"]
local data = {}
-- processed mapping
local map = {}
local lowermap = {}
table.insert(data, {
"Subgroups",
subgroup
})
table.insert(data, {
"Comma basis",
basis
})
table.insert(data, {
"Edo join",
"[[" .. edo_first .. "edo|" .. edo_first .. "]] & [[" .. edo_second .. "edo|" .. edo_second .. "]]"
})
table.insert(data, {
"Generator ([[" .. method .. "]])",
"~" .. genfrac .. " = " .. tuning .. "c"
})
table.insert(data, {
"MOS scales",
mos
})
table.insert(data, {
"Reduced mapping",
"<" .. mapping .. "]"
})
for num in mapping:gmatch("(%d+); ") do
table.insert(map, num)
end
local ploid = map[1]
for num in mapping:gmatch("(%d+) ") do
table.insert(lowermap, num)
end
if subgroup[3] == "3" then
local cot = lowermap[2]
end
table.insert(data, {
"Ploidacot",
ploidacot
})
table.insert(data, {
"Minmax error",
"(" .. limit1 .. "-[[odd limit]]) " .. acc1 .. "c; <br> (" .. limit2 .. "-[[odd limit]]) " .. acc2 .. "c"
})
table.insert(data, {
"Target scale size",
"(" .. limit1 .. "-[[odd limit]]) " .. comp1 .. " notes; <br> (" .. limit2 .. "-[[odd limit]]) " .. comp2 .. " notes"
})
table.insert(data, {
"?",
cot
})
local result = infobox.build(
name,
data
)
return result
end
return p