XJ music engine  1.9.6
In-game runtime engine for XJ music.
Step.h
Go to the documentation of this file.
1 // Copyright (c) XJ Music Inc. (https://xjmusic.com) All Rights Reserved.
2 
3 #ifndef XJMUSIC_MUSIC_STEP_H
4 #define XJMUSIC_MUSIC_STEP_H
5 
6 #include <map>
7 
8 #include "PitchClass.h"
9 
10 namespace XJ {
11 
16  class Step {
17  private:
21  static std::map<PitchClass, Step> stepUpMap;
22 
26  static std::map<PitchClass, Step> stepDownMap;
27 
31  static std::map<PitchClass, std::map<PitchClass, int>> deltaMap;
32 
33  public:
36 
41 
53 
61  static int delta(PitchClass from, PitchClass to);
62 
69  static Step step(PitchClass from, int inc);
70 
77  static Step stepUp(PitchClass from, int inc);
78 
85  static Step stepDown(PitchClass from, int inc);
86 
87  };
88 
89 }//namespace XJ
90 
91 #endif //XJMUSIC_MUSIC_STEP_H
Definition: Step.h:16
Step(PitchClass pitchClass, int deltaOctave)
Definition: Step.cpp:214
static Step to(PitchClass pitchClass, int deltaOctave)
Definition: Step.cpp:220
static Step stepUp(PitchClass from, int inc)
Definition: Step.cpp:242
int deltaOctave
Definition: Step.h:35
static Step stepDown(PitchClass from, int inc)
Definition: Step.cpp:254
static Step step(PitchClass from, int inc)
Definition: Step.cpp:231
static int delta(PitchClass from, PitchClass to)
Definition: Step.cpp:225
PitchClass pitchClass
Definition: Step.h:34
Definition: ActiveAudio.h:11
PitchClass
Definition: PitchClass.h:19