Creates a synchronous siteswap object from a two-handed simultaneous-throw
sequence. Synchronous notation describes patterns where both hands throw at
the same time, written as pairs of throw heights in parentheses such as
"(4,4)" or "(4,2x)*". An x suffix marks a crossing throw; a trailing
* indicates the pattern alternates between two mirrored versions.
Usage
synchronousSiteswap(sequence = character(0))See also
The visualisation functions timeline(), ladder() and
throw_data().
Other siteswap constructors:
multiplexSiteswap(),
passingSiteswap(),
siteswap(),
synchronousMultiplexSiteswap(),
vanillaSiteswap()
Additional properties
@typeAlways
"synchronous"(read-only).@full_sequenceThe expanded sequence with the
*shorthand resolved (read-only).@throwsCharacter vector of all individual throw values across one expanded cycle (read-only).
@throws_by_handNamed list with elements
hand_1andhand_2, each a character vector of throws for that hand per slot (read-only).@periodNumber of throw slots per full cycle (counts both hands per simultaneous beat, so always even) (read-only).
@symmetry"symmetrical"if the pattern is its own mirror image;"asymmetrical"otherwise (read-only).@n_propsMean of the slide sequence, equal to the number of props (read-only).
@can_throwTRUEif no collisions occur in the slide sequence (read-only).@satisfies_average_theoremTRUEifn_propsis a whole number (read-only).@validTRUEif bothcan_throwandsatisfies_average_theoremareTRUE(read-only).
Examples
synchronousSiteswap("(4,4)")
#> ✔ '(4,4)' is valid synchronous siteswap
#> ℹ It uses 4 props
#> ℹ It is symmetrical with period 2
synchronousSiteswap("(4,2x)*")
#> ✔ '(4,2x)*' is valid synchronous siteswap
#> ℹ Full sequence: (4,2x)(2x,4)
#> ℹ It uses 3 props
#> ℹ It is symmetrical with period 4
s <- synchronousSiteswap("(4,2x)*")
s@n_props
#> [1] 3
s@valid
#> [1] TRUE
