Skip to content

Commit

Permalink
Merge branch 'master' into Feature-VS2013
Browse files Browse the repository at this point in the history
* master: (329 commits)
  ofThread, change order of flags and detach to avoid potential problems
  ofThread: detach thread on stop if it's not being waited. Closes openframeworks#2506
  ofParameterGroup: fix nested parameter groups and memory leak, switch ofPtr to shared_ptr. Closes openframeworks#2674
  assimp: use shared_ptr for scene
  assimp: fix to allow to put loaders on vectors and in general fix copy
  glfw: linux armv7 library with keys fix
  fix setupPerspective & setupOrtho not using passed width & height, set defaults to -1
  glfw: linux32 lib with key fixes
  glfw vs library with keys fix
  glfw: windows library with key fixes
  ofThread: change infinite wait time to -1
  osx glfw lib with patch for keys on non-english keyboards
  Update ofAppGLFWWindow.cpp
  added example of sending an image over ofxOsc with the blob data type. had to increase the send and receive buffer sizes to make it work.
  updated glfw to latest master + patch to fix keys, only tested on linux
  ofAppNoWindow: fix some function signatures
  blob support for ofxOsc. Blobs can be added and received as ofBuffers allowing binary data to be sent. oscpack has blob support so this is just making ofxOsc more complete.
  Updated the ReadMe to reflect the 1.0.12 libusb requirement for linux.
  Bugfix with ofxKinect fixes bug where Kinect will not re-open if app crashes without shutting Kinect down. Requires latest libusb Closes openframeworks#2968
  linux: more precise timming function through monotonic clock
  ...

Conflicts:
	libs/openFrameworksCompiled/project/vs/openframeworksLib.vcxproj
  • Loading branch information
LeoColomb committed Jun 9, 2014
2 parents f4f8ce0 + 165c304 commit e54f7c6
Show file tree
Hide file tree
Showing 305 changed files with 12,959 additions and 2,974 deletions.
145 changes: 142 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,74 @@
OF 0.8.2
========

#### change key
+ added
- removed
/ modified

### Graphics
+ ofGetCurrentOrientationMatrix(): query current orientation matrix state (supported by ofGLProgrammableRenderer, ofGLRenderer)

------------------------------------------------------------------------------

CORE
----
### 3d
/ fix of3DPrimitive copy constructor not copying node

### app
+ ofAppEGLWindow added new methods hasMouse()/hasKeyboard() to provide info on whether mouse/keyboard were detected
+ ofAppEGLWindow has new method setThreadTimeout allowing adjustable wait time for the thread to join
### events
+ fix ofSetFrameRate to be more accurate
### gl
+ ofFbo: added new method to attach an external texture
+ ofFbo: fix regression on min/max filter settings
### Graphics
/ ofImage: convert format when loading different image types
/ Fix ofSetupPerspective not using passed width and height
### Math
/ fix ofQuaternion setOrientation and getEulerOrientation
### Utils
/ ofThread now uses Class name for logging channel (was thread name)
/ ofURLFileLoader: better shutdown, don't shutdown if it wasn't initialized + wait thread

PLATFORM SPECIFIC
-----------------
### Android
/ fix package generation, was missing paths.make
/ fix 32 bits ndk path
/ update project files to latest SDK/ADT (20140321)
/ fixed shader in shader example
/ disable x86 in assimp and opencv examples
/ shader and assimp examples reload gl resources when the app resumes
### Linux
/ video: fixes for videos which pixels have padding
/ video: close pipeline properly by sending and waiting for EOS event
/ system: fix dialog boxes
/ install & make: detect and use gtk 3 instead of 2 if it's available
###OSX
/ Reduce warnings on OSX

ORE ADDONS
-----------
### ofxAssimpModelLoader
/ fix to be able to put loaders on vectors
### ofxGui
+ ofxSlider: added get/setMin/Max

### ofxNetwork
/ fix port reuse on osx

OF 0.8.1
========

#### change key
+ added
- removed
/ modified

------------------------------------------------------------------------------

```
_____/\\\\\\\______________/\\\\\\\\\_______________/\\\_
Expand Down Expand Up @@ -27,22 +96,50 @@ CORE
+ ofGetCurrentMatrix() - returns current OpenGL matrix state (modelView-, projection- or textureMatrix) for ofGLProgrammableRenderer, ofGLRenderer.
### App
/ updated GLFW to latest master (20131204)
- delete temporary buffer in ofAppGlutWindow
+ GLFW now detects when an OF app has been launched as Retina
/ Fixed unset variables in ofMouseEventArgs
- remove early, unnecessary ESC check
/ ofxAppEGLWindow fix
### Communication
/ use binary mode (don't convert breaklines)
### Events
### Graphics
/ ofCairoRenderer: fix for moveTo when drawing ofPaths
/ ofDrawBox: on wireframe mode was recreating vertices on every call
/ fix ofImageType retrieval issue in ofTexture.readToPixels()
+ ofColor: added setHueAngle and getHueAngle
/ Fix for (ofColor == and != operators ignoring alpha)
### Math
/ ofMatrix3x3: fix incorrect multiplication
+ Added read-only access to current Matrix Stack
/ fix critical ModelViewMatrix issue when ofFbo::begin(setupScreen==false)
### GL
/ ofMaterial: fixed back emmisive material
/ Fix point sprites in openGL 3+
/ ofShader: #pragma include directive can now deal with relative paths for include files
/ Fix for mesh resolution parameters
/ Fix for the drawing of ofDrawArrow
/ fix critical issue w/ ofVbo shallow copies (custom attributes)
/ ofVbo custom attribute stride
/ fix ofShader include path behaviour
/ Modify ofVbo bind method to allow 2d vertices
/ Enabling GL_PROGRAM_POINT_SIZE in ofGLProgrammableRenderer
- remove setName from ofMesh
/ Assign allocated flag to true after allocating offscreenGWorldPixels
/ Fix gl programmable renderer of draw axis
/ fixed ofMaterial for opengl ES1
/ check if currentShader exists - prevents segfault
/ add more sophisticated openGL capability checks
+ displacement map example
### Sound
### Types
### Utils
+ ofXml(const& string) constructor added

/ Fixed loadDialogBrowseCallback to return UNICODE string
/ ofXml addressing seg errors when clearing
/ tiny log fix in ofSerial
+ ofXml get attribute to work with paths && non-paths
### Video

PLATFORM SPECIFIC
Expand All @@ -53,25 +150,67 @@ PLATFORM SPECIFIC
/ zip uncompress moved to java
/ several fixes in pause / resume workflow
/ fix camera not working on some devices + use external texture, should be faster
/ camera: add recording hint for fastest fps on newest devices
+ support for x86

/ Android building script error when building from Windows
/ Bug fixed, Compile error in ofxAndroidSoundPlayer
### Mac OS X
/ tr1/memory compile issue on OS X 10.9
/ use cc.openframeworks.ofapp as identifier on osx
/ ES3 + xcode5 fix for missing GL_STENCIL_INDEX
### iOS
/ iOSVideoGrabber memory leak fixes
/ iOS Example Fixes
+ added iosStoryboardExample
/ iOS-Storyboard Example Fix for <iOS7
/ Fix iOS SoundEngine memory leak
/ Use correct audio category for routing audio to speaker
+ Enabled pointsprites for OpenGLES
/ ofxiOSUIImageToOFTexture fix inside ofxiOSExtras
/ fixed depth issue with ios assimp example
/ texture cache fix for ofxiOSVideoPlayer
/ ios movie player example fix
/ ios feature for getting / setting clipboard string
### Linux
/ alsa as default instead of pulseaudio lower latency
/ makefile fixes for better eclipse parsing
/ videoplayer: fix alpha formats for gstreamer 0.10
+ install_dependencies installs libusb so ofxKinect compiles
- removed portaudio soundstream and all dependencies
/ Fix install_dependencies.sh for Fedora
/ project generator simple/linux: compile in release mode instead of debug
### Windows
/ fixed disable vertical sync through update in glfw
/ fix for ofGetFrameRate() going to infinity at high fps on windows
/ replaced poco 1.4.6 libs with 1.4.3p libs for vs2012
/ Changes to ofGstVideo files to compile with 0.10 gstreamer and fixup file names in Win32
/ Improve Dialog Win32
### Linux Arm
/ Fbo with ofClear now works properly
/ Fbo/Shader behavior now consistent with other platforms (can be used in update and draw)
/ Shaders used in draw() no longer cause GL Errors and corrupt display


CORE ADDONS
-----------
### ofxAssimpModelLoader
/ Remove ofMesh setName() in ofxAssimpModelLoader
### ofxKinect
+ Support for k4w and 1473 kinect with motor / accel / led control
/ Bugfix for disconnecting 1473 and K4W devices on OS X
/ Fixes typo in ofxCvImage that broke getRoiPixelsRef
+ added Windows driver install info to kinectExample header
### ofxGui
+ added ofParameter in the setup routine of ofxGuiGroup

PROJECT GENERATOR
-----------------

/ PG recompiled against 0.8.1
+ retina enabled for OSX
+ added support for adding frameworks on OSX


EXAMPLES
--------

Expand Down Expand Up @@ -211,7 +350,7 @@ CORE
### Math
+ 1D interpolation functions: ofCosine|Cubic|Catmull|HermiteInterpolate
+ generic wrapping function float ofWrap(float value, float from, float to)
/ ofWrapDegrees, ofWrapRadians only wrap the new ofWrap, don't enforce a 360°/2Pi cycle anymore.
/ ofWrapDegrees, ofWrapRadians only wrap the new ofWrap, don't enforce a 360°/2Pi cycle anymore.
/ ofxVectorMath now included in core (as ofVectorMath)

### GL
Expand Down
55 changes: 49 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,67 @@
[openFrameworks](http://openframeworks.cc/)
================
openFrameworks is a C++ toolkit for creative coding

Download
openFrameworks is a C++ toolkit for creative coding. If you are new to OF, welcome!


folder structure
--------

This release of OF comes with several folders:

* addons
* apps
* docs
* examples
* export (on some systems)
* libs
* other
* scripts
* project generator


`docs` has some documentation around OF usage, per platform things to consider, etc. You should definitely take a look in there, for example, if you are on OSX, read the osx.md. `apps` and `examples` are where projects go -- `examples` contains a variety of projects that show you how to use OF, and `apps` is where your own projects will go. `libs` contains the libraries that OF uses, including the openframeworks core itself. `addons` are for additional functionality that's not part of the core. `export` is for DLLs and dylibs that need to be put in each compiled project. The `scripts` folder has the templates and small scripts for automating OF per platform. `project generator` is a GUI based tool for making new projects - this folder is only there in packaged releases.

One idea that's important is that OF releases are designed to be self-contained. You can put them anywhere on your hard drive, but it's not possible to mix different releases of OF together, so please keep each release (0.8.0, 0.8.1) separate. Projects may generally work from release to release, but this is not guaranteed. Because OF is self-contained, there's extensive use of local file paths (ie, ../../../) thoughout OF. It's important to be aware of how directories are structured. A common error is to take a project and move it so that it's a level below or above where it used to be compared to the root of OF. This means that links such as ../../../libs will break.


Get involved
--------

The openframeworks forum:

[http://forum.openframeworks.cc/]()

is a warm and friendly place Please ask or answer a question. The most important part of this project is that it's a community, more than just a tool, so please join us! Also, this is free software, and we learn so much about what is hard, what doesn't make sense, what is useful, etc. The most basic questions are acceptable here! Don't worry, just join the conversation. Learning in OF is social, it's hard to do it alone, but together we can get far!

Our github site is active:

[https://github.com/openframeworks/openFrameworks]()

if you have bugs or feature requests, consider opening an issue. If you are a developer and want to help, pull requests are warmly welcome. Please read the contributing guide for guidelines:

https://github.com/openframeworks/openFrameworks/blob/master/CONTRIBUTING.md

We also have a developer's mailing list, which is useful for discussing issues around the development and future of OF.


Developers
------

To grab a copy of openFrameworks for your platform, check the [download page](http://openframeworks.cc/download) on the main site.

The `master` branch of this repository corresponds to the most recent release, with a few differences:
If you are working with the Git repository, the `stable` branch of the OF repository corresponds to the most recent release, with a few important differences:

1. The release includes a simple openFrameworks project generator.
2. This GitHub repository contains code and libs for all the platforms, but the releases are done on a per-platform basis.
3. This GitHub repository has no project files for the different examples. They are generated automatically for each release using a tool in `apps/devApps/projectGenerator/`.

How to
------
If you want to work with the openFrameworks GitHub repository, you should use the project generator to create project files for all the code in `examples/`.
For per-platform readmes, and more informations, see [documentation](docs/table_of_contents.md).
For per-platform readmes, and more informations, see the [documentation](docs/table_of_contents.md).

To set up the project generator submodule, use the command `git submodule init` then `git submodule update` whilst inside the openFrameworks repo.

Versioning
----------
openFrameworks uses [Semantic Versioning](http://semver.org/), although strict adherence will only come into effect at version 1.0.0.

42 changes: 42 additions & 0 deletions addons/.cproject
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1400488734">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1400488734" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration buildProperties="" id="cdt.managedbuild.toolchain.gnu.base.1400488734" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1400488734.902306010" name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1481541294" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.839125540" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
<builder id="cdt.managedbuild.target.gnu.builder.base.704838190" managedBuildOn="false" name="Gnu Make Builder.Default" superClass="cdt.managedbuild.target.gnu.builder.base"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1839791504" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1452912068" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base"/>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1238610489" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base"/>
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.539273223" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1745096672" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base"/>
<tool id="cdt.managedbuild.tool.gnu.assembler.base.703984486" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="addons.null.1300033385" name="addons"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
</cproject>
16 changes: 16 additions & 0 deletions addons/.project
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,23 @@
<project>openFrameworks</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public class OFAndroidSoundPlayer extends OFAndroidObject{
bIsLoaded = false;
bIsPlaying = false;
loop = false;
speed = 1.0f;
soundID = -1;
streamID = -1;
multiPlay = false;
Expand Down Expand Up @@ -40,6 +41,7 @@ void loadSound(String fileName, boolean stream){

void unloadSound(){
if(player!=null){
player.reset();
player.release();
player = null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,12 @@ public void initGrabber(int w, int h, int _targetFps, int texID){
Log.i("OF", "Grabber default preview size: " + config.getPreviewSize().width + "," + config.getPreviewSize().height);
config.setPreviewSize(w, h);
config.setPreviewFormat(ImageFormat.NV21);
try{
Method setRecordingHint = config.getClass().getMethod("setRecordingHint",boolean.class);
setRecordingHint.invoke(config, true);
}catch(Exception e){
Log.i("OF","couldn't set recording hint");
}
try{
camera.setParameters(config);
}catch(Exception e){
Expand Down Expand Up @@ -357,4 +363,4 @@ public void onOrientationChanged(int orientation) {
Object surfaceTexture;


}
}
2 changes: 1 addition & 1 deletion addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include "assimp.h"
#include "aiScene.h"

ofxAssimpAnimation::ofxAssimpAnimation(const aiScene * scene, aiAnimation * animation) {
ofxAssimpAnimation::ofxAssimpAnimation(shared_ptr<const aiScene> scene, aiAnimation * animation) {
this->scene = scene;
this->animation = animation;
animationCurrTime = 0;
Expand Down
Loading

0 comments on commit e54f7c6

Please sign in to comment.