topical media & game development

talk show tell print

lib-of-vs-apps-examples-movieGrabberExample-src-testApp.cpp / cpp



  include <testApp.h>
  
  //--------------------------------------------------------------
  void testApp::setup(){         
          
          camWidth                 = 320;        // try to grab at this size. 
          camHeight                 = 240;
          
          vidGrabber.setVerbose(true);
          vidGrabber.initGrabber(camWidth,camHeight);
          
          videoInverted         = new unsigned char[camWidth*camHeight*3];
          videoTexture.allocate(camWidth,camHeight, GL_RGB);
          
  }
  
  //--------------------------------------------------------------
  void testApp::update(){
          
          ofBackground(100,100,100);
          
          vidGrabber.grabFrame();
          
          if (vidGrabber.isFrameNew()){
                  int totalPixels = camWidth*camHeight*3;
                  unsigned char * pixels = vidGrabber.getPixels();
                  for (int i = 0; i < totalPixels; i++){
                          videoInverted[i] = 255 - pixels[i];
                  }
                  videoTexture.loadData(videoInverted, camWidth,camHeight, GL_RGB);
          }
  
  }
  
  //--------------------------------------------------------------
  void testApp::draw(){
          ofSetColor(0xffffff);
          vidGrabber.draw(20,20);
          videoTexture.draw(20+camWidth,20,camWidth,camHeight);
  }
  
  //--------------------------------------------------------------
  void testApp::keyPressed  (int key){ 
          
          // in fullscreen mode, on a pc at least, the 
          // first time video settings the come up
          // they come up *under* the fullscreen window
          // use alt-tab to navigate to the settings
          // window. we are working on a fix for this...
          
          if (key == 's' || key == 'S'){
                  vidGrabber.videoSettings();
          }
          
          
  }
  
  //--------------------------------------------------------------
  void testApp::keyReleased(int key){ 
          
  }
  
  //--------------------------------------------------------------
  void testApp::mouseMoved(int x, int y ){
          
  }
  
  //--------------------------------------------------------------
  void testApp::mouseDragged(int x, int y, int button){
          
  }
  
  //--------------------------------------------------------------
  void testApp::mousePressed(int x, int y, int button){
          
  }
  
  //--------------------------------------------------------------
  void testApp::mouseReleased(int x, int y, int button){
  
  }
  
  //--------------------------------------------------------------
  void testApp::resized(int w, int h){
  
  }
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.