fractalide / fractalide-oz

Proof of concept
GNU Affero General Public License v3.0
12 stars 3 forks source link

single procedure and QTk cards rewrite #44

Closed dmichiels closed 10 years ago

dmichiels commented 10 years ago

Single procedure

fix #43 fix #28 fix the synchronous nature of the components

The components have now a single procedure for the execution. There is no more port procedures or independent procedures. The components are declared :

component(inPorts(input)
                   outPorts(output)
                   procedure(proc{$ Ins Out Comp} ... end)
                 )

The argument Ins is a record containing all the buffers of the input ports. The feature is the name of the port, the value is the buffer. A array input port is represented as a sub-record. So in the example, Ins = inBuffers(input:). If there is an array port, that can look like Ins = inBuffers(input: arrayIn:buffers(1: 2:)).

The Out and Comp arguments are the same as before.

QTk cards

The QTk cards have only one flow of actions. So the ports ui_in, ui_out dispear. The other ones are renamed in, out and action. The creation of a widget is made with the "create" event. All examples in testWidget and testCanvas

The editor

The editor is compatible with these new changes

sjmackenzie commented 10 years ago

nice!