Class: HeadMusic::Style::Guides::SpeciesHarmony

Inherits:
Base
  • Object
show all
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.

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