Our assignment this week was to encapsulate our notes in a Function Object and give our object an expressive interface that we can use. What I decided to do was have a motif of “conflict + resolution”. My Function object is Resolution and my public methods are the types of ways in which people fight in order to come to a resolution.
I decided to represent this visually with lego men faces. Each facial expression represents notes that convey the personality of the person fighting. For example, the angry face is only given 3 notes that are lower and have a longer duration, whereas the scared-looking face has 12, which start low and go very high. While the “calm” smiling one has about half that amount of notes that sound more balanced and calm.
Once I got all of the notes to emulate the emotions of angry/aggressive, scared, and calm, I wanted to give the user the opportunity to play with the pitch of all three. I thought this would be a nice addition to simulate a type of argument that escalades and then eventually calms down to resolution. Often when we argue, depending on our mood, our voices get higher or lower, which is usually related to how irrational or logical we are being. I thought this would be a nice interaction for a user to experience.
In order to do this I created a method inside of the constructor function that raises or lowers the octave. Then when I called this method inside of the button, I added a counter variable that would increase or decrease.
Below is the final version.