Lina Maria Giraldo's Blog

Multimedia Artist and ITP Student

ICM Midterm Project

without comments

 

For my midterm, I wanted to combine live video feed from a US/Mexico border camera with live text feeds from the stock exchange. Unfortunately, the site I found “American Border Patrol” only has PC software and even then, they had restrictions on membership. I then decided to use recorded footage they had available.

 

This is the video from American border Patrol

This is the video from American border Patrol

The video is black and white and is 1 min 10 sec long. First of all, it didn’t want to work because it was a window media player so I had to open it on the pc and exported it as a quick time.  After, I exported to FCP and changed the size to 640 by 480.   After this, the video is working and in the size I want. I decided to load it. It is having a lot of trouble sometimes. It locks up processing once in a while and I have to close and reopen again. The size of the video is 195 megabytes. I’ve been recommended to lower its resolution. I’ve been reluctant to do it, because I don’t want to loose quality. So far it’s been a problem, so I have to take a decision soon or at least have two versions of it .

 

The next problem was the Data text files from the stock. I was able to pull some values and get some static quotes, but found it very difficult to obtain live feeds. I used a static TXT file for development. Here, I was able to load the information from yahoo stock exchange but I wasn’t able to display the text on top of the video so I decide it to use my example of a string that use with the Gutenberg text using it with an array of strings.

 

 

int[] data;

void setup() {

  size(200,200);

 // The text from the file is loaded into an array.

 String[] lines = loadStrings (“quotes-1.txt”);

 println(“there are “+ lines.length+” lines”);

 for(int i=0; i<lines.length; i++){

   println(lines[i]);

 }

 //String[] stuff = loadStrings(“data.txt”);

  // This array has one element because the file only has one line.

  // Convert String into an array of integers using ‘,’ as a delimiter

  //data = int(split(stuff[0], ‘,’ ));

}

void draw() {

  background(255);

  stroke(0);

    /*

  for (int i = 0; i < data.length; i ++ ) {

    // The array of ints is used to set the color and height of each rectangle.

    //fill(data[i]);

    //rect(i*20,0,20,data[i]);

  }

  */

}

 

 

I already combined the video with the text. So far, it’s working smooth and I like the result of the grid combine with the video and the text. I started with the example of video text mirror and made it work with the existing video and data. This is running and working so far but I need to create more interactivity in my project , so I decide it to move the text to the right Then came the big challenge: How to move the letters  too! After many, many, many tries I finally figured the way was to move the variable that controlled the text up every time the draw cycle passed. I made another counter and it worked, except that it moved so fast, it blurred all the letters…

 

First try to move the letters....

First try to move the letters....

The solution was to create a micro counter that increased very little every time the draw cycle ran. This worked fine! Except when it crashed after it grew larger than the string… So I put an “if” to control this.  

 

All was well, except the data. I didn’t like the static data and I thought it looked too disorganized. I changed the idea a bit and used the Bill of Rights.  this is my code for this:

 

 String url = “http://itp.nyu.edu/proxy/proxy.php?url=http://www.gutenberg.org/dirs/etext90/bill11h.htm”;

  String[] rawtext = loadStrings(url);

  // Join the big array together as one long string

 String chars = join(rawtext, “” );

 

 

And finally, the moment we have all been waiting for! Without further delays, the code that worked:

 

 

// 10/19/08

// Midterm

// www.linamariagiraldo.com

 

import processing.video.*;

 

// Size of each cell in the grid, ratio of window size to video size

int videoScale =8;

 

// Number of columns and rows in our system

int cols, rows;

int start = 0;

 

// Variable to hold onto capture object

Movie movie;

 

//Determine initial value of micro counter

 float micro = start;

 

 

// The source text used in the mosaic pattern.

// String chars = “123456789” ;

 

// Load text into an array of strings

  //String url = “http://www.gutenberg.org/dirs/etext90/bill11.txt”;

    //String url = “http://itp.nyu.edu/proxy/proxy.php?url=http://www.gutenberg.org/dirs/etext90/bill11.txt”;

    String url = “http://itp.nyu.edu/proxy/proxy.php?url=http://www.linamariagiraldo.com/itp/bor.txt”;

    //String url = “http://www.linamariagiraldo.com/itp/bor.txt”;

  String[] rawtext = loadStrings(url);

  // Join the big array together as one long string

 String chars = join(rawtext, “” );

 

PFont f;

 

void setup() {

  size(640,480);

  // Set up columns and rows

  cols = width/videoScale;

  rows = height/videoScale;

  movie = new Movie(this, “border5.mov”);

  movie.loop();

  // Load the font

 f = loadFont(“myfont.vlw”);

}

 

// Read new frames from movie

void movieEvent(Movie movie) {

  movie.read();

}

 

void draw() {

    background(0);

 

   if (mousePressed) {

image(movie,0,0);  

      }

 

    else{

  movie.loadPixels();

 

  // Use a variable to count through chars in String

 

 int charcount = int (micro);

  //int charcount = 0;

  // Begin loop for rows

  for (int j = 0; j < rows; j ++ ) {

    // Begin loop for columns

    for (int i = 0; i < cols; i ++ ) {

     

      // Where are we, pixel-wise?

      int x = i*videoScale;

      int y = j*videoScale;

      

      // Looking up the appropriate color in the pixel array

      color c = movie.get(x,y);

      // Displaying an individual character from the String instead of a rectangle

      textFont(f);

      fill(c);

     

      // One character from the source text is displayed colored accordingly to the pixel location.

      // A counter variable charcount is used to walk through the source String one character at a time.

 // this is affected by the microcounter so it is constantly increasing

      text(chars.charAt(charcount),x,y);

     

      // Go on to the next character

      charcount = (charcount + 1) % chars.length();

      

    }

  }

}

// procedure to increase the micro counter

println (micro + ” of”);

println (chars.length() + ” total”);

if (micro < chars.length() – 1) {

micro=micro+0.05;

}

else {

  micro = start;

}

}

 

 

 

Written by admin

October 20th, 2008 at 11:40 pm

Posted in ICM

Tagged with

Understanding Media Reading Response

without comments

The medium is the message 

In this chapter he introduces the concept of Electronic technology and the 
difference between hot and cool medium. 

Electronic technologies are new concepts that are emerging constantly. The 
text introduces us to how these new ideas are in constant change, adjusting 
with a society’s overload of information. 
The author also mentions how this affects technology, senses, rations and 
patterns. In order to explain this, he quotes Professor J.U Nef “the total 
wars of our time have been the result of a series of intellectual mistakes”. 
The effect of electronically technology is at first anxiety, followed by 
alarm, resistance and exhaustion. 

I agree with the author, when he describes cotton and oil, like radio and 
tv, become fixed charges of the community.

 

The community depends on these means in order to organize and have social patterns and human senses. 
In the human senses, all media are extensions like tv video radio, computer, 
etc; this extension changes the perception of societies and their way of 
thinking. 

As I stated before, McLuhan identifies two types of media: hot media and 
cool media. It refers to the degree of participation. A good example of hot 
medium is the radio, which is also described as high definition medium . He 
describes speech as an example of cool medium of low definitions because so 
little is given and so much has to be filled in by the listener

Written by admin

October 16th, 2008 at 2:38 pm

Posted in CommLab

Tagged with

RGB video meter

without comments

 

source code:

 

// Lina Maria Giraldo
// homework week 7 based on example 16.1 15.7 17.1
// http://www.linamariagiraldo.com

// Declare PFont variable
PFont f;

// Step 1. Import the video library
import processing.video.*;

// Step 2. Declare a Capture object
Capture video;

void setup() {
  size(320,240);
  smooth();

  // Step 3. Initialize Capture object via Constructor
  // video is 320 x 240, @15 fps
  video = new Capture(this,320,240,15);

  //Load Font
  f = loadFont( "font.vlw" );
}

void draw() {

  // Check to see if a new frame is available
  if (video.available()) {
    // If so, Step 4. Read the image from the camera.
    video.read();
  }

  // Display the video image.
  image(video,0,0);

  int loc = (width/2)+((height/2)*width);//find the pixel in the middle of the scree
  video.loadPixels();//we can modifie the pixels
  float r = red (video.pixels [loc]);//find the values of red green and blue
  float g = green (video.pixels [loc]);
  float b =blue(video.pixels [loc]);

  textFont(f,32); // Specify font to be used
  fill(255,0,0);        //Specify font colora
   text ( "R=" + r ,10,40);   //  Display Text
  fill(0,255,0);        //Specify font color
   text ( "G="+ g ,10,100);   //  Display Text
fill(0,0,255);        //Specify font color
   text ( "B="+ b ,10,160);   //  Display Text

 noFill();
stroke(0);
   ellipse(width/2,height/2,10,10);
stroke(255);
   ellipse(width/2,height/2,13,13);

}

Written by admin

October 16th, 2008 at 2:23 pm

Posted in ICM

Tagged with

ICM Midterm proposal – v1.0

without comments

For my midterm proposal I would like to explore video and text. It is my goal to merge two live feeds, one video and text.I would like to work with the live footage of the cameras in the border of Mexico with the US and mix it with an xml from economic figures

Written by admin

October 16th, 2008 at 2:15 pm

Posted in ICM

Tagged with

Don Quijote

without comments

 

Click on the image

Click on the image

Written by admin

October 16th, 2008 at 2:10 pm

Posted in ICM

Tagged with

Rain

without comments

Moving Rain

click to create win

click to create win

 

Growing Rain

 

click to make more raindrops

click to make more raindrops

 

Disappear Rain

Click on the image

Written by admin

October 16th, 2008 at 1:28 pm

Posted in ICM

Tagged with

Crisis by Adi Maron and Lina Maria Giraldo (stop animation)

without comments

Written by admin

October 9th, 2008 at 4:32 pm

Posted in CommLab

Tagged with

La Jetee Reponse

without comments

Written by admin

October 2nd, 2008 at 4:15 pm

Posted in CommLab

Tagged with

2 Girls and Politics by Pei Fong & Lina Maria Giraldo

without comments

 

2 girls and politics

2 girls and politics

Written by admin

October 2nd, 2008 at 3:45 pm

Posted in CommLab

Tagged with

30 min film festival

without comments

Written by admin

September 29th, 2008 at 12:01 pm

Posted in CommLab