Tone Curve Nodes
Tone curve nodes enable users to adjust the brightness of an image across different parts of the spectrum. For example, highlights can be made darker or shadows made brighter.
Each point in the curve can be adjusted in two ways: either the user can adjust them using the vertical slider controls that overlay the image in the preview window or they can assign nodes as inputs. In the image above, the selected tone curve node has input nodes assigned to points one and five, so the vertical sliders are hidden for those.
Number Dials
In previous versions of Nodality, the only way to enter a number was through the calculator style numeric keyboard. This didn't make for easy tweaking or exploring. The new number dial nodes offer a far easier way to adjust numeric values.
By default, number dials have a range of between zero and one. However, they accept min and max values through number nodes or other number dials. In the image above, I've created a network of number dials that set each others min and max values.
Like any other node, the output of a number dial can be used as the input to any number of other nodes, so that adjusting it can, as in this example, change the parameters on several image filters:
Because rich networks of nodes can sometimes take a moment or two to render and to keep Nodality responsive, both the tone curve and number dial nodes don't immediately update their nodes. You'll notice that while you're adjusting them, they take on a gray colour until you pause for a moment. After that pause, the node value is updated.
Photo Effects
The final headline from 1.5 is the introduction of eight photo effect filters. These are preconfigured filters that you may recognise from your iOS device. The don't accept any additional parameters over an image input.
I've finally added the ability to remove inputs from nodes - this is accessed via the menu button in the bottom left (or right, if you've swiped the detail panel leftwards to reposition it).
As Nodality evolves from its roots as a calculator app, I've removed the counter and graph node types. The way they were implemented works slightly at odds with the way filtering works and in 1.6, I'll be optimising the code further for image handling.
There are two known minor bugs in Nodality 1.5 - both tone curve and number dial nodes render slightly oddly if one of their inputs is deleted. This isn't a fatal bug and changing either the node's slider or dial value corrects the issue. The bug will be fixed, along with some exciting new features, in 1.6.
Maybe more of an oversight rather than a bug is that Nodality doesn't automatically save work in progress. This means that if the user switches apps and iOS restarts Nodality, it opens the last explicit save. I plan to add automatic work in progress saving in 1.6.
Nodality is written using Apache Flex and Adobe AIR and is totally free with no hidden in-app purchases.