Skip to content
Chanan edited this page Aug 18, 2020 · 3 revisions

IChord Interface

Namespace: CW.Soloist.CompositionService.MusicTheory
Assembly: CW.Soloist.CompositionService.dll


Summary

Represents a single musical chord instance.
Each chord is represented by a chord root, a chord type and a chord duration.

Defintion

public interface IChord
{
    // properties 
    NoteName ChordRoot { get; }
    ChordType ChordType { get; }
    IDuration Duration { get; set; }

    // methods 
    IEnumerable<NotePitch> GetArpeggioNotes(int minOctave, int maxOctave);
    IEnumerable<NotePitch> GetArpeggioNotes(NotePitch minPitch, NotePitch maxPitch);
    IEnumerable<NotePitch> GetScaleNotes(int minOctave, int maxOctave);
    IEnumerable<NotePitch> GetScaleNotes(NotePitch minPitch, NotePitch maxPitch);
}

Properties

Property Name Type Description
ChordRoot NoteName Name of the note which is the root of the chord.
ChordType ChordType The chord's type.
Duration IDuration The chord's duration.

Methods

Method Name Return Type Description
GetArpeggioNotes IEnumerable<NotePitch> Returns notes that correspond to the given chord's structure.
GetScaleNotes IEnumerable<NotePitch> Returns notes that of the scale mapped to the given chord.
  • Home
  • Getting Started
  • Design
    • Business Logical Layer (CW.Soloist.CompositionService)
    • Data Access Layer
    • Presentation Layer
Clone this wiki locally