sp::list<Scale> const& Scales() {
static sp::list<Scale> out;
if (out.empty()) {
out.push_back({ "Major", {2,2,1,2,2,2,1} });
out.push_back({ "Minor", {2,1,2,2,1,2,2} });
out.push_back({ "Mixolydian", {2,2,1,2,2,1,2} });
out.push_back({ "Dorian", {2,1,2,2,2,1,2} });
out.push_back({ "Harmonic", {2,1,2,2,1,3,1} });
out.push_back({ "Melodic", {2,1,2,2,2,1} });
out.push_back({ "Maj. Pentatonic", {2,2,3,2,3} });
out.push_back({ "Min. Pentatonic", {3,2,2,3,2} });
out.push_back({ "Blues", {3,2,1,1,3,2} });
out.push_back({ "Whole Tone", {2,2,2,2,2,2} });
out.push_back({ "Dim. Whole-Half", {2,1,2,1,2,1,2,1} });
out.push_back({ "Dim. Half-Whole", {1,2,1,2,1,2,1,2} });
}
return out;
}syntax highlighting by codehost



