Qirky / FoxDot

Python driven environment for Live Coding
http://foxdot.org
Other
1.03k stars 135 forks source link

FR: being able to set "scale" for a group or player object #246

Open eeeeaaii opened 3 years ago

eeeeaaii commented 3 years ago

Seems like a good workflow for chord progressions would be to set up an arpeggio:

p1 >> pluck([0,2,4])

then when changing chords to a different chord in the key, change the root:

p1.root=2

But if I wanted to stay in the same major key, the third position triad is actually a minor triad. So just moving the root of this arpeggio would give me a chord that is outside of the key.

But if I could change the scale for just that player:

p1.root=2 p1.scale="minor"

Then I could use this technique to change chords and stay within the key.

Qirky commented 3 years ago

Hiya, you can change both the root and scale of a player object but for a scale you will need to use the Scale object as opposed to the string name e.g. Scale.minor. Hope that helps

More info: https://foxdot.org/docs/player-attributes/