// This file was generated by the Gtk# code generator.
// Changed to include the MixerType property

namespace Gst.Interfaces {

	using System;

#region Autogenerated code
	public interface Mixer : GLib.IWrapper {
		Gst.Interfaces.MixerType MixerType {
			get;
		}
		void VolumeChanged(Gst.Interfaces.MixerTrack track, int[] volumes);
		Gst.Interfaces.MixerTrack[] ListTracks();
		void SetOption(Gst.Interfaces.MixerOptions opts, string value);
		void SetVolume(Gst.Interfaces.MixerTrack track, int[] volumes);
		void MuteToggled(Gst.Interfaces.MixerTrack track, bool mute);
		void OptionChanged(Gst.Interfaces.MixerOptions opts, string value);
		void OptionsListChanged(Gst.Interfaces.MixerOptions opts);
		string GetOption(Gst.Interfaces.MixerOptions opts);
		void SetRecord(Gst.Interfaces.MixerTrack track, bool record);
		void RecordToggled(Gst.Interfaces.MixerTrack track, bool record);
		int[] GetVolume(Gst.Interfaces.MixerTrack track);
		Gst.Interfaces.MixerFlags MixerFlags { 
			get;
		}
		void MixerChanged();
		void SetMute(Gst.Interfaces.MixerTrack track, bool mute);
	}

	[GLib.GInterface (typeof (MixerAdapter))]
	public interface MixerImplementor : GLib.IWrapper {

		Gst.Interfaces.MixerTrack[] ListTracks ();
		void SetVolume (Gst.Interfaces.MixerTrack track, int[] volumes);
		int[] GetVolume (Gst.Interfaces.MixerTrack track);
		void SetMute (Gst.Interfaces.MixerTrack track, bool mute);
		void SetRecord (Gst.Interfaces.MixerTrack track, bool record);
		void SetOption (Gst.Interfaces.MixerOptions opts, string value);
		string GetOption (Gst.Interfaces.MixerOptions opts);
		Gst.Interfaces.MixerFlags MixerFlags { get; }
	}
#endregion
}