My Pure data patch outer screens.

This is the final version of my pure data patch for the outer two screens.

It is very simple, but still the most sophisticated patch I have built to date.

The metronome object is used to  synchronise the play back of ‘random’ (referring to the random object within P.D)  videos and sounds from my data base and also to alternate the position of two Gemheads within the screen space.

Outer screens top level patch. 

Sub Patches

The videos within my database are organized based on the themes – Inward, Outward, Left to right and Right to left. The movselectA and movselectB objects are nested within my patch. The random number object is used to select a category and then a clip within that category.

movselectA

movselectB 

This is the same as movselectA only the categories are inverted, thus if category’ inward’ is selected in movselectA then category ‘outward’ will be selected in movselectB.

wavselectA + wavselectB

There is one unique sound for each video ‘wavselectA/B’ controls the playback and functions in the same way as  ‘movselectA/B’

In my installation this patch is running on two computers which are networked together, it thus creates almost perfect synchronizing between the 4 channels of video featured on the outer two screens. Thanks to Ed Kelly for help setting up the network and also giving me his timeseed and dsp_meter patches which I have also utilized.

Indirection.

Indirection

From Wikipedia.

‘In computer programming, indirection is the ability to reference something using a name, reference, or container instead of the value itself. The most common form of indirection is the act of manipulating a value through its memory address. For example, accessing a variable through the use of a pointer. A stored pointer that exists to provide a reference to an object by double indirection is called an indirection node. In some older computer architectures, indirect words supported a variety of more-or-less complicated addressing modes.

A famous aphorism of David Wheeler goes: All problems in computer science can be solved by another level of indirection;  this is often deliberately mis-quoted with “abstraction layer” substituted for “level of indirection”. Kevlin Henney’s corollary to this is, “…except for the problem of too many layers of indirection.”