Module:Infobox MOS: Difference between revisions
No edit summary |
No edit summary |
||
| Line 99: | Line 99: | ||
equave_disp = '' | equave_disp = '' | ||
end | end | ||
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 | ||