diff --git a/fakenect/fakenect.c b/fakenect/fakenect.c index a28af555..5a172fd0 100644 --- a/fakenect/fakenect.c +++ b/fakenect/fakenect.c @@ -219,6 +219,11 @@ freenect_raw_tilt_state* freenect_get_tilt_state(freenect_device *dev) return &state; } +freenect_tilt_status_code freenect_get_tilt_status(freenect_raw_tilt_state *state) +{ + return state->tilt_status; +} + void freenect_get_mks_accel(freenect_raw_tilt_state *state, double* x, double* y, double* z) { //the documentation for the accelerometer (http://www.kionix.com/Product%20Sheets/KXSD9%20Product%20Brief.pdf) @@ -261,6 +266,21 @@ freenect_frame_mode freenect_find_video_mode(freenect_resolution res, freenect_v return out; } +int freenect_get_video_mode_count() +{ + return 1; +} + +freenect_frame_mode freenect_get_video_mode(int mode_num) +{ + return freenect_find_video_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_VIDEO_RGB); +} + +freenect_frame_mode freenect_get_current_video_mode(freenect_device *dev) +{ + return freenect_get_video_mode(0); +} + freenect_frame_mode freenect_find_depth_mode(freenect_resolution res, freenect_depth_format fmt) { assert(FREENECT_RESOLUTION_MEDIUM == res); assert(FREENECT_DEPTH_11BIT == fmt); @@ -270,6 +290,21 @@ freenect_frame_mode freenect_find_depth_mode(freenect_resolution res, freenect_d return out; } +int freenect_get_depth_mode_count() +{ + return 1; +} + +freenect_frame_mode freenect_get_depth_mode(int mode_num) +{ + return freenect_find_depth_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_DEPTH_11BIT); +} + +freenect_frame_mode freenect_get_current_depth_mode(freenect_device *dev) +{ + return freenect_get_depth_mode(0); +} + int freenect_num_devices(freenect_context *ctx) { // Always 1 device @@ -283,12 +318,23 @@ int freenect_open_device(freenect_context *ctx, freenect_device **dev, int index return 0; } +int freenect_open_device_by_camera_serial(freenect_context *ctx, freenect_device **dev, const char* camera_serial) +{ + *dev = fake_dev; + return 0; +} + int freenect_init(freenect_context **ctx, freenect_usb_context *usb_ctx) { *ctx = fake_ctx; return 0; } +int freenect_supported_subdevices(void) +{ + return FREENECT_DEVICE_MOTOR | FREENECT_DEVICE_CAMERA; +} + void freenect_select_subdevices(freenect_context *ctx, freenect_device_flags subdevs) { // Ideally, we'd actually check for MOTOR and CAMERA and AUDIO, but for now // we just ignore them and provide all captured data. diff --git a/wrappers/java/Makefile b/wrappers/java/Makefile new file mode 100644 index 00000000..8081e67a --- /dev/null +++ b/wrappers/java/Makefile @@ -0,0 +1,2 @@ +all: + mvn assembly:assembly -Dmaven.test.skip=true diff --git a/wrappers/java/pom.xml b/wrappers/java/pom.xml index c3aa7c63..deaa10df 100644 --- a/wrappers/java/pom.xml +++ b/wrappers/java/pom.xml @@ -1,9 +1,10 @@ + 4.0.0 org.openkinect freenect - 0.0.1-SNAPSHOT + 1.0 @@ -38,6 +39,14 @@ 1.6 + + maven-assembly-plugin + + + jar-with-dependencies + + + diff --git a/wrappers/java/src/main/java/org/openkinect/freenect/Freenect.java b/wrappers/java/src/main/java/org/openkinect/freenect/Freenect.java index ec8b3129..29c5d560 100644 --- a/wrappers/java/src/main/java/org/openkinect/freenect/Freenect.java +++ b/wrappers/java/src/main/java/org/openkinect/freenect/Freenect.java @@ -28,6 +28,7 @@ import com.sun.jna.ptr.PointerByReference; import java.io.IOException; +import java.nio.ByteOrder; import java.nio.ByteBuffer; import java.nio.DoubleBuffer; @@ -173,8 +174,8 @@ protected NativeDevice (Pointer ptr, int index) { this.rawTiltState = freenect_get_tilt_state(this); this.accel = new double[3]; refreshTiltState(); - setVideoFormat(VideoFormat.RGB); - setDepthFormat(DepthFormat.D10BIT); + //setVideoFormat(VideoFormat.RGB); + //setDepthFormat(DepthFormat.D10BIT); } protected void setDeviceIndex (int index) { @@ -206,6 +207,7 @@ public void setDepthFormat (DepthFormat fmt, Resolution res) { if (mode.isValid()) { freenect_set_depth_mode(this, mode); depthBuffer = ByteBuffer.allocateDirect(mode.getFrameSize()); + depthBuffer.order(ByteOrder.nativeOrder()); freenect_set_depth_buffer(this, depthBuffer); this.depthMode = mode; } @@ -217,6 +219,7 @@ public void setVideoFormat (VideoFormat fmt, Resolution res) { if (mode.isValid()) { freenect_set_video_mode(this, mode); videoBuffer = ByteBuffer.allocateDirect(mode.getFrameSize()); + videoBuffer.order(ByteOrder.nativeOrder()); freenect_set_video_buffer(this, videoBuffer); this.videoMode = mode; }