musicMCT 0.3.0
brightness_comparisons() and
brightnessgraph() gain a goal parameter that
allows voice-leading brightness relationships between different sets to
be studied. 
- New 
clampitt_q() finds the sets that are “Q-related” to
an input (Clampitt 1997, 2007). 
colornum() now tries to automatically match a
signvector list to the specified ineqmat when the parameter
signvector_list is NULL. (For instance,
colornum(set, ineqmat="pastel") searches the global
environment for pastel_signvectors.) 
- New 
fpmod() allows for safer modulo division in
contexts with octave equivalence. 
- New 
inter_vlsig() finds elementary voice leadings
between sets of different Tn-types. 
- New 
make_infrared_ineqmat() adds a new family of
hyperplane arrangements for studying voice leading. 
minimize_vl() now returns better results when
method="hamming" by allowing for voice crossings (#4). 
primary_colornum() gains a signvector_list
parameter to pass to colornum(), allowing it to work
properly for hyperplane arrangements other than the “modal color theory”
arrangement. 
- Parameter 
n for tni() gains a default
value of NULL, in which case the index n is
chosen to create the contextual inversion which keeps the first and last
entries of set fixed. 
vl_generators() now gives correct results for sets
which fail optc_test(). 
vlsig() parameter index now defaults to
NULL, returning a matrix of all elementary
voice-leadings. 
More flexible
handling of OPTIC symmetries
- New 
normal_form() calculates the normal form of a set
under any combination of OPTIC symmetries, following the algorithm
described by Hook (2023, 416-8). 
- Set theory functions including 
tn(),
tni(), startzero(), and so on gain an
optic parameter, which allows the user to specify the OPTIC
symmetries to consider. 
Anaglyph Arrangments
- New 
make_anaglyph_ineqmat() allows construction of a
new family of hyperplane arrangements (anaglyph arrangements) which
study voice leadings between sets of different set classes. 
- New 
anazero_fingerprint() provides granular information
about the types of hyperplanes that a pair of sets lie on in the
anaglyph arrangement. 
- New behavior for 
howfree() and colornum()
because anaglyph arrangements require special handling. 
musicMCT 0.2.0
New ineqmat features
- New 
make_black_ineqmat() and
make_gray_ineqmat() allow new transposition-sensitive
hyperplane arrangements to be studied; ineqmat parameter for other
functions (e.g.  signvector() now accepts “black” and
“gray” as options. 
- New 
make_offset_ineqmat() creates version of standard
ineqmats (MCT, white, black, etc.) which have been translated to be
centered on an arbitrary set. 
- Creation functions for ineqmats (
makeineqmat(),
make_black_ineqmat(), make_white_ineqmat(),
make_roth_ineqmat()) now return a consistent value
(integer(0)) rather than various errors when
card is small. 
- New data set 
roth_ineqmats.rda with precomputed results
from make_roth_ineqmat(); accessed with new
get_roth_ineqmat(). 
- New data sets for pastel and white arrangements (for cardinalities
<= 6) uploaded to modalcolortheory
repository and linked in the documentation for
make_white_ineqmat(). 
New behaviors for
quantization functions
- Affected functions are 
quantize_color(),
quantize_hue(), and
set_from_signvector(). 
- Upon failure, quantization functions now return a result whose
format matches expected success format depending on value of
reconvert parameter. That is, if
reconvert=TRUE, failure to quantize results in a
NA vector (as before), but if reconvert=FALSE,
failure to quantize results in a list with entries set and
edo, both of which are NA. 
- Quantization functions gain a 
target_edo parameter,
which allows user to search for desired scales in a specific edo rather
than all possible edos. 
New Functions
- New 
clockface() offers a simple plotting mechanism to
visualize sets on a pitch-class clockface (with numbers corresponding to
any equal temperament). 
- New 
ianring() creates a convenient way to open a
browser window to information about the input set on Ian Ring’s website
The Exciting Universe of
Music Theory. 
- New functions for basic applications of the DFT to set theory are
added. These include 
set_to_distribution(),
distribution_to_set(), and dft(). 
Updates to Existing
Functions
brightnessgraph() now returns an invisible copy of the
igraph graph object underlying the plotted brightness graph, instead of
an invisible NULL. 
sim() gains a goal parameter, which allows
it to calculate the interscalar interval matrix for two sets. 
vl_generators() now throws a warning instead of an
error when set is perfectly even, returning a 2-by-0
matrix. 
musicMCT 0.1.2
- Updated writeSCL() to require user to enter a path.
 
- Updated vignette “Visualizing Higher Dimensions” to reset par()
changes.
 
musicMCT 0.1.1
- Removed extraneous license file.
 
musicMCT 0.1.0