public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            var componentDescription = new AudioComponentDescription {
                ComponentType = AudioComponentType.Effect,
                ComponentSubType = 0x666c7472,
                ComponentManufacturer = (AudioComponentManufacturerType)0x44656d6f,
                ComponentFlags = 0,
                ComponentFlagsMask = 0
            };

            AUAudioUnit.RegisterSubclass (
                new Class (typeof(AUv3FilterDemo)),
                componentDescription,
                "Local FilterDemo",
                int.MaxValue
            );

            EmbedPlugInView ();

            playEngine = new SimplePlayEngine ();

            playEngine.SelectEffectWithComponentDescription (componentDescription, ConnectParametersToControls);

            playEngine.AudioUnit.TransportStateBlock = (ref AUHostTransportStateFlags transportStateFlags, ref double currentSamplePosition, ref double cycleStartBeatPosition, ref double cycleEndBeatPosition) => {
                transportStateFlags = AUHostTransportStateFlags.Recording;

                currentSamplePosition = 10.0;
                cycleStartBeatPosition = 0.0;
                cycleEndBeatPosition = 20.0;

                return true;
            };
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			playEngine = new SimplePlayEngine (
				AudioUnitTableView.ReloadData
			);
		}