Module:TAMNAMS: Difference between revisions
Added mos_abbrev param for mode_udp and mode_rotation_udps functions |
Comments; bugfix for udp |
||
| Line 1: | Line 1: | ||
-- Module for TAMNAMS-related things as it pertains to mosses | -- Module for TAMNAMS-related things as it pertains to mosses | ||
-- This module is meant to be used with other modules, not as part of a template | -- This module is meant to be used with other modules, not as part of a template | ||
local mos = require('Module:MOS') | local mos = require('Module:MOS') | ||
local rat = require('Module:Rational') | local rat = require('Module:Rational') | ||
local p = {} | local p = {} | ||
-- This module should reflect current TAMNAMS standards: | |||
-- - Names for step ratios and ranges (soft, hard, etc) | |||
-- - Extended step ratio ranges | |||
-- - Naming for intervals and scale degrees (M2ms and M2md) | |||
-- - Naming for modes (basically UDP) | |||
-- - Naming for select scales | |||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
| Line 670: | Line 674: | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
-- Given an input mos, list the udps for each of its modes. | -- Given an input mos, list the udps for each of its modes, listed in order of | ||
-- decreasing brightness. | |||
function p.mos_mode_udps(input_mos) | function p.mos_mode_udps(input_mos) | ||
local steps_per_period = mos.period_step_count(input_mos) | local steps_per_period = mos.period_step_count(input_mos) | ||
| Line 679: | Line 684: | ||
local gens_up = steps_per_period - i | local gens_up = steps_per_period - i | ||
local gens_down = steps_per_period - gens_up - 1 | local gens_down = steps_per_period - gens_up - 1 | ||
local udp = "" | |||
if period_count > 1 then | if period_count > 1 then | ||
udp = | udp = string.format("%s|%s(%s)", gens_up * period_count, gens_down * period_count, period_count) | ||
else | |||
udp = string.format("%s|%s", gens_up, gens_down) | |||
end | end | ||
table.insert(udps, udp) | table.insert(udps, udp) | ||