Module:Ups and downs sharpness

From Xenharmonic Wiki
Revision as of 23:05, 22 September 2025 by Tristanbay (talk | contribs) (removed function for drops and lift calculation (still unfinished))
Jump to navigation Jump to search
Module documentation[view] [edit] [history] [purge]
This module should not be invoked directly; use its corresponding template instead: Template:Ups and downs sharpness.

This module automatically creates a table with the combinations of symbols to notate a given edo using Kite's ups and downs notation.

Introspection summary for Module:Ups and downs sharpness 
Functions provided (0)
Line Function Params
Lua modules required (1)
Variable Module Functions used
utils Module:Utils dependency not used

No function descriptions were provided. The Lua code may have further information.


-- unfinished module!
local p = {}
local utils = require("Module:Utils")

-- calculate amount of steps for sharp/flat
local function sharp_n(edo)
	return (7 * math.floor((edo * math.log(3) / math.log(2)) + 0.5)) - (11 * edo) -- mapping of augmented unison
end

-- generate table
local function make_table(sharp, comma)
	local thead = "{| class=\"wikitable center-all\"\n"
	local tlabel = "|-\n! Step offset\n{{!}}'''0'''"
	local tsharp = "|-\n! Sharp symbol\n| rowspan=\"2\" |  [[File:Heji18.svg|15px]]"
	local tflat = "|-\n! Flat symbol"
	
	for i=1, (sharp*2+1) do
		if i % sharp == 0 then
			table.insert(tlabel, "'''" .. i .. "'''")
		else
			table.insert(tlabel, "" .. i)
		end
	end
	return thead .. table.concat(tlabel, "\n|") .. "\n|}"
end