Module:TAMNAMS: Difference between revisions

Ganaram inukshuk (talk | contribs)
Added mos_abbrev param for mode_udp and mode_rotation_udps functions
Ganaram inukshuk (talk | contribs)
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
-- Work in progress
local mos = require('Module:MOS')
local mos = require('Module:MOS')
local rat = require('Module:Rational')
local rat = require('Module:Rational')
local utils = require('Module:Utils')
local tip = require('Module:Template input parse')
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 = string.format("%s|%s", gens_up, gens_down)
local udp = ""
if period_count > 1 then
if period_count > 1 then
udp = udp .. string.format("(%s)", period_count)
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)