02.02.2013 Views

1. First steps in Reaktor Core - Native Instruments

1. First steps in Reaktor Core - Native Instruments

1. First steps in Reaktor Core - Native Instruments

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

�<br />

��<br />

���� �<br />

�� ��<br />

72 – REAKTOR CORE<br />

������<br />

�� ��<br />

��<br />

�����<br />

�� ��<br />

Even when it appears that the relative order of read and write operations is<br />

irrelevant, it doesn’t hurt to impose a particular order, and it’s a little bit<br />

safer.<br />

The relative order of write operations is important. The relative order of<br />

read operations does not matter, as long as their order relative to the<br />

write operations rema<strong>in</strong>s def<strong>in</strong>ed.<br />

OBC connections are not compatible with normal signal connections.<br />

Furthermore, OBC connections correspond<strong>in</strong>g to different types of objects<br />

(for example, different float<strong>in</strong>g po<strong>in</strong>t precision of memory storage)<br />

are not compatible with each other. P<strong>in</strong>s of <strong>in</strong>compatible types cannot<br />

be connected; for example, you cannot connect a normal signal output<br />

to an OBC <strong>in</strong>put.<br />

4.3. Initialization<br />

As we are start<strong>in</strong>g to work with objects that have an <strong>in</strong>ternal state (<strong>in</strong> case of<br />

Read and Write, the shared memory of the objects is their <strong>in</strong>ternal state), it<br />

becomes important to understand what the <strong>in</strong>itial state of the structure you’ve<br />

built is. For example if we are go<strong>in</strong>g to read a value from memory (us<strong>in</strong>g a<br />

Read module) before anyth<strong>in</strong>g is written to it, what value will be read? And,<br />

if we don’t like the default value, how can we change it?<br />

Those questions are addressed by the <strong>in</strong>itialization mechanism of <strong>Reaktor</strong> <strong>Core</strong>.<br />

The <strong>in</strong>itialization of core structures is performed <strong>in</strong> the follow<strong>in</strong>g way:<br />

- first, all state elements are <strong>in</strong>itialized to some default values, usually<br />

zeroes. Particularly all shared memory and all output values of the<br />

modules will be set to zeroes, unless explicitly specified otherwise <strong>in</strong><br />

the documentation<br />

- second, an <strong>in</strong>itialization event is sent simultaneously from all <strong>in</strong>itialization<br />

sources. The <strong>in</strong>itialization sources <strong>in</strong>clude most of the modules<br />

that do not have an <strong>in</strong>put: Const modules (<strong>in</strong>clud<strong>in</strong>g QuickConsts), core<br />

cell <strong>in</strong>puts (typically), and some others. The sources would normally<br />

send their <strong>in</strong>itial values dur<strong>in</strong>g an <strong>in</strong>itialization event; for example,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!