Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/WilliamRen/ofxKinect
openFrameworks wrapper for the xbox kinect
https://github.com/WilliamRen/ofxKinect
Last synced: 3 months ago
JSON representation
openFrameworks wrapper for the xbox kinect
- Host: GitHub
- URL: https://github.com/WilliamRen/ofxKinect
- Owner: WilliamRen
- Fork: true (ofTheo/ofxKinect)
- Created: 2011-02-18T09:36:25.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2011-02-17T05:04:47.000Z (over 13 years ago)
- Last Synced: 2024-07-01T09:36:22.768Z (5 months ago)
- Language: C
- Homepage:
- Size: 3.05 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
ofxKinect
==================ofxKinect is an Open Frameworks addon for the Xbox Kinect that runs on Linux and OS X.
OpenFrameworks is a cross platform open source toolkit for creative coding in C++.[http://www.openframeworks.cc/](http://www.openframeworks.cc/)
Installation
------------To use ofxKinect, first you need to download and install Open Frameworks. ofxKinect-beta.xcodeproj is developed against the latest version of Open Frameworks on github, while ofxKinect.xcodeproj will work with the 0062 release.
To get a copy of the repository you can download the source from [http://github.com/ofTheo/ofxKinect/zipball/master](http://github.com/ofTheo/ofxKinect/zipball/master) or, alternatively, you can use git clone:
git clone git://github.com/ofTheo/ofxKinect.gitThe addon should sit in openFrameworks/addons/ofxKinect/.
#### Using the latest OpenFrameworks
If you want to work with the latest unstable (still in development) Open Frameworks, download the ofxKinect source from the experimental branch [https://github.com/ofTheo/ofxKinect/archives/experimental](https://github.com/ofTheo/ofxKinect/archives/experimental) or via git clone:
git clone git://github.com/ofTheo/ofxKinect.git -b experimentalWarning: The experimental branch will be in flux, so don't be suprised if things do not always work as expected!
Running the Example Project
-------------------------------If you're using OS X, open the XCode project in ofxKinect/example/ and hit "Build and Run". You might want to chosoe "Release" instead of "Debug" for faster performance.
If you're using Linux, you should open the Code::Blocks .cbp and hit F9 to build and run.
You should create some udev rules in order to run the app without root privileges. As root write this to /etc/udev/rules.d/51-kinect.rules (this works on Ubuntu 10.10):
SUBSYSTEM=="usb", SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02ae", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb", SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02ad", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb", SYSFS{idVendor}=="045e", SYSFS{idProduct}=="02b0", MODE="0660", GROUP="plugdev"Sorry, there is currently no Windows version. :( Please pitch in and help us.
How to Create a New ofxKinect Project
-----------------------------------------To develop your own project based on ofxKinect, simply copy the example project and rename it. You probably want to put it in your apps folder, for example, after copying:
`openFrameworks/addons/ofxKinect/example/ => openFrameworks/apps/myApps/example/`
Then after renaming:
`openFrameworks/apps/myApps/myKinectProject/`
On Mac, rename the project in XCode (do not rename the .xcodeproj file in Finder!): XCode Menu->Project->Rename
Adding ofxKinect to an Existing Project
---------------------------------------If you want to add ofxKinect to another project, you need to make sure you include the src and libs folders:
openFrameworks/addons/ofxKinect/src
openFrameworks/addons/ofxKinect/libsFor XCode:
* create a new group "ofxKinect"
* drag these directories from ofxKinect into this new group: ofxKinect/src & ofxKinect/libs
* add a search path to: `../../../addons/ofxKinect/libs/libusb/osx/libs` under Targets->YourApp->Build->Library Search Paths (make sure All Configurations and All Settings are selected)Developing ofxKinect
--------------------### Branch Layout
master is the latest stable version for 0062
develop is the unstable development branch for the current stable OF, ie 0062
experimental is the unstable development branch for the unstable OF, ie 007
This layout is designed so that a clone and the github page point to the stable version by default.
When adding new features or fixing bugs, you may need to create commits that should be merged across branches. Do this by creating a branch to do your work in, then merge this branch with other branches. Do NOT work directly on master.
Development for master is done in the develop branch and then merged. The experimental branch is for bleeding edge work with the latest unstable OF so that any new api changes do not break master or develop.
When a new stable version of OF is released, the current master is tagged with a version number (system to be determined) and experimental is merged into master.
This development model follows: http://nvie.com/posts/a-successful-git-branching-model/
### Git Help
#### Colored Output
Use the following commands to setup colored output form git which makes it easier to see changes:
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto#### Git Cheatsheet
Print the git help:
git --helpPrint the help on a specific git tool:
git help checkoutSwitching to a branch:
git checkout branchnameShow which branch you are currently working in:
git branch -vCreating a new branch:
git branch branchnameDeleting a branch:
git branch -d branchnameShow the log of the last 10 commits:
git log -10#### Resolving Merge Conflicts
See this [useful guide](http://book.git-scm.com/3_basic_branching_and_merging.html) on how to resolve merge conflicts.
### Developing
Checkout the develop branch:
git git://github.com/ofTheo/ofxKinect.git -b developSwitch to the develop branch:
git checkout developChanges done in develop may need to be brought into master. This should not be taken lightly as master must always be stable and working with the latest stable version of OF.
#### The work flow is as follows:
* do your commits in develop
* switch to the master branch:
git checkout master
* merge from branch to master:
git merge develop
* if you have any conflicts, follow [this guide](http://book.git-scm.com/3_basic_branching_and_merging.html) on how to resolve merge commits
* push your changes to github:
git push origin develop
### Experimental Development
The experimental branch is considered unstable and is for an upcoming release of OF. It will only be merged into master once the new version of OF becomes stable.
### Adding New Features Across Branches
If you want to add a feature to both develop and experimental, create a branch of develop, do your work, and merge the branch with both develop and experimetal. This avoid having to merge experimental with develop as any api changes between the 2 could break experimental.
#### The workflow is as follows:
* create a new branch for the feature from develop:
git checkout -b newfeature develop`
* do your work, make commits, etc
* merge these changes to develop:
git checkout develop
git merge --no-ff newfeature
* merge these changes to experimental:
git checkout experimetal
git merge --no-ff newfeature
git push origin experimental
* close the feature branch:
git checkout develop
git branch -d newfeature
git push origin develop
#### Making Bugfixes Across Branches:
If you want to fix a bug found in master, do not do it directly, but through a branch which can then be merged across the main branches:
#### The workflow is as follows:
* create a new branch for the bugfix:
git checkout -b newbugfix master
* do your work, make commits, etc
* merge these changes to master:
git checkout master
git merge --no-ff newbugfix
* merge these changes to develop:
git checkout develop
git merge --no-ff newbugfix
git push origin develop
* merge these changes to experimental:
git checkout experimental
git merge --no-ff newbugfix
git push origin experimental
* close the bugfix branch:
git checkout master
git branch -d newbugfix
git push origin master
### Versioning
There is some talk about [Semantic Versioning](http://semver.org/) via git tagging but this will need to be discussed for the future.