Module:MOS tunings: Difference between revisions

Ganaram inukshuk (talk | contribs)
m a linebreak
Ganaram inukshuk (talk | contribs)
Simplified ratio lookup; added ultra-/para-/quasi-/mini-tunings
Line 237: Line 237:
function p.parse_step_ratios(unparsed)
function p.parse_step_ratios(unparsed)
local parsed = {}
local parsed = {}
if unparsed == "" or unparsed == "Simple Tunings" then
parsed = {{2,1}, {3,1}, {3,2}} -- Default is the simple step ratios
local lookup_table = {
["Central Spectrum"] = {{4,3}, {3,2}, {5,3}, {2,1}, {5,2}, {3,1}, {4,1}},
["Simple Tunings"]  = {{2,1}, {3,1}, {3,2}},
["Soft-of-basic"]    = {{4,3}, {3,2}, {2,1}},
['Ultrasoft']        = {{6,5}, {5,4}, {4,3}},
["Parasoft"] = {{4,3}, {7,5}, {3,2}},
["Quasisoft"]        = {{3,2}, {8,5}, {5,3}},
["Minisoft"]        = {{3,2}, {8,5}, {5,3}},
["Hyposoft"]        = {{3,2}, {5,3}, {2,1}},
["Hypohard"]        = {{2,1}, {5,2}, {3,1}},
["Minihard"]        = {{2,1}, {7,3}, {5,2}},
["Quasihard"]        = {{5,2}, {8,3}, {3,1}},
["Parahard"]        = {{3,1}, {7,2}, {4,1}},
["Ultrahard"]        = {{4,1}, {5,1}, {6,1}},
["Hard-of-basic"]    = {{2,1}, {3,1}, {4,1}},
}
if unparsed == "" then
parsed = lookup_table["Simple Tunings"]
elseif unparsed == "NONE" then
elseif unparsed == "NONE" then
parsed = {}
parsed = {}
elseif unparsed == "Central Spectrum" then
parsed = {{4,3}, {3,2}, {5,3}, {2,1}, {5,2}, {3,1}, {4,1}}
elseif unparsed == "Soft-of-basic" then
parsed = {{4,3}, {3,2}, {2,1}}
elseif unparsed == "Hyposoft" then
parsed = {{3,2}, {5,3}, {2,1}}
elseif unparsed == "Hypohard" then
parsed = {{2,1}, {5,2}, {3,1}}
elseif unparsed == "Hard-of-basic" then
parsed = {{2,1}, {3,1}, {4,1}}
else
else
parsed = tip.parse_numeric_pairs(unparsed)
parsed = lookup_table[unparsed] or tip.parse_numeric_pairs(unparsed)
end
end
return parsed
return parsed