Recitation 11:
For this week’s recitation, my partner, Kenneth and I, decided that we would split ourselves into separate workshops so that we could gather a large sum of knowledge from various categories of interaction and coding. While Kenneth attended Serial Communications, I went to the Media Manipulation workshop next door. There, my instructor, Leon, gave us a brief preview of the class and proceeded to ask students what kind of things they wished to learn from the workshop. When it came to me, I was not unable to vividly describe my aspirations and visions for the class, for Kenneth and I were still in the midst of planning our final project. Which is why, for the workshop, I refrained from creating a specific product for the final, and instead, decided that I would keep my options open. I would perform this action by learning the various effects I could use to manipulate video and live feed, for I knew, that they were going to be possible aspects Kenneth and I would use in our final.
Process: https://github.com/cy1323/CelineYu/blob/master/Recitation%2011
I first imported the video library from the Processing’s Sketch and followed previous lectures by setting Movie myMovie above setup and draw. Then, similar to image manipulation, I sourced the video in the data folder by implementing: “new Movie (this, nye.mp4)” and made sure that it would play upon loading with “myMovie.play.” After setup, I followed the order and moved onto void draw(). Here, with reminders from the teachers present, I let Processing determine if whether or not the video was ‘available’ with an if() function at the beginning of void draw(). Up until this point, I had used information that had already been taught during previous lectures.
I wanted to implement as many effects I could understand within the short period of time I was given, regardless of the product’s final appearance. I wanted the video to move depending on the position of my mouse. I set up the code as I had done a numerous amount of times before, but for some reason, the code did not work. This is where I was reminded that I needed to use the push and pop matrix functions when dealing with positions within Processing. Soon after, I was able to create a moving masterpiece. After the positioning, I thought I would create an attempt at manipulating timeStamps within a video, an aspect that was mentioned and portrayed during the workshop. Following the teacher’s procedures and close evaluation, I ‘floated’ timeStamp = myMovie.time(), and had it called for action through the usage of println (timeStamp); I then manipulated this timeStamp variable through if and else if functions that would tint the video whenever I desired. For example, I set the tint to (100, 255, 0) when timeStamp was over and above 10 (seconds) and then tinted the video red whenever Processing read that the timeStamp was below 10. I also wanted to manipulate the speed, size, and shape of the video through the timeStamp variable but was not able to achieve this due to time constraints.
Video: Screen Recording 2019-05-08 at 11.30.48 PM
Reflection: Overall, I believe that I learned a list of new things from Recitation 11, most significantly, the easy usage of timestamps to my advantage and desire. I do believe, that if I had come to the workshop with a more definite plan and wish, I could have achieved even greater results that further benefit my final project and coding experience in the long run. Nonetheless, I am happy and satisfied with the work I have done this week, and am, therefore, looking forward to how I could implement these new lessons into the final project parallel to my definition of interaction.