Class: HeadMusic::Style::Guides::SpeciesHarmony
- Defined in:
- lib/head_music/style/guides/species_harmony.rb
Overview
Base class for species harmony guides. Inherits analysis behavior from Base; exists as a semantic marker distinguishing harmony guides from melody guides.
Direct Known Subclasses
CombinedFirstSecondThirdSpeciesHarmony, FifthSpeciesHarmony, FirstSpeciesHarmony, FourthSpeciesHarmony, SecondSpeciesHarmony, ThirdSpeciesHarmony, ThirdSpeciesTripleMeterHarmony
Constant Summary collapse
- HARMONIC_CORE =
Guidelines shared by every harmonic guide. Subclasses splat this into their RULESET: RULESET = [*HARMONIC_CORE, …species-specific rules].
[ HeadMusic::Style::Guidelines::ApproachPerfectionContrarily, HeadMusic::Style::Guidelines::AvoidCrossingVoices, HeadMusic::Style::Guidelines::AvoidOverlappingVoices, HeadMusic::Style::Guidelines::ConsonantDownbeats, HeadMusic::Style::Guidelines::NoParallelPerfectOnDownbeats, HeadMusic::Style::Guidelines::PreferContraryMotion, HeadMusic::Style::Guidelines::PreferImperfect ].freeze