Coded Beauty/JustLineOn Tutorial
Okay I knew this was going to happen. Deadlines were tough for my thesis project and as soon as the whole thing was done I got lazy. That’s why there is no documentation or tutorial for my thesis Project. And of course now everybody is confused about the use of JustLineOn. So I think it’s time for me to change that so more people may be able to explore this project.
Oh and one more thing before I go on: The thesis is called “Coded Beauty” and the program of that project is called “JustLineOn”. Just to save you from confusion.
The concept of JustLineOn
Okay in theory it’s quite simple.
There are 3 basic elements and a bunch of helper elements. They are:
Everything is formed from those elements. So let’s see what they do.
LineServer basically do nothing else than serving a constant stream of x/y coordinates. What these coordinates are is what makes different kinds of LineServers different. Those coordinates could simply be the position of the mouse. Or they can be randomly mixed all over the stage. Or they can form a certain path or pattern. This is obviously the most common way they will operate.
Each Lineserver can have as many PointTransformers and Painters added as a child.
PointTransformers can be added to LineServers and “do something” to the coordinates coming from the LineServer. Here’s a simple example:
coordinates from LineServer (10/5) -> PointTransformers adds 5 to each value -> (15/10)
Painters are attached to LineServers as well and receive the coordinates after they went through all PointTransformers attached to that LineServer. So using the example from above all Painters attached to the the same LineServer would receive the coordinates (15/10).
Then what Painters do is quite loosely defined: Draw something according to that coordinates. Most simple examples: Draw dots at those coordinates or connect them with lines.
Palettes can be added to Painters. Palettes represent collections of colours. These Palettes can either be static or dynamic. If static you can manually add colours to them. If dynamic they “fill themselves” according to a certain system. For example they could just be filled with random numbers. Or start at some colour and constanly decrease Saturation.
To fill static palettes with a gradient of colours you can easily define a gradient that smoothly fades between as many colours in as many steps as you want.
Just define a color using a RGBA color. These are used to fill static palettes directly or via the Gradients element.
How to use JustLineOn?
There are some simple Key-Controls:
Caps Lock - play/stop Space - reset R - reset & play + - faster - - slower O (letter O) - load new Project P - export PNG J - export JPEG
How to create your own projects?
There are 2 different approaches. Either you program or you combine&configure. Second is used for people who can’t code (or lazy people)
If you want to have maximal flexibility grab yourself the source and get started. You can either combine those LineServers, PointTransformers, Painters, and Palettes I already created or you can create your own by extending the corresponding classes. For details check the ASDOC or wait for the next tutorial I am going to publish here soon about the technical details of this project.
If you wanna go the fast and easy way you can do that by simple XML configuration files. Don’t be scared if you never heard of XML before. It’s really easy. Also for that approach I’ll be publishing a tutorial really soon. If you just want to try it on your own check out the XML files in the projects folder. There you can find various XML projects and might figure out how it works on your own. Start with “Beispielprojekt.xml” as it is the least complex one.
Oh one more thing. If you start the controller application it will be black. As soon as you load a project in JustLineOn you will see a lot of controls appear. Some are those you have via Key-Controls already. Most of them refer to parameters in LineServers, PointTransformers and Painters. Those are the same parameters you can control via XML as well. I know that those controls look really confusing on most projects. Again – try “Beispielprojekt.xml” for a start.
With these controls you can influence a program while running and you can easily experiment with the parameters.
I hope this offers a good short introduction to JustLineOn and I would love to hear your thoughts on that project. So grab yourself a copy and start experimenting. And please check back soon to see my other tutorials about how to create your own projects with JustLineOn.
Oh and if you create nice pictures I would really love to see them. Mail me or put them on flickr and tag them “JustLineOn”.