Sunday 2 September 2012


Project Report

I created a slide show projection of my work in PD. I gathered images and created four movies presenting my work from different artistic fields. In the slide show we can see a digitised version of my drawing, painting, graphic, sculpture and photography, graphic design and animation. The idea is to use it for an exhibition. This solution might be very useful because the exhibition space is usually limited (unless it's a solo exhibition) and the projection of such a slide show would allows me to present a wider range of my artistic creativity.

My patch has four rendering chains with one movie uploaded to each chain. The whole projection is controlled from the keyboard. Each key on the keyboard has a specific number value. In my patch I placed the 'select' objects with numbers (97, 98, 99, 100) which are designated to the specific keys on the keyboard (in this case it is 'a', 'b', 'c', 'd') The patch is made this way that when I press one key only one movie plays and three other stop. By pressing different keys I'm able to change the slide show I want PD to play. 

I had some problems with my project for example I wanted my movies to play the same way like images or to stop them looping or I was struggling with connecting my '0' messages to 'toggles' but I solved them by watching online tutorials on the course website, using help option in PD, reading and joining PD forum and visiting Floss Manual. 
 
I would say that my project has more practical than creative purpose. The reason is, that I don't know Pure Data program well enough to use it in more efficient way. That's a pity because while I was doing my extended research I found many extraordinary examples for using Pure Data in a very creative, experimental and developmental way. The artists who made the biggest impression on me are Golan Levin and his cooperator Zachary Lieberman, Ryoji Ikeda,  Baran Gulesen, Daniel Rozin with his incredible Rust Mirror and Rachel Wingfield & Mathias Gmachl with very beautiful project Sonumbra. I realize that not all of them use PD software in their work but I think that while doing research it's good to open your mind as much as possible for the artistic experience. All New Media field is new and fresh for me so I really feel that maybe I didn't explore it on my own enough. If I would do this project again I would like to introduce an audio aspect to my project. I think it would support the whole thing. The slide show could change each time the new song is played. 
I would definitely try some visualisation in Gem as well. 

The projector I was going to use is broken so I had to capture what I'm doing on my computer. I uploaded the movie on YouTube, so you can watch it.

The link to the movie:
http://www.youtube.com/watch?v=W5eASH75WkQ&feature=youtu.be
My final patch with comments and four movies.














Saturday 1 September 2012

I'm going to try employ the mechanism which I used before: Using the keys on your keyboard to play an image and combine it with Playing a video in Gem. 
So basically what I need to do is to create four separate render chains for each of my movies.
To do so I need a 'pix_film' object to texture my video file to my shape. I need to tell 'pix_film' which movie I want to open and I can do it by using 'bang' and 'openpanel' which will open the the browser and let me pick the movie I want to use. Message box holds one or more message and every time the 'message box' receives any message it will be sent to the destination. I'm going to use '$1' message to make my message variable and to accept and open the file name that I will give. I'm going to use a QuickTime file as it works better on Mac. To tell pd to start to play my movie I need to give it an 'auto $1' message and link it to the 'pix_film'. My message needs also a 'toggle' to turn it on and off.    
I'm going to use the patch I created before.



Then I'm going to add to my patch the 'key object', a 'number box' and four 'select object' boxes with numbers so each time I press the letter 'a', 'b', 'c' or 'd' different movie file will play. 
The 'key object' reports the numbers of 'printing' keys of the keyboard. Other words the 'key object' will output a specific number to a number box each time I press the key on my keyboard. 
The 'select object' compare numbers or symbols and checks its input against the constant '0 message' in case of my patch. If they match, the first outlet gives 'bang'. To play a different movie each time I press different key ('a', 'b', 'c' or 'd'). I need to add four '0 messages' and join them through the inlet to each 'select object' assigned to one movie render chain and through the outlet to the other three render chains through their 'toggle'. This way pd will send the message to play one movie and stop playing the three others.
This is my patch.



I just realised that if I do my project this way there will be no interactivity element at all and the initial idea was to use the keyboard to control the slide show.
I remember the class when we used the keyboard to point what image we want to see, so have to go back to tutorials and try to sort it out.
Tutorial 7: 'Using the keys on your keyboard to play an image / mapping an image to a key'

First I'm going to try with an image. To do this I need to hard code the image I want pd to open. My images have to be stored with pd file in one folder. I need to connect each render chain to specific key on the keyboard. I'll use the 'key object' which will show me the number every time I press the key on my keyboard. I need a 'number' and 'select object' also. The number box is connected to the 'key object' so every time I press an 'a' the 'key object' output 97 to a number box. I need to give a number inside 'select object' and when it will receives this specific number it will send a 'bang' and turn my image on. For the second render chain I need to put 98 ('b' key) in it's 'select object' and connect it to the number box. To avoid pressing my keys twice (each time I want it to start and stop an image to play) I need a 'message' with number '0' to be connected to 'select object' of the first render chain and to the 'toggle' of the second render chain. I need to add a second message with '0' and connect it to the 'select object' of the second render chain and the 'toggle' of the first render chain. In this way when I press an 'a' it will turn my first image and turn off the second and opposite.  


Next I'm going to try with four images. I picked 'a'(97), 'b'(98), 'c'(99), 'd'(100) keys to play my images. Using the same method I had to connect each '0' message to one 'select object' with the number, through the message's inlet and link it through the outlet to all 3 'toggles' of other images.



Now I try with my movies. I wanted to hard code my movie file name but it didn't work.



The first thing I had to do was to pick the images I want to use and create four separate slide shows then convert it to Quick Time format as this format works better on Mac. Next step  was to create the patch in pd to play my movies.
I watched the tutorial 8: Playing a video in Gem / Applying a video as a texture to a shape, using the microphone to detect a sound a turning on and off a video file uploaded on http://www.amymarylucy.com/DIT_03.HTML and started to do my patch.



I wonder if there is a way to play a video without using an 'openpanel', 'open $1', 'auto $1' and bang each time I want to play my video but to point the video file once like when you use an image in 'pix_image' case... probably not because you have to tell pd which movie file you want to open and then tell pd to play it.
Another problem I had was how to stop the video looping. I found the topic on Pure Data forum and the patch 'video_no_loop'



So basically the way to do this is to sent a '0 message' to the right outlet of 'pix_film' and connect it to an inlet of the toggle. I tried and it works on my patch.



Then the next step was to find out how to make pd start to play the second video after the first stops. I've asked the question on pd forum and I got an answer: '[pix_film] has three outlets, the third one outputs a bang when the last frame is reached. you can use this to trigger an "open" message to [pix_film] and load another video. you'll also need a counter to find out which video to play.'
I wasn't sure if I understood it right but I tried and by using a logic I made it work!