FAQ
Cover
This is the archive Discourse for the Processing (ALPHA) software.
Please visit the new Processing forum for current information.

   Processing 1.0 _ALPHA_
   Topics & Contributions
   Tools
(Moderator: REAS)
   Controller: Versatile Input Provider
« Previous topic | Next topic »

Pages: 1 2 
   Author  Topic: Controller: Versatile Input Provider  (Read 5895 times)
arielm

WWW
Controller: Versatile Input Provider
« on: Oct 31st, 2003, 1:24am »

it comes through the form of a popup window with a parametrable set of interactive user-interface components that can be easily accessed from processing.
 
http://www.processing.co.il/toolkit/controller/
 
a screen-shot of a Controller with a specific set of components:
 

 
it has been programmed in pure java, and it is integrable into processing (066+) by simply importing an external "jar" into your favorite sketch.
 
hope it will turn to something usefull!
 

Ariel Malka | www.chronotext.org
Steve

nerdytone WWW Email
Re: Controller: Versatile Input Provider
« Reply #1 on: Oct 31st, 2003, 2:19am »

that is really neat. It should make creating tools a lot more functional, awesome!
 
-steve
 
benelek

35160983516098 WWW Email
Re: Controller: Versatile Input Provider
« Reply #2 on: Oct 31st, 2003, 2:23am »

"bagel papa poule toolkit"... perhaps this is the Chrono-Controller?
 
arielm

WWW
Re: Controller: Versatile Input Provider
« Reply #3 on: Oct 31st, 2003, 9:10am »

ah, benelek, thanks for reminding me about things on my todo list
 
this one is not "time-based" yet, but it could be in the future, e.g. an option to have a deck to be able to record and replay gestures (that could be saved and even re-applied to other contexts...)
 

Ariel Malka | www.chronotext.org
REAS


WWW
Re: Controller: Versatile Input Provider
« Reply #4 on: Oct 31st, 2003, 10:29am »

exactly. i hope to see more of this.
 
vent

WWW
Re: Controller: Versatile Input Provider
« Reply #5 on: Oct 31st, 2003, 4:00pm »

Excellent job! I admire the clarity of the design. It appears to be extremely user friendly.
 

http://www.shapevent.com/
Koenie

170825270170825270koeniedesign WWW Email
Re: Controller: Versatile Input Provider
« Reply #6 on: Oct 31st, 2003, 4:10pm »

Good old pixel-style controller windows. mmm. this thing gives me a lot of inspiration.
 
Koenie
 

http://koeniedesign.com
mKoser

WWW Email
Re: Controller: Versatile Input Provider
« Reply #7 on: Oct 31st, 2003, 4:29pm »

Thank you Ariel ... this is VERY usefull!
 
As it is now, it is an extremely usefull tool...  
 
Would it be possible to make a command that re-opens the pop-up window? As an example if you are tweaking some reactive graphics, it would be nice to be able to open and close the window (or if you accidently close the window and don't want to relaunch the entire thing!).
 
uhh i think that is it for now ... REALLY NICE ARIEL
 
+ mikkel
« Last Edit: Oct 31st, 2003, 4:32pm by mKoser »  

mikkel crone koser | www.beyondthree.com | http://processing.beyondthree.com
arielm

WWW
Re: Controller: Versatile Input Provider
« Reply #8 on: Oct 31st, 2003, 5:40pm »

thank you all for the feedback,
 
and "a tool for tweaking reactive graphics" definitely sounds like something useful!
 
mikkel:
at the beginning, the controller popup window was designed in a way that it's not possible to close it, but then, i figured that with microsoft jvm, when, say, refreshing the browser or moving to another url: the popup isn't killed together with the host applet... so i had to enable a manual closing of the window that tries to kill as much as possible ressources previously used.
 
so at this stage, it's not compatible with the notion of re-opening on-demand a closed window.
 
maybe i'll manage sometimes to solve the problem for microsoft jvm so i can make the popup window unclosable again.
 

Ariel Malka | www.chronotext.org
Jerronimo

WWW
Re: Controller: Versatile Input Provider
« Reply #9 on: Nov 1st, 2003, 12:48am »

how about a method on the controller to show it again?
 
that way we can make a button to unhide it or something...
 
very cool controller, btw...  
 
Martin

122417302122417302martingomez_listsmg1ph WWW Email
Re: Controller: Versatile Input Provider
« Reply #10 on: Nov 1st, 2003, 1:45am »

Code:

Controller controller;
WindowEvent we;
 
void setup() {
  controller = new Controller(this, "hsliders: 1");
  WindowListener[] wl = controller.getWindowListeners();
  for( int i = 0; i < wl.length; i++ )
    controller.removeWindowListener( wl[i] );
  we = new WindowEvent( controller, WindowEvent.WINDOW_OPENED );
}
 
void loop() {
  background(controller.hsliders.get(0).getValue() * 255);
}
 
void mouseClicked() { // show/hide controller window
  if( controller.isVisible() ) {
    controller.setVisible(false);
  } else {
    controller.setVisible(true);
  }
}
 
void keyPressed() { // restore/minimize controller window
  if( controller.getExtendedState() == controller.NORMAL ) {
    controller.setExtendedState( we.WINDOW_ICONIFIED );  
  } else {
    controller.setExtendedState( controller.NORMAL );
  }
}
 
arielm

WWW
Re: Controller: Versatile Input Provider
« Reply #11 on: Nov 1st, 2003, 2:23am »

er... nice and quick hack!
 
like martin just demonstrated, the popup window is based on "Frame", which is afterall a well-known java class.
 
it means that it's possible to cancel the popup-window-closing behavior that i carefully set there , as well as, for example, reposition the window, resize it, minimize it etc...
 
i'll try to figure out which methods deserve to be implemented natively (based on usefulness and popularity), so keep on sending feedback!
 
p.s.
hey, martin, while we're here: do you know why microsoft jvm refuse to kill popups on applet-exit?
 

Ariel Malka | www.chronotext.org
Martin

122417302122417302martingomez_listsmg1ph WWW Email
Re: Controller: Versatile Input Provider
« Reply #12 on: Nov 1st, 2003, 6:48am »

ariel, it seems that you have an infinite loop in your controller class. msjvm doesn't automatically stop the thread for you so you'll have to do it manually. in your processing sketch, add the following:
 
Code:

public void stop() {
  controller.terminate();
  if (thread != null) thread = null;
  endNet();
  // uncomment the following as needed
  // endSerial();
  // endVideo();
  // endSound();
}

 
this will close the controller frame once the browser accesses another page/site.
 
note on previous code: WindowListener isn't part of msjvm so it won't work. if ariel decides to remove the window closing functionality of his controller, then it wouldn't be needed anymore.
 
arielm

WWW
Re: Controller: Versatile Input Provider
« Reply #13 on: Nov 1st, 2003, 11:58am »

thanks martin, but it's not the kind of solutions i'm seeking since the goal is to keep Controller as a simple-to-deploy processing extension that would not require the user to place such java hacks in her/his sketch.
 
in addition, i prefer a solution that is not relying on processing's inner threading system in order to shut down correctly (it works well like that with sun java and, btw, it's not an "infinite-loop" issue...)
 
so the idea is to solve the problem internally, which is probably feasible.
 
let's continue this java-chat off-board if you like,
 
a+
 

Ariel Malka | www.chronotext.org
Martin

122417302122417302martingomez_listsmg1ph WWW Email
Re: Controller: Versatile Input Provider
« Reply #14 on: Nov 1st, 2003, 12:21pm »

ah ok. you'll have to query the parent applet then. at any rate, just force the user to download sun's jvm. lol! easiest solution for them (and for you). simple-to-deploy
 
Pages: 1 2 

« Previous topic | Next topic »