Skip to content

Commit

Permalink
builds on mac
Browse files Browse the repository at this point in the history
  • Loading branch information
shenberg committed Apr 1, 2016
1 parent 6f7b152 commit b678510
Show file tree
Hide file tree
Showing 14 changed files with 1,250 additions and 13 deletions.
13 changes: 13 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Attempt to load a config.make file.
# If none is found, project defaults in config.project.make will be used.
ifneq ($(wildcard config.make),)
include config.make
endif

# make sure the the OF_ROOT location is defined
ifndef OF_ROOT
OF_ROOT=$(realpath ../../..)
endif

# call the project makefile!
include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk
17 changes: 17 additions & 0 deletions Project.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.
//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED
OF_PATH = ../../..

//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE
#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig"

//ICONS - NEW IN 0072
ICON_NAME_DEBUG = icon-debug.icns
ICON_NAME_RELEASE = icon.icns
ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/

//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to:
//ICON_FILE_PATH = bin/data/

OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS)
HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
142 changes: 142 additions & 0 deletions config.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
################################################################################
# CONFIGURE PROJECT MAKEFILE (optional)
# This file is where we make project specific configurations.
################################################################################

################################################################################
# OF ROOT
# The location of your root openFrameworks installation
# (default) OF_ROOT = ../../..
################################################################################
# OF_ROOT = ../../..

################################################################################
# PROJECT ROOT
# The location of the project - a starting place for searching for files
# (default) PROJECT_ROOT = . (this directory)
#
################################################################################
# PROJECT_ROOT = .

################################################################################
# PROJECT SPECIFIC CHECKS
# This is a project defined section to create internal makefile flags to
# conditionally enable or disable the addition of various features within
# this makefile. For instance, if you want to make changes based on whether
# GTK is installed, one might test that here and create a variable to check.
################################################################################
# None

################################################################################
# PROJECT EXTERNAL SOURCE PATHS
# These are fully qualified paths that are not within the PROJECT_ROOT folder.
# Like source folders in the PROJECT_ROOT, these paths are subject to
# exlclusion via the PROJECT_EXLCUSIONS list.
#
# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank)
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_EXTERNAL_SOURCE_PATHS =

################################################################################
# PROJECT EXCLUSIONS
# These makefiles assume that all folders in your current project directory
# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations
# to look for source code. The any folders or files that match any of the
# items in the PROJECT_EXCLUSIONS list below will be ignored.
#
# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete
# string unless teh user adds a wildcard (%) operator to match subdirectories.
# GNU make only allows one wildcard for matching. The second wildcard (%) is
# treated literally.
#
# (default) PROJECT_EXCLUSIONS = (blank)
#
# Will automatically exclude the following:
#
# $(PROJECT_ROOT)/bin%
# $(PROJECT_ROOT)/obj%
# $(PROJECT_ROOT)/%.xcodeproj
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_EXCLUSIONS =

################################################################################
# PROJECT LINKER FLAGS
# These flags will be sent to the linker when compiling the executable.
#
# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################

# Currently, shared libraries that are needed are copied to the
# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to
# add a runtime path to search for those shared libraries, since they aren't
# incorporated directly into the final executable application binary.
# TODO: should this be a default setting?
# PROJECT_LDFLAGS=-Wl,-rpath=./libs

################################################################################
# PROJECT DEFINES
# Create a space-delimited list of DEFINES. The list will be converted into
# CFLAGS with the "-D" flag later in the makefile.
#
# (default) PROJECT_DEFINES = (blank)
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_DEFINES =

################################################################################
# PROJECT CFLAGS
# This is a list of fully qualified CFLAGS required when compiling for this
# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS
# defined in your platform specific core configuration files. These flags are
# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below.
#
# (default) PROJECT_CFLAGS = (blank)
#
# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in
# your platform specific configuration file will be applied by default and
# further flags here may not be needed.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_CFLAGS =

################################################################################
# PROJECT OPTIMIZATION CFLAGS
# These are lists of CFLAGS that are target-specific. While any flags could
# be conditionally added, they are usually limited to optimization flags.
# These flags are added BEFORE the PROJECT_CFLAGS.
#
# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets.
#
# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank)
#
# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets.
#
# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank)
#
# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the
# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration
# file will be applied by default and further optimization flags here may not
# be needed.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_OPTIMIZATION_CFLAGS_RELEASE =
# PROJECT_OPTIMIZATION_CFLAGS_DEBUG =

################################################################################
# PROJECT COMPILERS
# Custom compilers can be set for CC and CXX
# (default) PROJECT_CXX = (blank)
# (default) PROJECT_CC = (blank)
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# PROJECT_CXX =
# PROJECT_CC =
22 changes: 22 additions & 0 deletions openFrameworks-Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>cc.openFrameworks.ofapp</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundleIconFile</key>
<string>${ICON}</string>
</dict>
</plist>
42 changes: 29 additions & 13 deletions src/ofApp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,16 +44,18 @@ void ofApp::setup() {
mouseForces.setup(flowWidth, flowHeight, drawWidth, drawHeight);

// CAMERA
//simpleCam.setup(640, 480, true);
simpleCam.setup(640, 480, true);

#ifdef _KINECT
// KINECT
kinect.open();
kinect.initDepthSource();
kinect.initColorSource();
kinect.initInfraredSource();
kinect.initBodySource();
kinect.initBodyIndexSource();

#endif

didCamUpdate = false;
cameraFbo.allocate(1280, 720);
cameraFbo.black();
Expand Down Expand Up @@ -234,10 +236,12 @@ void ofApp::update() {
deltaTime = ofGetElapsedTimef() - lastTime;
lastTime = ofGetElapsedTimef();

//simpleCam.update();
simpleCam.update();
#ifdef _KINECT
if (isKinectSource()) {
kinect.update();
}
#endif

if (isPsEyeSource() && eye)
{
Expand All @@ -246,42 +250,54 @@ void ofApp::update() {
videoTexture.loadData(videoFrame, eye->getWidth(), eye->getHeight(), GL_RGBA);
free(new_pixels);
}

#ifdef _KINECT
if ((isKinectSource() && (kinect.getColorSource()->isFrameNew()) ||
(isPsEyeSource() && eye))) {
#endif
if ((isPsEyeSource() && eye) || simpleCam.isFrameNew()) {
//simpleCam.isFrameNew();
ofPushStyle();
ofEnableBlendMode(OF_BLENDMODE_DISABLED);
cameraFbo.begin();

if (doFlipCamera) {
switch (sourceMode) {
#ifdef _KINECT
case SOURCE_KINECT:
kinect.getColorSource()->draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight());
break;
case SOURCE_PS3EYE:
videoTexture.draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight());
break;
break;
case SOURCE_KINECT_PS3EYE:
kinect.getColorSource()->draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight());
float psEyeXPosition = (cameraFbo.getWidth() / 3 ) + 20;
videoTexture.draw(psEyeXPosition, 20, -cameraFbo.getWidth() / 3, cameraFbo.getHeight() / 3);
break;
#endif
case SOURCE_PS3EYE:
videoTexture.draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight());
break;
default:
simpleCam.draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight());
break;
};
}
else {
switch (sourceMode) {
#ifdef _KINECT
case SOURCE_KINECT:
kinect.getColorSource()->draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight());
break;
case SOURCE_KINECT_PS3EYE:
kinect.getColorSource()->draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight());
float psEyeXPosition = (cameraFbo.getWidth() / 3 * 2) - 20;
videoTexture.draw(psEyeXPosition, 20, cameraFbo.getWidth() / 3, cameraFbo.getHeight() / 3);
break;
#endif
case SOURCE_PS3EYE:
videoTexture.draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight());
break;
case SOURCE_KINECT_PS3EYE:
kinect.getColorSource()->draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight());
float psEyeXPosition = (cameraFbo.getWidth() / 3 * 2) - 20;
videoTexture.draw(psEyeXPosition, 20, cameraFbo.getWidth() / 3, cameraFbo.getHeight() / 3);
break;
default:
simpleCam.draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight());
break;
};
}
cameraFbo.end();
Expand Down
9 changes: 9 additions & 0 deletions src/ofApp.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
#pragma once

#ifdef _WIN32
#define _KINECT
#endif

#include "ofMain.h"
#include "ofxGui.h"
#include "ofxFlowTools.h"
#ifdef _KINECT
#include "ofxKinectForWindows2.h"
#endif

#include "ps3eye.h"

#define USE_PROGRAMMABLE_GL // Maybe there is a reason you would want to
Expand Down Expand Up @@ -45,7 +52,9 @@ class ofApp : public ofBaseApp {

// Camera
ofVideoGrabber simpleCam;
#ifdef _KINECT
ofxKFW2::Device kinect;
#endif
ps3eye::PS3EYECam::PS3EYERef eye;
unsigned char * videoFrame;
ofTexture videoTexture;
Expand Down
5 changes: 5 additions & 0 deletions src/ps3eye.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,12 @@ void USBMgr::transferThreadFunc()

while (!exit_signaled)
{
#ifdef _WIN32
libusb_handle_events_timeout_completed(usb_context, &tv, NULL);
#else
//TODO:shenberg update libusb version on mac?
libusb_handle_events(usb_context);
#endif
}
}

Expand Down
Loading

0 comments on commit b678510

Please sign in to comment.