Referencing is used within IGME as a way of building more structured forms of music and encourages musical development.
We will reuse a previous example in this tutorial. From the examples menu select "3_1 getting started"
Will now create a reference part. To do this add a standard part after part one on track two.
On this newly create part right click and select "set referenced part" from the drop down menu. Then left click on the first part
Click on the show dependencies button (top right) and a small arrow should show a visual connection between part 1 and 2.
As part 2 is referencing part 1 it means that its seed content is taken from part 1's output. In this situation we have setup simple repetition, however more complex structure can be created.
Pre vs Post
To illustrate referencing the below figure shows the two types of referencing. By default the second part will reference the first using a post reference, i.e. it takes the first part's result. A pre reference is used when you want to take a parts seed material.
This option can be configured by opening the reference part and toggling between pre and post in the drop down menu.
More complex structure
Other then making simple repeats referencing can be used to develop musical ideas. To do this open part 2 for editing by double clicking.
When editing a reference part we are not able to edit the seed material (as this is supplied from the previous part's output). However we can still apply various effects.
From the plugin pannel add a transform and subtractor plugins. Configure these as suggested in the following image.
Do a few iterations to ensure that the effect has worked.
If we return and edit part 1 (our original music) the reference would automatically update and part 2 would reference this new material. However you would need to compute another iteration on part 2, you can do this quickly by right clicking on the part and selecting "Do Iteration". Feel free to verify this.
Iteration parts are similar to reference parts and have a similar mechanisim for being setup and used. An iteration part is used when you want to repeat or duplicate a part but compute a new iteration. Therefore resusing a previous generative process.
For example in the figure below we have a single part on track 1 that is configued to produce a generative output and we repeat this 3 further times using iterator parts. The output of each iterator will be different.
You can see each bar is an iteration of the effect set up in part 1 (bar 1)
To demonstrate this open the example "4_1 chance". Add another part after part 1 on track 1 and select "add iterator part".
Right click on part 2 and select "set part to iterate" then select part 1. Again use the show dependencies button to ensure this has been setup.
There are two ways to compute iterations, you can either right click on part 2 and select "Do iteration" or at the top left change the "no iterations" drop down to "full iteration" and then hit render to re-iterate all the parts on the timeline.
Once you are happy with how a part sounds you can lock it by clicking on the lock button on the bottom right of the part you want to lock. A locked part will not be iterated when the render button is pushed. Parts can be freely unlocked should you wish to make further changes.
Download the the example from here here