local p = {}
local i = require('Module:Interval')
local u = require('Module:Utils')
local rat = require('Module:Rational')
local l = require('Module:Limits')
local MOS = require('Module:MOS')
local ET = require('Module:ET')
local infobox = require('Module:Infobox')
function p.infobox_MOS(frame)
-- debug mode
local debug_mode = frame.args['debug'] ~= nil
local categories = ''
local tuning = frame.args['tuning']
local mos = MOS.parse(tuning) or MOS.parse('5L 2s')
assert(mos, "failed to parse variable mos")
-- category of the main article
categories = categories .. '[[Category:' .. tuning .. '| ]]'
local equave_str = ''
local prev_L, prev_s = '', ''
if mos.nL > 1 then
prev_L = '[[' .. (mos.nL - 1) .. 'L' .. mos.ns .. 's' .. equave_str .. '|← ' .. (mos.nL - 1) .. 'L' .. mos.ns .. 's <' .. mos.equave .. '>]]'
end
local next_L = '[[' .. (mos.nL + 1) .. 'L' .. mos.ns .. 's' .. equave_str .. '|' .. (mos.nL + 1) .. 'L' .. mos.ns .. 's <' .. mos.equave .. '> →]]'
if mos.ns > 1 then
prev_s = '[[' .. mos.nL .. 'L' .. (mos.ns - 1) .. 's' .. equave_str .. '|↑\n' .. mos.nL .. 'L' .. (mos.ns - 1) .. 's <' .. mos.equave .. '>]]'
end
local next_s = '[[' .. mos.nL .. 'L' .. (mos.ns + 1) .. 's' .. equave_str .. '|' .. mos.nL .. 'L' .. (mos.ns + 1) .. 's <' .. mos.equave .. '>\n↓]]'
local infobox_data = {}
table.insert(infobox_data, {
'Brightest mode',
'LLLsLLs'
})
result = infobox.build(
tuning,
infobox_data,
prev_L,
next_L--,
--prev_s,
--next_s
)
if not debug_mode then
result = result .. categories
end
return result
end
return p