#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
camWidth = 320; // try to grab at this size.
camHeight = 240;
//get back a list of devices.
vector<ofVideoDevice> devices = vidGrabber.listDevices();
for(size_t i = 0; i < devices.size(); i++){
if(devices[i].bAvailable){
//log the device
ofLogNotice() << devices[i].id << ": " << devices[i].deviceName;
}else{
//log the device and note it as unavailable
ofLogNotice() << devices[i].id << ": " << devices[i].deviceName << " - unavailable ";
}
}
vidGrabber.setDeviceID(0);
vidGrabber.setDesiredFrameRate(60);
vidGrabber.initGrabber(camWidth, camHeight);
videoInverted.allocate(camWidth, camHeight, OF_PIXELS_RGB);
videoTexture.allocate(videoInverted);
ofSetVerticalSync(true);
}
//--------------------------------------------------------------
void ofApp::update(){
ofBackground(100, 100, 100);
vidGrabber.update();
if(vidGrabber.isFrameNew()){
ofPixels & pixels = vidGrabber.getPixels();
for(size_t i = 0; i < pixels.size(); i++){
//invert the color of the pixel
videoInverted[i] = 255 - pixels[i];
}
//load the inverted pixels
videoTexture.loadData(videoInverted);
}
}
//--------------------------------------------------------------
void ofApp::draw(){
ofSetHexColor(0xffffff);
vidGrabber.draw(20, 20);
videoTexture.draw(20 + camWidth, 20, camWidth, camHeight);
}
//--------------------------------------------------------------
void ofApp::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...
// Video settings no longer works in 10.7
// You'll need to compile with the 10.6 SDK for this
// For Xcode 4.4 and greater, see this forum post on instructions on installing the SDK
// http://forum.openframeworks.cc/index.php?topic=10343
if(key == 's' || key == 'S'){
vidGrabber.videoSettings();
}
}
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
}
//--------------------------------------------------------------
void ofApp::mouseMoved(int x, int y){
}
//--------------------------------------------------------------
void ofApp::mouseDragged(int x, int y, int button){
}
//--------------------------------------------------------------
void ofApp::mousePressed(int x, int y, int button){
}
//--------------------------------------------------------------
void ofApp::mouseReleased(int x, int y, int button){
}
//--------------------------------------------------------------
void ofApp::mouseEntered(int x, int y){
}
//--------------------------------------------------------------
void ofApp::mouseExited(int x, int y){
}
//--------------------------------------------------------------
void ofApp::windowResized(int w, int h){
}
//--------------------------------------------------------------
void ofApp::gotMessage(ofMessage msg){
}
//--------------------------------------------------------------
void ofApp::dragEvent(ofDragInfo dragInfo){
}
Comments