// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace GES {

	using System;

	public delegate void SelectElementTrackHandler(object o, SelectElementTrackArgs args);

	public class SelectElementTrackArgs : GLib.SignalArgs {
		public GES.Clip Clip{
			get {
				return (GES.Clip) Args [0];
			}
		}

		public GES.TrackElement TrackElement{
			get {
				return (GES.TrackElement) Args [1];
			}
		}

	}
}
