16 lines
536 B
C++
16 lines
536 B
C++
#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 |