Module:Infobox MOS: Difference between revisions

ArrowHead294 (talk | contribs)
mNo edit summary
ArrowHead294 (talk | contribs)
m No need to use NBSP on ones that aren't displayed
 
(One intermediate revision by the same user not shown)
Line 53: Line 53:
-- Adds categories
-- Adds categories
function p.categorize(input_mos)
function p.categorize(input_mos)
local input_mos = input_mos or mos.new(5,2)
local input_mos = input_mos or mos.new(5, 2)
-- Add to category of abstact mosses
-- Add to category of abstact mosses
local categories = "[[Category:Abstract MOS patterns]]"
local categories = " [[Category:Abstract MOS patterns]]"
-- Add notecount category if the notecount is greater than 3
-- Add notecount category if the notecount is greater than 3
local notecount = input_mos.nL + input_mos.ns
local notecount = input_mos.nL + input_mos.ns
if notecount > 3 then
if notecount > 3 then
categories = categories .. string.format("[[Category:%d-tone scales]]", notecount)
categories = categories .. string.format(" [[Category:%d-tone scales]]", notecount)
end
end
Line 76: Line 76:
if tamnams_name ~= nil then
if tamnams_name ~= nil then
categories = categories .. string.format("[[Category:%s]]", tamnams_name)
categories = categories .. string.format(" [[Category:%s]]", tamnams_name)
end
end
else
else
categories = categories .. "[[Category:Nonoctave]]"
categories = categories .. " [[Category:Nonoctave]]"
end
end
Line 102: Line 102:
local adjacent_links = {
local adjacent_links = {
mos.is_valid(adjacent_mosses[1]) and string.format("[[%s|↖ %s]]", mos.as_long_string(adjacent_mosses[1]), mos.as_string(adjacent_mosses[1]), true) or "",
mos.is_valid(adjacent_mosses[1]) and string.format("[[%s|↖ %s]]", mos.as_long_string(adjacent_mosses[1], false), mos.as_string(adjacent_mosses[1]), true) or "",
mos.is_valid(adjacent_mosses[2]) and string.format("[[%s|↑ %s]]", mos.as_long_string(adjacent_mosses[2]), mos.as_string(adjacent_mosses[2]), true) or "",
mos.is_valid(adjacent_mosses[2]) and string.format("[[%s|↑ %s]]", mos.as_long_string(adjacent_mosses[2], false), mos.as_string(adjacent_mosses[2]), true) or "",
mos.is_valid(adjacent_mosses[3]) and string.format("[[%s|%s ↗]]", mos.as_long_string(adjacent_mosses[3]), mos.as_string(adjacent_mosses[3]), true) or "",
mos.is_valid(adjacent_mosses[3]) and string.format("[[%s|%s ↗]]", mos.as_long_string(adjacent_mosses[3], false), mos.as_string(adjacent_mosses[3]), true) or "",
mos.is_valid(adjacent_mosses[4]) and string.format("[[%s|← %s]]", mos.as_long_string(adjacent_mosses[4]), mos.as_string(adjacent_mosses[4]), true) or "",
mos.is_valid(adjacent_mosses[4]) and string.format("[[%s|← %s]]", mos.as_long_string(adjacent_mosses[4], false), mos.as_string(adjacent_mosses[4]), true) or "",
mos.is_valid(adjacent_mosses[5]) and string.format("[[%s|%s →]]", mos.as_long_string(adjacent_mosses[5]), mos.as_string(adjacent_mosses[5]), true) or "",
mos.is_valid(adjacent_mosses[5]) and string.format("[[%s|%s →]]", mos.as_long_string(adjacent_mosses[5], false), mos.as_string(adjacent_mosses[5]), true) or "",
mos.is_valid(adjacent_mosses[6]) and string.format("[[%s|↙ %s]]", mos.as_long_string(adjacent_mosses[6]), mos.as_string(adjacent_mosses[6]), true) or "",
mos.is_valid(adjacent_mosses[6]) and string.format("[[%s|↙ %s]]", mos.as_long_string(adjacent_mosses[6], false), mos.as_string(adjacent_mosses[6]), true) or "",
mos.is_valid(adjacent_mosses[7]) and string.format("[[%s|↓ %s]]", mos.as_long_string(adjacent_mosses[7]), mos.as_string(adjacent_mosses[7]), true) or "",
mos.is_valid(adjacent_mosses[7]) and string.format("[[%s|↓ %s]]", mos.as_long_string(adjacent_mosses[7], false), mos.as_string(adjacent_mosses[7]), true) or "",
mos.is_valid(adjacent_mosses[8]) and string.format("[[%s|%s ↘]]", mos.as_long_string(adjacent_mosses[8]), mos.as_string(adjacent_mosses[8]), true) or ""
mos.is_valid(adjacent_mosses[8]) and string.format("[[%s|%s ↘]]", mos.as_long_string(adjacent_mosses[8], false), mos.as_string(adjacent_mosses[8]), true) or ""
}
}
Line 135: Line 135:
local period_in_cents = equave_in_cents / number_of_periods
local period_in_cents = equave_in_cents / number_of_periods
local step_pattern = string.format("...%d steps...", input_mos.nL+input_mos.ns)
local step_pattern = string.format("...%d steps...", input_mos.nL + input_mos.ns)
if input_mos.nL + input_mos.ns <= 40 then
if input_mos.nL + input_mos.ns <= 40 then
local brightest_mode = mos.brightest_mode(input_mos)
local brightest_mode = mos.brightest_mode(input_mos)
Line 316: Line 316:
function p.equal_tunings(input_mos)
function p.equal_tunings(input_mos)
local input_mos = input_mos or mos.new(5, 2)
local input_mos = input_mos or mos.new(5, 2)
local bright_gen = mos.bright_gen(input_mos)
local bright_gen = mos.bright_gen(input_mos)
local step_ratios = {
local step_ratios = {
{ 1, 1 },
{ 1, 1 },
Line 357: Line 355:
-- New "main" function
-- New "main" function
function p._infobox_mos(input_mos)
function p._infobox_mos(input_mos)
local input_mos = input_mos or mos.new(4,5,3)
local input_mos = input_mos or mos.new(4, 5, 3)
local other_names_unparsed = ""
local other_names_unparsed = ""