#ifndef MELODY_STRATEGY_H #define MELODY_STRATEGY_H #include "config.h" #include "TrackerTypes.h" class MelodyStrategy { public: virtual void generate(Step (*sequence)[NUM_STEPS], int track, int numSteps, int* scaleNotes, int numScaleNotes, int seed) = 0; virtual void generateScale(int* scaleNotes, int& numScaleNotes) = 0; virtual void mutate(Step (*sequence)[NUM_STEPS], int track, int numSteps, int* scaleNotes, int numScaleNotes) = 0; virtual const char* getName() = 0; virtual ~MelodyStrategy() {} }; #endif