summaryrefslogtreecommitdiff
path: root/liveengineUnmapped/src/testApp.h
diff options
context:
space:
mode:
authorTim Redfern <tim@gray.(none)>2012-10-28 17:40:19 +0000
committerTim Redfern <tim@gray.(none)>2012-10-28 17:40:19 +0000
commit796d647fd38f7cf01cb70bbb0700b75427e42d55 (patch)
tree9022fe609a3db0e8f5d92bc179155a6f785707e0 /liveengineUnmapped/src/testApp.h
parent1584507071a2aa4cb27801e980dce0e1843069a4 (diff)
starting to build kinect addition
Diffstat (limited to 'liveengineUnmapped/src/testApp.h')
-rwxr-xr-xliveengineUnmapped/src/testApp.h205
1 files changed, 205 insertions, 0 deletions
diff --git a/liveengineUnmapped/src/testApp.h b/liveengineUnmapped/src/testApp.h
new file mode 100755
index 0000000..fe988f1
--- /dev/null
+++ b/liveengineUnmapped/src/testApp.h
@@ -0,0 +1,205 @@
+#pragma once
+
+//#include <GL/glxew.h>
+
+#include "ofMain.h"
+#include "ofxXmlSettings.h"
+
+/*
+modprobe snd-virmidi
+have had problems with it not being recognised - rebuild seemed to fix it
+
+
+6 controllers
+each note switches in 6 new visuals which are at the same strengths
+as the previous bunch
+
+is it necessary to represent them seperately?
+
+maybe take them all in, but initially modulate one picture on the strength of the strongest
+
+maybe each object is a plugin and the 6 controllers affect 6 parameters of it
+ie speed, matting type, colour tweak
+
+object that plays when a note is received can be called a track, a sample, a bank, a layer?
+
+object remembers playback head/ heads
+
+initial footage set for each track: program change?
+(does this leave any room for creative input) or set via gui?
+
+video playback object
+still image object
+
+load files in gui - loadable area
+
+creative input - alter layers live via AVS compatible system which also allows local MIDI control,
+scripting, manipulating layers etc
+
+probably pretty tricky to create a .ape loader - difficulty in recreating the windows GUI
+
+probably a lot easier to think about a way of making a modular editor that can be manipulated live
+nice to think about making scripted layers - using nseel or other
+
+initially - divide screen into grid - play notes with fade
+
+class that loads an svg and maps controllers to layers
+layers are there but maybe its best to draw all of the colours mapped in some way rather than cutting out layers - colour transformation based on a hue angle
+
+
+fix feedback - direction etc
+all drawn/ scaled from middle
+colours for svgs
+multi screen
+loader/ programme changer - seperate xml for main programme and for each content section
+script engine for scaling
+more specific colour filtering for photos
+auto masks based on colour
+
+wrap around/ scale textures
+
+3d blocks
+non random colours
+
+option to randomise colours on each note
+
+--make transparent
+
+--interface for exploring and saving - swapping?
+
+
+*/
+
+
+
+#define OF_ADDON_USING_OFXMIDIIN
+
+
+#include "ofxMidi.h"
+#include "ofxFensterManager.h"
+
+#include "ofxGui.h"
+
+
+#include "viewport.h"
+
+/*
+enum PropertyAttribute {
+ None = 0,
+ ReadOnly = 1 << 0,
+ DontEnum = 1 << 1,
+ DontDelete = 1 << 2
+};
+*/
+
+class previewWindow;
+class guiWindow;
+
+//#define GRAB_TEXTURE
+
+class testApp : public ofxFensterListener, public ofxMidiListener{
+
+ public:
+
+ void setup();
+ void update();
+ void draw();
+
+ void keyPressed(int key, ofxFenster* win);
+ 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 gotMessage(ofMessage msg);
+ void dragEvent(ofDragInfo dragInfo);
+ void dragEvent(ofDragInfo dragInfo,ofxFenster* win);
+
+ void mousePressedEvent(ofMouseEventArgs &args);
+ void keyPressedEvent(ofKeyEventArgs &args);
+ void windowEvent(ofResizeEventArgs &args);
+
+ void makeColours();
+
+ void toggleFPS();
+ bool showFPS;
+
+ ofxXmlSettings XML;
+
+ unsigned char* controllers;
+ int note, mode;
+
+ //to be moved into svg object gui
+
+ bool debug;
+
+ bool fullscreenoutput;
+
+ float lastnoteTime;
+ float decayTime;
+
+ int fadetime;
+ int rotate;
+ float scale,fscale;
+
+ int xshift,yshift;
+
+ ofColor* controller_colours;
+
+ float colShift;
+
+ viewport vp1,vp2;
+ vector<viewport*> viewports;
+
+ previewWindow *prevWin;
+ guiWindow *guiWin;
+
+ ofxFenster* win;
+
+ int midiChannel;
+
+ ofxMidiIn midiIn;
+
+ void newMidiMessage(ofxMidiEventArgs& eventArgs);
+
+ playlist list;
+
+
+ ofxPanel gui;
+ ofxToggle reversemain;
+ ofxToggle controlColours;
+ ofxToggle noteRandomiseColours;
+ ofxToggle transparentBlack;
+ ofxButton resetDrawscale;
+ ofxButton resetFBscale;
+
+ void resetDrawscalePressed(bool & pressed);
+ void resetFBscalePressed(bool & pressed);
+
+
+};
+
+
+class previewWindow: public ofxFensterListener{
+public:
+ ~previewWindow();
+ ofFbo *rb;
+ void setup();
+ void setBuffer(ofFbo *buffer);
+ void draw();
+};
+
+class guiWindow: public ofxFensterListener{
+public:
+ ~guiWindow();
+ testApp *parent;
+ void setup();
+ void setParent(testApp *p);
+ void draw();
+ void dragEvent(ofDragInfo dragInfo,ofxFenster* win);
+ void windowMoved(int x, int y);
+};
+
+