Module:MOS mode degrees: Difference between revisions
Removed unused functions |
Updated comments; condensed modmos and mos functions back into one since code is near-identical |
||
| Line 14: | Line 14: | ||
p.cell_color_sm_altered_size = "#F8CBAD" | p.cell_color_sm_altered_size = "#F8CBAD" | ||
-- Finds the row color for a single cell | -- Finds the row color for a single cell | ||
function p.cell_color(interval, input_mos) | function p.cell_color(interval, input_mos) | ||
| Line 51: | Line 49: | ||
-- Create a table of a mos's degrees | -- Create a table of a mos's degrees | ||
function p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_mode_names) | -- If a step pattern is provided, it's assumed to be that of a modmos | ||
function p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_mode_names, step_pattern) | |||
local is_true_mos = step_pattern == nil | |||
local input_mos = input_mos or mos.new(5, 2) | local input_mos = input_mos or mos.new(5, 2) | ||
local mos_prefix = mos_prefix or "mos" | local mos_prefix = mos_prefix or "mos" | ||
| Line 58: | Line 59: | ||
-- Get the modes as strings and step vectors | -- Get the modes as strings and step vectors | ||
local step_patterns = mos.modes_by_brightness(input_mos) | local step_patterns = {} | ||
local step_matrices = {} | |||
if is_true_mos then | |||
step_patterns = mos.modes_by_brightness(input_mos) | |||
step_matrices = mos.modes_to_step_matrices(input_mos) | |||
else | |||
step_patterns = mos.mode_rotations(step_pattern) | |||
step_matrices = mos.mode_rotations_to_step_matrices(step_pattern) | |||
end | |||
-- Get the brightness (UDP) and rotational orderings | |||
local udps = {} | |||
local cpos = {} | |||
if is_true_mos then | |||
udps = tamnams.mos_mode_udps(input_mos) | |||
cpos = tamnams.mos_mode_cpos(input_mos) | |||
else | |||
udps = tamnams.mode_rotation_udps(step_pattern, input_mos) | |||
for i = 1, #udps do | |||
table.insert(cpos, i) | |||
end | |||
end | |||
-- Get the scale sig | -- Get the scale sig | ||
local scale_sig = mos.as_string(input_mos) | local scale_sig = mos.as_string(input_mos) | ||
-- Equave step count; needed for degree column count | -- Equave step count; needed for degree column count | ||
| Line 73: | Line 90: | ||
-- Create table | -- Create table | ||
local result = "{| class=\"wikitable sortable\"\n" | local result = "{| class=\"wikitable sortable\"\n" | ||
if is_true_mos then | |||
result = result .. string.format("|+ style=\"font-size: 105%%;\" | Scale degree qualities of %s modes\n", scale_sig) | |||
else | |||
result = result .. string.format("|+ style=\"font-size: 105%%;\" | Scale degree qualities of %s modes (%s)\n", scale_sig, step_pattern) | |||
if | |||
end | end | ||
-- Add table headers for first row | -- Add table headers for first row | ||
result = result | |||
.. "! rowspan=\"2\" | UDP and alterations " | .. "! rowspan=\"2\" | UDP " .. (is_true_mos and "" or " and alterations ") | ||
.. "!! rowspan=\"2\" | Rotational Order " | .. "!! rowspan=\"2\" | Rotational Order " | ||
.. "!! rowspan=\"2\" | Step pattern" | .. "!! rowspan=\"2\" | Step pattern" | ||
| Line 187: | Line 126: | ||
-- Add brightness order (as UDP), rotational order, and step pattern | -- Add brightness order (as UDP), rotational order, and step pattern | ||
.. string.format("| %s || %s || %s", udps[i], i, step_patterns[i]) | .. string.format("| %s || %s || %s", udps[i], cpos[i], step_patterns[i]) | ||
-- Add mode name if given | -- Add mode name if given | ||
| Line 218: | Line 157: | ||
-- Function to be called as part of a template | -- Function to be called as part of a template | ||
function p.mos_mode_degrees(frame) | function p.mos_mode_degrees(frame) | ||
-- Default param for input mos is 5L 2s | -- Default param for input mos is 5L 2s | ||
| Line 272: | Line 209: | ||
result = p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_names) | result = p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_names) | ||
elseif #step_pattern == input_mos.nL + input_mos.ns then | elseif #step_pattern == input_mos.nL + input_mos.ns then | ||
result = p. | result = p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_names, step_pattern) | ||
end | end | ||