aboutsummaryrefslogtreecommitdiffstats
path: root/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src
diff options
context:
space:
mode:
authorChris Kiefer <chrisk13fer@gmail.com>2011-11-03 18:05:24 +0000
committerChris Kiefer <chrisk13fer@gmail.com>2011-11-03 18:05:24 +0000
commitd09cc45d859aabbf76306fee49c1cec202c4f808 (patch)
tree3ddbfeaae1eb3372cb4e9169e724a304cffdbe01 /ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src
parent1d99419e6b50b4cacb776fb711874de03dbadc2f (diff)
maxiAtoms
Diffstat (limited to 'ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src')
-rw-r--r--ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp16
-rw-r--r--ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp90
-rw-r--r--ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h32
-rw-r--r--ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp45
-rw-r--r--ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h24
5 files changed, 207 insertions, 0 deletions
diff --git a/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp
new file mode 100644
index 0000000..b232966
--- /dev/null
+++ b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp
@@ -0,0 +1,16 @@
+#include "ofMain.h"
+#include "mp.h"
+#include "ofAppGlutWindow.h"
+
+//========================================================================
+int main( ){
+
+ ofAppGlutWindow window;
+ ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context
+
+ // this kicks off the running of my app
+ // can be OF_WINDOW or OF_FULLSCREEN
+ // pass in width and height too:
+ ofRunApp( new mp());
+
+}
diff --git a/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp
new file mode 100644
index 0000000..b8e5ffd
--- /dev/null
+++ b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp
@@ -0,0 +1,90 @@
+#include "mp.h"
+
+//--------------------------------------------------------------
+void mp::setup(){
+ ofEnableAlphaBlending();
+ ofSetupScreen();
+ ofBackground(0, 0, 0);
+ ofSetVerticalSync(true);
+// pyd.setup("localhost", 23612);
+// pyd.clear();
+
+
+ atomBuffer.resize(512);
+
+
+ ofxMaxiSettings::setup(44100, 2, 512);
+ ofSoundStreamSetup(maxiSettings::channels,0,this, maxiSettings::sampleRate, maxiSettings::bufferSize, 4);/* Call this last ! */
+
+}
+
+//--------------------------------------------------------------
+void mp::update(){
+ flArr test;
+ maxiAtoms::createGabor(test, maxiMap::linexp((float)mouseX/ofGetWidth(), 0, 1, 100, 10000) * (1.0 + (ofRandomuf() * 0.2)),
+ maxiSettings::sampleRate,
+ maxiMap::linlin((float)mouseY / ofGetHeight(), 0, 1, 2000, 40000) * (1.0 + (ofRandomuf() * 0.3)),
+ ofRandomf() * PI, 0.3, 0.05);
+ atStream.addAtom(test);
+
+}
+
+//--------------------------------------------------------------
+void mp::draw(){
+
+}
+
+void mp::audioRequested (float * output, int bufferSize, int nChannels){
+ memset(&atomBuffer[0], 0, sizeof(float) * bufferSize);
+ atStream.fillNextBuffer(&(atomBuffer[0]), bufferSize);
+ for (int i = 0; i < bufferSize; i++){
+ output[i*nChannels ] = output[i*nChannels + 1] = atomBuffer[i];
+ }
+
+}
+
+
+//--------------------------------------------------------------
+void mp::keyPressed(int key){
+
+}
+
+//--------------------------------------------------------------
+void mp::keyReleased(int key){
+
+}
+
+//--------------------------------------------------------------
+void mp::mouseMoved(int x, int y ){
+
+}
+
+//--------------------------------------------------------------
+void mp::mouseDragged(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void mp::mousePressed(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void mp::mouseReleased(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void mp::windowResized(int w, int h){
+
+}
+
+//--------------------------------------------------------------
+void mp::gotMessage(ofMessage msg){
+
+}
+
+//--------------------------------------------------------------
+void mp::dragEvent(ofDragInfo dragInfo){
+
+} \ No newline at end of file
diff --git a/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h
new file mode 100644
index 0000000..00d185e
--- /dev/null
+++ b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include "ofMain.h"
+#include "ofxMaxim.h"
+#include "maxiAtoms.h"
+//#include "pyOSCDebug.h"
+
+class mp : public ofBaseApp{
+
+ public:
+ void setup();
+ void update();
+ void draw();
+
+ void keyPressed (int key);
+ void keyReleased(int key);
+ void mouseMoved(int x, int y );
+ void mouseDragged(int x, int y, int button);
+ void mousePressed(int x, int y, int button);
+ void mouseReleased(int x, int y, int button);
+ void windowResized(int w, int h);
+ void dragEvent(ofDragInfo dragInfo);
+ void gotMessage(ofMessage msg);
+
+ void audioRequested (float * input, int bufferSize, int nChannels); /* output method */
+
+// pyOSCDebug pyd;
+ maxiAtomStream atStream;
+
+ flArr atomBuffer;
+
+};
diff --git a/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp
new file mode 100644
index 0000000..3af8084
--- /dev/null
+++ b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp
@@ -0,0 +1,45 @@
+/*
+ * pyOSCDebug.cpp
+ * bastardPop
+ *
+ * Created by Chris on 25/10/2011.
+ * Copyright 2011 Goldsmiths Creative Computing. All rights reserved.
+ *
+ */
+
+#include "pyOSCDebug.h"
+
+pyOSCDebug::pyOSCDebug() {
+ ready = false;
+}
+
+void pyOSCDebug::setup(string host, int port) {
+ osc.setup(host, port);
+ ready = true;
+}
+
+void pyOSCDebug::clear() {
+ if (ready) {
+ ofxOscMessage m;
+ m.setAddress("/clear");
+ osc.sendMessage(m);
+ }
+}
+
+
+void pyOSCDebug::send(vector<float> data) {
+ send(&(data[0]), data.size());
+}
+
+void pyOSCDebug::send(float *data, unsigned int count) {
+ if (ready) {
+ ofxOscMessage m;
+ m.setAddress("/data");
+ for(int i=0; i < count; i++) {
+ m.addFloatArg(data[i]);
+ }
+ osc.sendMessage(m);
+ }
+}
+
+
diff --git a/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h
new file mode 100644
index 0000000..020f0fd
--- /dev/null
+++ b/ofxMaxim/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h
@@ -0,0 +1,24 @@
+/*
+ * pyOSCDebug.h
+ * bastardPop
+ *
+ * Created by Chris on 25/10/2011.
+ * Copyright 2011 Goldsmiths Creative Computing. All rights reserved.
+ *
+ */
+
+#include "ofxOSC.h"
+#include <vector>
+
+class pyOSCDebug {
+public:
+ pyOSCDebug();
+ void setup(string host, int port);
+ void clear();
+ void send(vector<float> data);
+ void send(float *data, unsigned int count);
+private:
+ ofxOscSender osc;
+ bool ready;
+
+}; \ No newline at end of file