Skip to content

Commit 296c5c4

Browse files
committed
Shiny new README.md
Beautify ebuild and add audio USE flag Signed-off-by: Benn Snyder <benn.snyder@gmail.com>
1 parent a05075a commit 296c5c4

5 files changed

Lines changed: 235 additions & 202 deletions

File tree

OpenNI2-FreenectDriver/README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Install
1616
cmake .. -DBUILD_OPENNI2_DRIVER=ON
1717
make
1818

19-
3. Copy the driver to your OpenNI2 driver repository.
19+
3. Copy the driver to your OpenNI2 driver repository. You must change `Repository` to match your project layout.
2020

2121
Repository="/example/path/to/Samples/Bin/OpenNI2/Drivers/"
2222
cp -L lib/OpenNI2-FreenectDriver/libFreenectDriver.{so,dylib} ${Repository}
@@ -28,15 +28,25 @@ __________________________________________________
2828

2929
Structure
3030
---------
31-
This driver is modeled on TestDevice.cpp and Drivers/Kinect/. In the FreenectDriver namespace, it ties together the C++ interfaces of OpenNI2 and libfreenect using multiple inheritance.
31+
This driver is modeled on TestDevice.cpp and Drivers/Kinect/.
32+
In the FreenectDriver namespace, it ties together the C++ interfaces of OpenNI2 and libfreenect using multiple inheritance.
3233

33-
Driver inherits publically from oni::driver::DriverBase and privately from Freenect::Freenect. A custom libfreenect.hpp allows protected access to the Freenect context, so that FreenectDriver can call the Freenect's C API. As a DriverBase, FreenectDriver manages devices and sets up device state callbacks.
34+
Driver inherits publically from oni::driver::DriverBase and privately from Freenect::Freenect.
35+
libfreenect.hpp allows protected access to the Freenect context, so that FreenectDriver can call the Freenect's C API.
36+
As a DriverBase, FreenectDriver manages devices and sets up device state callbacks.
3437

35-
Device inherits publically from oni::driver::DeviceBase and Freenect::FreenectDevice. Because of this, it can be built by Freenect::Freenect::createDevice() and it can define Device's depth and video callbacks. Those callbacks trigger acquireFrame() in FreenectStream.
38+
Device inherits publically from oni::driver::DeviceBase and Freenect::FreenectDevice.
39+
Because of this, it can be built by Freenect::Freenect::createDevice() and it can define Device's depth and video callbacks.
40+
Those callbacks trigger acquireFrame() in FreenectStream.
3641

37-
VideoStream is a virtual base class inheriting from oni::driver::StreamBase. It does generic frame setup in buildFrame() and then calls pure virtual populateFrame() to let derived classes finish the frame. It also provides the base skeleton for setting and getting properties, which cascades down the inheritance tree.
42+
VideoStream is a virtual base class inheriting from oni::driver::StreamBase.
43+
It does generic frame setup in buildFrame() and then calls pure virtual populateFrame() to let derived classes finish the frame.
44+
It also provides the base skeleton for setting and getting properties, which cascades down the inheritance tree.
3845

39-
DepthStream and ColorStream are nearly identical in definition and implementation, both inheriting from VideoStream. They differ mostly in the formats they use to process data and the video modes they support. These two classes offer a system to store and report supported video modes. To implement a new mode, simply add it to getSupportedVideoModes() and modify populateFrame() if necessary.
46+
DepthStream and ColorStream are nearly identical in definition and implementation, both inheriting from VideoStream.
47+
They differ mostly in the formats they use to process data and the video modes they support.
48+
These two classes offer a system to store and report supported video modes.
49+
To implement a new mode, simply add it to getSupportedVideoModes() and modify populateFrame() as necessary.
4050

4151
__________________________________________________
4252

README.asciidoc

Lines changed: 0 additions & 147 deletions
This file was deleted.

README.md

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
libfreenect
2+
===========
3+
4+
libfreenect is a userspace driver for the Microsoft Kinect.
5+
It runs on \*nix, OSX, and Windows and supports
6+
7+
- RGB and Depth Images
8+
- Motors
9+
- Accelerometer
10+
- LED
11+
12+
Audio is a work in progress.
13+
14+
15+
# Build Guide
16+
17+
To build libfreenect, you'll need
18+
19+
- [libusb](http://libusb.info/) >= 1.0.13
20+
- [CMake](http://www.cmake.org/) >= 2.6
21+
22+
For the examples, you'll need
23+
24+
- OpenGL (included with OSX)
25+
- glut (included with OSX)
26+
- [pthreads-win32](http://sourceforge.net/projects/pthreads4w/) (Windows)
27+
28+
## Fetch & Build
29+
30+
git clone https://github.com/OpenKinect/libfreenect
31+
cd libfreenect
32+
mkdir build
33+
cd build
34+
cmake ..
35+
cmake --build .
36+
37+
## OSX
38+
39+
If you don't have a package manager, install [Homebrew](http://brew.sh/).
40+
For a manual build, see [the wiki](http://openkinect.org/wiki/Getting_Started#Manual_Build_under_OSX).
41+
42+
### Homebrew
43+
44+
brew install libfreenect
45+
# or get the very latest:
46+
# brew install --HEAD libfreenect
47+
48+
### MacPorts
49+
50+
sudo port install git-core cmake libusb libtool
51+
# GOTO: Fetch & Build
52+
53+
## Linux
54+
55+
For a manual build, see [the wiki](http://openkinect.org/wiki/Getting_Started#Manual_Build_on_Linux).
56+
57+
### Ubuntu/Debian/Mint
58+
59+
The version packaged in Ubuntu may be very old.
60+
To install newer packaged builds, see [the wiki](http://openkinect.org/wiki/Getting_Started#Ubuntu.2FDebian).
61+
Continue with this section for a manual build.
62+
63+
sudo apt-get install git-core cmake pkg-config build-essential libusb-1.0-0-dev
64+
sudo adduser $USER video
65+
sudo adduser $USER plugdev # necessary?
66+
67+
# only if you are building the examples:
68+
sudo apt-get install libglut3-dev libxmu-dev libxi-dev
69+
70+
# GOTO: Fetch & Build
71+
72+
There is also a [debian branch](https://github.com/OpenKinect/libfreenect/tree/debian) for packaging purposes.
73+
74+
### Gentoo Linux
75+
76+
There is a live ebuild for your convenience in [platform/linux/portage/dev-libs/libfreenect/](https://github.com/OpenKinect/libfreenect/tree/master/platform/linux/portage/dev-libs/libfreenect).
77+
78+
### Arch Linux
79+
80+
There is a [libfreenect-git](https://aur.archlinux.org/packages/libfreenect-git/) PKGBUILD in the AUR.
81+
82+
83+
## Windows
84+
85+
The inf files in [platform/windows/](https://github.com/OpenKinect/libfreenect/tree/master/platform/windows) may be used for installing the device.
86+
Follow **Fetch & Build** or use Github and CMake GUI tools.
87+
You may need to supply paths to CMake so it can find dependencies.
88+
For example:
89+
90+
cmake .. -DLIBUSB_1_INCLUDE_DIR="C:\path\to\libusb\include" -DLIBUSB_1_LIBRARY="C:\path\to\libusb\libusb.lib"
91+
92+
93+
# Wrappers
94+
95+
Interfaces to various languages are provided in [wrappers/](https://github.com/OpenKinect/libfreenect/tree/master/wrappers).
96+
Wrappers are not guaranteed to be API stable or up to date.
97+
98+
- C (using a synchronous API)
99+
- C++
100+
- C#
101+
- python
102+
- ruby
103+
- actionscript
104+
- Java (JNA)
105+
106+
107+
# Maintainers
108+
109+
Ongoing Development and Maintenance by the OpenKinect Community
110+
111+
http://www.openkinect.org
112+
113+
- Original Code and Engineering: Hector Martin (marcan)
114+
- Community Lead: Josh Blake (JoshB)
115+
- Integration: Kyle Machulis (qDot)
116+
117+
118+
# License
119+
120+
The libfreenect project is covered under a dual Apache v2/GPL v2
121+
license. The licensing criteria are listed below, as well as at the
122+
top of each source file in the repo.
123+
124+
```
125+
This file is part of the OpenKinect Project. http://www.openkinect.org
126+
127+
Copyright (c) 2010 individual OpenKinect contributors. See the CONTRIB
128+
file for details.
129+
130+
This code is licensed to you under the terms of the Apache License,
131+
version 2.0, or, at your option, the terms of the GNU General Public
132+
License, version 2.0. See the APACHE20 and GPL2 files for the text of
133+
the licenses, or the following URLs:
134+
http://www.apache.org/licenses/LICENSE-2.0
135+
http://www.gnu.org/licenses/gpl-2.0.txt
136+
137+
If you redistribute this file in source form, modified or unmodified,
138+
you may:
139+
140+
- Leave this header intact and distribute it under the same terms,
141+
accompanying it with the APACHE20 and GPL2 files, or
142+
- Delete the Apache 2.0 clause and accompany it with the GPL2 file, or
143+
- Delete the GPL v2 clause and accompany it with the APACHE20 file
144+
145+
In all cases you must keep the copyright notice intact and include a
146+
copy of the CONTRIB file.
147+
148+
Binary distributions must follow the binary distribution requirements
149+
of either License.
150+
```
151+
152+
153+
# More Information
154+
155+
Information about the OpenKinect project can be found at
156+
157+
http://www.openkinect.org
158+
159+
For questions, support, and discussion, check out the google groups
160+
mailing list at
161+
162+
http://groups.google.com/group/openkinect
163+
164+
Or the IRC channel at
165+
166+
\#openkinect on Freenode
167+
168+
We are also on twitter at
169+
170+
http://twitter.com/openkinect
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
EBUILD libfreenect-9999.ebuild 1926 SHA256 ce96381a0574be42ab0c50e06c647ef0db7a9fe8ed8a9ebf55c9013fb20f8e5f SHA512 ef692429fe0a746a42e3fb4ef39ead0da258ddf418cbb839d9bb4617aa6607490cc2578505a88d1cc5bc01ac90fabcb9d9a27a000f7ab6533a1fb2f75610c2a6 WHIRLPOOL 50bc5c4de88c28df3d94cc2b9bc9f90120ed029f2af43c585c54e0c9ce7b9f96893c74fe6a06f7145a081bbb4ad7893fec940218aa1ddd7dd34d895bd41ef5f5
1+
EBUILD libfreenect-9999.ebuild 2246 SHA256 9c108418122975f5c9f6587e9c7e35625ce4cc47932b2c0b03b22ccb802d39da SHA512 05310b350b6598fd826c6ca6e12edc1f809157924a6fac93cb01ee8652b1d544144a22f32fe6ecf8ebd476e73c2a3c334aed02342d2e060ab6cdf88ef4ec965f WHIRLPOOL e9676dbe32df58e78c66343a0f665217b5b89b08f2caf777090536757024e57478694abe04a6cb290a6aef9e5ed46964b83d64ab55c7187f77fbf54150b83fed

0 commit comments

Comments
 (0)