We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
Pages: 1 2 
Making Tools! (Read 11352 times)
Making Tools!
Apr 9th, 2010, 4:22pm
 
I'm trying to bootstrap Processing Tools development.
The basic infrastructure has been in place for years, but with little development.

We've started a working group at UCLA that meets Thursday from 5-8pm PST.

As usual, Florian Jenett is out in front.
UCLA CS student Devon Rifken is doing great work.

There's info about making Tools on the Developer's site:
http://dev.processing.org

Here are the current thoughts:

TOOL IDEAS & STATUS / COMPILED 9 APRIL 2010

GRAPHICS WIDGETS

+ Bezier editor [d.rifkin, Devin Rifkin]
+ Timeline Editor [d.rifkin, Devin Rifkin]
+ General shape editor [fjenett / Florian Jenett]
- Wave generator, additive tool
- Grid, Coordinate selector, Coordinate manager
- Timeline tool extension
 . Populate with easing functions
 . Add MIDI
 . Add coordinate (maybe related to a previous tool idea)
- Button creator
- Color Selector improvement
 . Sample any pixel on screen
 . Palette generator
 . Import #s into code (or clipboard)
- 3D Shape maker
 . Code, Tube, Surfaces (SurfaceLib), Pyramid, Torus, Teapot (http://en.wikipedia.org/wiki/Utah_teapot), Cow
- Wireframe or Polygon meshes tweakers
- Landscape generator
- OBJ viewer
- Image animation helper
- Sketching animation tool
- Transition between drawing in Processing and SVG files
- Print Ready Tool
 . Generates code needed to tile or scale a project for PDF and bitmaps


GRAPHICS TUTORIAL APPS

- Trigonometry teaching tool
 . Explain how sin() and cos() relate the the circle and angles
- More math education apps
- Famous Curves browser
 . http://www-history.mcs.st-and.ac.uk/Java/index.html
- Shaping Functions browser
 . http://www.flong.com/texts/code/shapers_poly/
 . http://www.flong.com/texts/code/shapers_exp/
 . http://www.flong.com/texts/code/shapers_circ/
 . http://www.flong.com/texts/code/shapers_bez/
- Lighting stage for testing out lights
 . Place and parameterize different lights within a scene
- Geometry filter/distortion
- Image filter/distortion


ENVIRONMENT TWEAKS AND IMPROVEMENTS

+ Export to Processing.js [fjenett / Florian Jenett]
- Different font highlighting schemes
 . P51+, P5Beta, Geek, Rainbow
- Library and Tool loader/unloader
 . Master file referenced from Processing.org
 . User can paste their own URL
- Uploader to any site
 . OpenProcessing, etc.
- GitHub integration
- Example viewer
- IDE Skins
- Syntax highlighting for Web
 . Include links to Reference like OpenProcessing

CODING ASSISTANTS

+ Live coding [fjenett / Florian Jenett]
+ Oblique Strategies [sansumbrella / David Wicks]
+ Mangle Selection [fry / Benjamin Fry]
- Template maker
- Class creation "wizard"
- Variable manager / Console
 . Constructs map, find and replace
- Debugging tool
 . Step through code
 . Turn on strict mode / training wheels
- Software map (UML)
- Code performance evaluator, profiler
- Finding and moving blocks of code
- Screen setup manager tool
 . Remove menu bar
 . Create multiple windows
- Events the edge of frustration
 . "KEYJAM"
 . visualize error message
- Highlight letters in your code to make messages
- Iterator tool (or Library)
 . Automating variation, re-run the code to see the total results
- Processing stats info / visualization
 . Time, # of compiles, etc.
- Code navigation tool
 . Builds a navigable diagram of classes and functions
 
 
KEY:
-  Todo
+  Done
[] Author
Re: Making Tools!
Reply #1 - Apr 9th, 2010, 5:18pm
 
Thank you a for pushing Tool development, Casey!
I was wondering since the Tool feature was introduced why there are only a few tools so far.
This is a great list of things what could be done in the future.

I just want to add there is already a tool that loads template files to start your sketch with http://processing.org/discourse/yabb2/num_1260933068.html This could be improved and i already made some suggestions but it is worth mentioning.

Oh and i was wondering what
+ Oblique Strategies [sansumbrella / David Wicks]
+ Mangle Selection [fry / Benjamin Fry]
is , because i havent heard of them and couldnt find any information about these tools.




Re: Making Tools!
Reply #2 - Apr 9th, 2010, 5:30pm
 
I just wanna add some more ideas. There are a lot of things that come to my mind while working. Not sure what is possible with tools. But i am going to add them anyway.

1. Autosave, this is a feature that was discussed several times. I would love to see this somehow. The possibility to turn on autosave saving your pde before you execute it. Maybe as autosave.pde in your sketchbook folder. It happens once in a while that the IDE crashes (due to wrong code/putting println() in the wrong place for example) and you lose all your code written after you saved the last time. I know there are ways to find your code somewhere in the tempfiles as jar file, but this would make it much easier.

2. something else, still not sure if this is more a general problem and not something a tool should/could solve, but more flexible tabs would be great. There have been some hacks, that made it possible to add your tabs to the left, or add another row
http://processing.org/discourse/yabb2/num_1244442296.html or like i mentioned in the post, make it possible to change the position of the tabs to organize them a bit better.

pretty sure i will add some more ideas and comments in the future.
Big thanks so far!
Re: Making Tools!
Reply #3 - Apr 9th, 2010, 6:24pm
 
Thanks. I hadn't seen the Template tool. I meant something a little different (a fixed set of code stubs for different types of programs), but it's great.

I've posted the first six contributed Tools on the Reference page:
http://www.processing.org/reference/tools/
Re: Making Tools!
Reply #4 - Apr 9th, 2010, 6:26pm
 
Oh, and Mangle Selection comes with the Processing source code as an example (it's useless as a tool beyond a few laughs, but it's a great example) and Oblique Strategies hasn't been released yet, but it's close.
Re: Making Tools!
Reply #5 - Apr 9th, 2010, 7:36pm
 
Quote:
Trigonometry teaching tool
. Explain how sin() and cos() relate the the circle and angles


Time for me to rewrite the tutorial at http://catcode.com/trig/ in Processing? (Originally written in Java)
Re: Making Tools!
Reply #6 - Apr 10th, 2010, 2:40am
 
OK, I've been wanting to try this for a while, but it seems docs are lacking and/or very out of date.

I checked out the source using svn, and I'm using OSX 10.5.8.

Using the make.sh in core/ (not macosx/ as per http://dev.processing.org/build/ ) ...

mungbean:~/Documents/P5hack/processing/core $ ./make.sh
chmod: preproc.pl: No such file or directory
./make.sh: line 6: ./preproc.pl: No such file or directory
./make.sh: line 7: jikes: command not found


Do I really have to build all of Processing just to make a Tool?

Is there some up to date doc or tutorial somewhere for getting started?

thanks
Re: Making Tools!
Reply #7 - Apr 10th, 2010, 3:14am
 
Ah OK scrub that, I think I got it...

I thought pde.jar should be in the Processing app somewhere, I assumed spotlight would find it but it appears not.

So, to build Mangler example... in /Applications/Processing.app/Contents/Resources/Java/tools/Mangler

chmod +x make.sh


(it's not executable by default, in v1.1)

mungbean:/Applications/Processing.app/Contents/Resources/Java/tools/Mangler $ ./make.sh
 adding: com/ (stored 0%)
 adding: com/transformers/ (stored 0%)
 adding: com/transformers/supermangletron/ (stored 0%)
 adding: com/transformers/supermangletron/Mangler.class (deflated 41%)


Seems to have built OK.

then...

mkdir ~/Documents/Processing/tools

and

cp -R Mangler ~/Documents/Processing/tools

(re)start Processing and I now have *two* "Mangle Selection" options in my Tools menu...


Re: Making Tools!
Reply #8 - Apr 10th, 2010, 5:24am
 
Tool building instructions: http://dev.processing.org/tools/

The Mangler tool includes a make.sh file, and does not require a full checkout of the system.

(incomplete) Processing build instructions: http://dev.processing.org/build/
Re: Making Tools!
Reply #9 - Apr 10th, 2010, 5:56am
 
http://dev.processing.org/tools/ doesn't actually say anything about how to *build* (ie. compile) a tool, hence my original question.

Are there any plans to add a Tools library to processing, so you can use it to write new Tools?  I've just spent a few hours hacking about in Java for the first time in years, and my heart sank when I ended up searching through swing javadocs again... Undecided



Re: Making Tools!
Reply #10 - Apr 10th, 2010, 11:55am
 
George will get better instructions for building Tools up soon. Let's please use the topic to discuss ideas. To answer briefly, you need to use a Java dev tool like Eclipse or NetBeans to build a tool. Just like with Libraries.
Re: Making Tools!
Reply #11 - Apr 10th, 2010, 11:58am
 
I used emacs and make.sh  Wink
Re: Making Tools!
Reply #12 - Apr 10th, 2010, 6:24pm
 
I haven't had a chance to explore the wonder of Tools yet, so I'm also hoping to build a sample tool and write a short tutorial about how.  Sometime in the next week or two.  Feel free to bug / shame me if I haven't gotten around to it!
Re: Making Tools!
Reply #13 - Apr 27th, 2010, 8:31pm
 
The toolset concept sounds great and a logical next step for Processing.

Is anyone familiar with Field ?  http://openendedgroup.com/field/wiki/OverviewBanners2

It has a lot of really nice concepts for developing code, such as embedding UI elements into the code to manipulate parameters at runtime. Although you code in Python, it supports Processing via jython. It's a very powerful tool but lacks the performance or ease of use of Ps directly.

I'm curious how runtime manipulation of objects could be done--possibly via a debugger?  Any thoughts ?
Re: Making Tools!
Reply #14 - May 19th, 2010, 6:09am
 
wow this looks promising.

keep it up!!
Pages: 1 2