Module:MOS in EDO allperiods: Difference between revisions

Ganaram inukshuk (talk | contribs)
adding section headers... bad idea; will instead have them as table captions
Ganaram inukshuk (talk | contribs)
Added checks for whether to add temperament names
Line 26: Line 26:
local edo = edo or 31
local edo = edo or 31
local number_of_periods = number_of_periods or 1
local number_of_periods = number_of_periods or 1
local temperaments = temperaments --or { "slender", "valentine", "miracle", "nusecond", "hemithirds", "mothra", "orwell", "myna", "mohajira", "würschmidt", "squares", "semisept", "meantone", "casablanca", "tritonic" }
local temperaments = temperaments or { "slender", "valentine", "miracle", "nusecond", "hemithirds", "mothra", "orwell", "myna", "mohajira", "würschmidt", "squares", "semisept", "meantone", "casablanca", "tritonic" }
-- Check whether the number of periods divides the edo
-- Check whether the number of periods divides the edo
Line 36: Line 36:
verified_number_of_periods = number_of_periods
verified_number_of_periods = number_of_periods
end
end
-- Generator
local starting_generator = math.floor(period_in_edosteps / verified_number_of_periods / 2) + 1
-- Include temperament names?
local show_temperament = temperaments ~= nil and #temperaments == math.floor(period_in_edosteps / verified_number_of_periods / 2)
local result = ""
local result = ""
local starting_generator = math.floor(period_in_edosteps / verified_number_of_periods / 2) + 1
for i = starting_generator, period_in_edosteps - 1 do
for i = starting_generator, period_in_edosteps - 1 do
Line 47: Line 52:
local temperament_index = 1 + i - starting_generator
local temperament_index = 1 + i - starting_generator
result = result .. mosinedo.mos_in_edo(edo, i, verified_number_of_periods, temperaments[temperament_index])
if show_temperament then
result = result .. mosinedo.mos_in_edo(edo, i, verified_number_of_periods, temperaments[temperament_index])
else
result = result .. mosinedo.mos_in_edo(edo, i, verified_number_of_periods)
end
end
end