Building and Using Factories with the WaveThunder 9.2
Factories
With Factories, you can manipulate Waves, it also processes values.
A Factory is drawed as a Rectangle in a Window. You see this Factory from inside, so it is possible to view and change it.
A Factory can also have Nodes, these are black boxes, which is a (virtual) Factory seen from the outside.
There are 8 kind of Factories:
By running these Factories, the WaveThunder will create a new Wave Window,
filled with the Wave that is created by the Factory. The Factory can also make a selection of the wave.
By running these Factories, the WaveThunder will change the content and the selection of Wave Window.
The Factory reads the Wave and the selection, and create a new Wave and a new selection of the Wave.
This Factory is used by Music Windows while generating Music. A result of the Staff or Note Group can use this Factory to manipulate the result.
This Factory is used by Factory Players for creating Music. For every Note to be Player by this Factory, this Factory is used. The Factory has to Create a Wave.
This Factory can be (re)used by another Factories. It has no restrictions on the inputs and the outputs.
The Factory change some Inputs to Outputs, by applying the factory repeatedly on these Inputs. The effect is a chain of the conent of this factory with a certain length.
This Factory can be (re)used by another Factories in a spacial way. It is used in a function with a repeating loop, which will run such factory in every turn. Al results (waves) are mixed together in one wave, which becomes the result of that function. It is for example very useful for creating echoes.
The Factory generates a Wave Value for each given position, to create a mono Wave.
Factory Windows
Factories are stored in Files
You can:
Factory Nodes
Factories make use of Nodes.
There are 5 kind of Nodes:
These Nodes a given by the WaveThunder itself. This are for example sound manipulating function,
as you can use directly on Wave windows, or for example mathematical functions.
These Nodes use Factories to do the work. This Factory must be loaded in the WaveThunder.
This kind of Node has Input Count the count of the running session of the connected Simple Loop Factory.
Aftereach run session the Result of Outputs is copied to Inputs before running again.
These Nodes use Mix Loop Factories to do the work. You can specify how many times the Loop Mix Node will run,
to create the sound by this Node.
These Nodes generates a Mono Wave by using the Wave Formula Factory. The Factory generates a Wave Value for each given position.
Make: Silence, Line (linear and exponential), Block Wave, Triangle Wave, Sinus Wave, Noise. Each of there functions in two forms: Create Wave and add to existing Waves
Delete, Trim, Replace, Insert, Extract, Split and Merge Horizontally and Vertically, Mix, Multi Mix, Multi Concat
Change Volume, Balance, Length, Roll in and out, Reverse, Mix Left with Right, Period Echo, Change Tempo and/or Pitch, Move Horizontally and Vertically, Distort and Block.
High and Low Filter, Resonant and Notch Filter, Block Filter.
Add, Distract, Multiply and Divide. (Un)equal, Greater (or equal), Minimum, Maximum, (Log) Mean Value, Modulo in Range, Convert Range, (Gaussian) Random Value, Power, Root, Log, (Arc)Sine, (Arc)Cosine,(Arc)Tangent.
Not, And, Or, Nand, Nor, Xor, Imp.
Get or Set Wave Properties, Point in Wave, Wave Statistics, Boolean or Integer Switch Wave or Value, Convert Position to Time at Wave, Convert Time to Position at Wave, Pick First Wave or Value, Has Value, Has Wave, Empty Wave as None, Constant Wave, Constant Value,
Factory Window Modes
Factory and Node Inputs and Outputs
Inputs and Outputs are a part of Factories and Nodes.
A Connection can be made between Sources and Targets, it is drawed as an arrow.
A Source is always an Input of a Factory of an Output of a Node.
A Target is always an Output of a Factory of an Input of a Node.
Every Source can have more than one Connections, a Target only can have one Connection.
Every Input and Output has a Type Domain.
The Type Domains with single Types:
The Type Domains with compound Types:
Every Input and Output has also a Value Domain:
Contents of Inputs and Outputs
An Input or Output can have a Content.
A Contents has always a Type: