Skip to content

loveq369/GAmuza

 
 

Repository files navigation

About

GAmuza

The original idea was to make creative coding easier; then, usually jumping from Processing to OF, always trying new libraries/addons, the desire was, having OF with a Processing like IDE, + a bunch of GUI modules to avoid the technical programming stuff like Computer Vision, Audio Analysis, Arduino communication, etc..

So, this is it, this is GAmuza, made with OF, inspired by Processing, binding the (almost) entire OF language v.0.8.4 with his official addons included, the entire OpenGL 1.1 language, a bunch of other addons , and the small GAmuza framework of functions and GUI modules to make creative coding a lot more easier, all of it embedded into a slight modified Lua scripting environment.

Licence

The code in this repository is available under the MIT License.

Copyright (c) [2008-2015] [Emanuele Mazza]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Download

Last Release - GAmuza 0435 here

Older versions here

Installation

Just drag to Application folder.

Dependencies

OF

openFrameworks 0.8.4 with this patch and all the official addons.

Additional Libraries

  • Boost Library & headers

OFXADDONS

Due to a lot of modification applied to most of them, are all included in this repo in src/ofxAddons/

Frameworks

  • Sparkle.framework: project page

  • Syphon.framework

  • Accelerate.framework

  • AGL.framework

  • AppKit.framework

  • ApplicationServices.framework

  • AudioToolbox.framework

  • AudioUnit.framework

  • Carbon.framework

  • Cocoa.framework

  • CoreAudio.framework

  • CoreAudioKit.framework

  • CoreData.framework

  • CoreFoundation.framework

  • CoreMIDI.framework

  • CoreServices.framework

  • CoreVideo.framework

  • Foundation.framework

  • IOKit.framework

  • OpenAL.framework

  • OpenGL.framework

  • QTKit.framework

  • QuickTime.framework

  • ScriptingBrigde.framework

Compatibilities

openFrameworks 0.8.4

Compilation

Apple LLVM Compiler 4.1, for 32-bit architecture using OS X 10.7 base sdk.

Sketching (Live Coding)

These are some of the GAmuza IDE futures:

  • Line Numbering
  • Syntax Coloring
  • Code Completion
  • Multi Tab sketch editor (Processing like)
  • Live Coding
  • Various GUI Modules (Audio Analysis, Computer Vision, Arduino, Timeline)
  • Various tools (RGB/HSV Color selector, Custom Console)

Language

/* 
   
 GAmuza 1.0 examples 
 ---------------------
 Basics/emptyExample.ga
 
 Draw a flicking circle over mouse position.
 
 created by n3m3da | www.d3cod3.org
 
*/

function setup()
	ofSetCircleResolution(50)
end

function update()
    
end

function draw()
    gaBackground(0.0,1.0)

    ofSetColor(255)
    ofCircle(gaMouseX(),gaMouseY(),ofRandom(20,200))
end

GAmuza scripting language is based on LUA, integrated in OF with a modified version of ofxLua addon; a patched version of LUA 5.1 is compiled as a static library, and the entire binding of OF 0.7.4 with all the ofxAddons is made through LUABIND, while the binding of OpenGL 1.1 is coded directly from LUA using luaglut.

These are the most important LUA 5.1 patches

Bindings

LUA language

LUA 5.1 programming environment manual

OF 0.8.4 language EXCLUDING:

  • ofArduino --> managed from Arduino GUI module + GAmuza framework related functions
  • ofSoundStream -- managed from AudioAnalysis GUI module + GAmuza framework related functions
  • ofLog, ofLogFatalError, ofLogError, ofLogVerbose, ofLogWarning, ofLogNotice --> covered by GAmuza console panel
  • ofPoint --> use ofVec3f instead
  • ofRendererCollection
  • ofEvents
  • ofPtr

OF 0.8.4 official addons

GAmuza framework

  • functions list here

OPENGL 1.1

Modules

  • ARDUINO

GAmuza

  • AUDIO ANALYSIS

GAmuza

  • COMPUTER VISION from cameras (wrapped within a class and available from code)

ScreenShot

  • COMPUTER VISION from Kinect (wrapped within a class and available from code)

GAmuza

  • TIMELINE

GAmuza

  • MAPPER

GAmuza

Known issues

A lot

Contribute

Actually GAmuza v1.0 is in development (this repo) and is not finished yet, but this is just a matter of time, the real deal is porting this project to Linux and Windows (just for mac now, compatible from osx 10.7 Lion), so, if anyone interested in join me in this project, is more than welcome!!

Version history

=======

v1.0 | Rel. 0435

  • Updated GAmuza to OF 0.8.4 last official release
  • a lot of bug fixing

v1.0 | Rel. 0433

  • Updated XCode project, now compiling with Apple LLVM Compiler 4.1, goodbye old GCC 4.2!!!
  • ofxTwitter fixed & updated to API 1.1, included OAuth and JSON parser addons
  • small bug fixing

v1.0 | Rel. 0432

  • Fixed wrapper
  • general bug fixing

v1.0 | Rel. 0431

  • Fixed Preview aspect ratio texture scaling
  • Added export to HTML (simple script documentation)
  • Added Archive sketch (save everything to .zip)
  • Cleaning editor interface

v1.0 | Rel. 0426

  • initial version

About

GAmuza | Hybrid Live OF Sketching IDE | MAC version

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 73.0%
  • C 18.3%
  • Objective-C 5.4%
  • Objective-C++ 2.8%
  • GLSL 0.2%
  • Pure Data 0.2%
  • Other 0.1%