Module:Infobox MOS: Difference between revisions

Inthar (talk | contribs)
No edit summary
Inthar (talk | contribs)
No edit summary
Line 99: Line 99:
equave_disp = ''
equave_disp = ''
end
end
local nL = mos.nL
local ns = mos.ns
local has_prev_y = (nL > 1)
local has_prev_y = (nL > 1)
local has_prev_x = (ns > 1)
local has_prev_x = (ns > 1)
local prev_L, next_L, prev_s,next_s, prev_L_prev_s, prev_L_next_s, next_L_prev_s, next_L_next_s = ''
local prev_L, next_L, prev_s,next_s, prev_L_prev_s, prev_L_next_s, next_L_prev_s, next_L_next_s = ''
next_s = '[[' .. nL .. 'L ' .. (ns + 1) .. 's' .. equave_link .. '|↓' .. nL .. 'L ' .. (ns + 1) .. 's' .. equave_disp .. '\n]]'
next_s = '[[' .. mos.nL .. 'L ' .. (mos.ns + 1) .. 's' .. equave_link .. '|↓' .. mos.nL .. 'L ' .. (mos.ns + 1) .. 's' .. equave_disp .. '\n]]'
next_L = '[[' .. (nL + 1) .. 'L ' .. ns .. 's' .. equave_link .. '|' .. (nL + 1) .. 'L ' .. ns .. 's' .. equave_disp .. '→]]'
next_L = '[[' .. (mos.nL + 1) .. 'L ' .. mos.ns .. 's' .. equave_link .. '|' .. (mos.nL + 1) .. 'L ' .. mos.ns .. 's' .. equave_disp .. '→]]'
next_L_next_s = '[[' .. (nL + 1) .. 'L ' .. (ns + 1) .. 's' .. equave_link .. '|← ' .. (nL + 1) .. 'L ' .. (ns + 1) .. 's' .. equave_disp .. ']]'
next_L_next_s = '[[' .. (mos.nL + 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_link .. '|← ' .. (mos.nL + 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_disp .. ']]'
if has_prev_y then
if has_prev_y then
prev_s = '[[' .. nL .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|↑' .. nL .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
prev_s = '[[' .. mos.nL .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|↑' .. mos.nL .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
next_L_prev_s = '[[' .. (nL + 1) .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|← ' .. (nL + 1) .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
next_L_prev_s = '[[' .. (mos.nL + 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|← ' .. (mos.nL + 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
end
end
if has_prev_x then
if has_prev_x then
prev_L = '[[' .. (nL - 1) .. 'L ' .. ns .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. ns .. 's' .. equave_disp .. ']]'
prev_L = '[[' .. (mos.nL - 1) .. 'L ' .. mos.ns .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. mos.ns .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_next_s = '[[' .. (nL - 1) .. 'L ' .. (ns + 1) .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. (ns + 1) .. 's' .. equave_disp .. ']]'
prev_L_next_s = '[[' .. (mos.nL - 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_disp .. ']]'
end
end
local adjacent_links = {prev_L_prev_s, prev_s, next_L_prev_s, prev_L, next_L, prev_L_next_s, next_s, next_L_next_s}
local adjacent_links = {
[1]=prev_L_prev_s,  
[2]=prev_s,  
[3]=next_L_prev_s,  
[4]=prev_L,  
[5]=next_L,  
[6]=prev_L_next_s,  
[7]=next_s,  
[8]=next_L_next_s}
local period = rat.as_ratio(equave)
local period = rat.as_ratio(equave)
d = gcd(nL, ns)
d = gcd(mos.nL, mos.ns)
if d > 1 then
if d > 1 then
period = ET.backslash_display(ET.new(d, equave), 1)
period = ET.backslash_display(ET.new(d, equave), 1)
end
end
local pattern = frame.args['Pattern']
local pattern = frame.args['Pattern']
local collapsed_et = ET.new(nL, equave)
local collapsed_et = ET.new(mos.nL, equave)
local collapsed_bright_steps = frame.args['Collapsed']
local collapsed_bright_steps = frame.args['Collapsed']
local collapsed_dark_steps = nL/d - collapsed_bright_steps
local collapsed_dark_steps = mos.nL/d - collapsed_bright_steps
local equalized_et = ET.new(nL + ns, equave)
local equalized_et = ET.new(mos.nL + mos.ns, equave)
local equalized_bright_steps = frame.args['Equalized']
local equalized_bright_steps = frame.args['Equalized']
local equalized_dark_steps = (nL + ns)/d - equalized_bright_steps
local equalized_dark_steps = (mos.nL + mos.ns)/d - equalized_bright_steps
local structure_data = {}
local structure_data = {}
Line 157: Line 164:
)
)
})
})
if nL == ns then
if mos.nL == mos.ns then
parent_mos_link = 'none'
parent_mos_link = 'none'
else  
else  
parent_mos_link = '[[' .. math.min(nL, ns) .. 'L ' .. math.max(nL, ns)-math.min(nL, ns) .. 's' .. equave_link .. '|'   
parent_mos_link = '[[' .. math.min(mos.nL, mos.ns) .. 'L ' .. math.max(mos.nL, mos.ns)-math.min(mos.nL, mos.ns) .. 's' .. equave_link .. '|'   
.. math.min(nL, ns) .. 'L ' .. math.max(nL, ns)-math.min(nL, ns) .. 's' .. equave_disp .. ']]'
.. math.min(mos.nL, mos.ns) .. 'L ' .. math.max(mos.nL, mos.ns)-math.min(mos.nL, mos.ns) .. 's' .. equave_disp .. ']]'
end
end
table.insert(structure_data, {
table.insert(structure_data, {
Line 169: Line 176:
table.insert(structure_data, {
table.insert(structure_data, {
'Daughter MOSes',
'Daughter MOSes',
'[[' .. nL + ns .. 'L ' .. nL .. 's' .. equave_link .. '|'   
'[[' .. mos.nL + mos.ns .. 'L ' .. mos.nL .. 's' .. equave_link .. '|'   
.. nL + ns .. 'L ' .. nL .. 's' .. equave_disp .. ']], [['  
.. mos.nL + mos.ns .. 'L ' .. mos.nL .. 's' .. equave_disp .. ']], [['  
.. nL .. 'L ' .. nL + ns .. 's' .. equave_link.. '|' .. nL .. 'L ' .. nL + ns .. 's' .. equave_disp .. ']]'
.. mos.nL .. 'L ' .. mos.nL + mos.ns .. 's' .. equave_link.. '|' .. mos.nL .. 'L ' .. mos.nL + mos.ns .. 's' .. equave_disp .. ']]'
})
})
table.insert(structure_data, {
table.insert(structure_data, {
'[[Operations on MOSes#Sistering|Sister MOS]]',
'[[Operations on MOSes#Sistering|Sister MOS]]',
'[[' .. ns .. 'L ' .. nL .. 's' .. equave_link .. '|' .. ns .. 'L ' .. nL .. 's' .. equave_disp .. ']]'
'[[' .. mos.ns .. 'L ' .. mos.nL .. 's' .. equave_link .. '|' .. mos.ns .. 'L ' .. mos.nL .. 's' .. equave_disp .. ']]'
})
})
local tamnams = tamnams_name[MOS.as_string(mos)]
local tamnams = tamnams_name[MOS.as_string(mos)]
Line 256: Line 263:
'[[' .. ET.as_string(superhard_et) .. '|' .. superhard_gen .. ']] (' .. superhard_gen_cents .. '¢)'
'[[' .. ET.as_string(superhard_et) .. '|' .. superhard_gen .. ']] (' .. superhard_gen_cents .. '¢)'
})
})
local title = nL .. 'L ' .. ns .. 's' .. equave_disp
local title = mos.nL .. 'L ' .. mos.ns .. 's' .. equave_disp
result = p.build(
result = p.build(
title,
title,
structure_data,
structure_data,
et_data,
et_data,
nL,
mos.nL,
ns
mos.ns
)
)
if not debug_mode then
if not debug_mode then