public static void SetVolume(MixerInfo mi, VOLUME volume) { if (IntPtr.Size == 4) { MIXERCONTROLDETAILS mcd = new MIXERCONTROLDETAILS(); mcd.cbStruct = (uint)Marshal.SizeOf(typeof(MIXERCONTROLDETAILS)); mcd.dwControlID = mi.volumeCtl; mcd.cMultipleItems = 0; mcd.cChannels = 2; mcd.cbDetails = (uint)Marshal.SizeOf(typeof(VOLUME)); mcd.paDetails = Marshal.AllocHGlobal((int)mcd.cbDetails); Marshal.StructureToPtr(volume, mcd.paDetails, false); mixerSetControlDetails(IntPtr.Zero, ref mcd, MIXER.GETCONTROLDETAILSF_VALUE | MIXER.OBJECTF_MIXER); Marshal.FreeHGlobal(mcd.paDetails); } else { MIXERCONTROLDETAILS64 mcd = new MIXERCONTROLDETAILS64(); mcd.cbStruct = (uint)Marshal.SizeOf(typeof(MIXERCONTROLDETAILS64)); mcd.dwControlID = mi.volumeCtl; mcd.cMultipleItems = 0; mcd.cChannels = 2; mcd.cbDetails = (uint)Marshal.SizeOf(typeof(VOLUME)); mcd.paDetails = Marshal.AllocHGlobal((int)mcd.cbDetails); Marshal.StructureToPtr(volume, mcd.paDetails, false); mixerSetControlDetails(IntPtr.Zero, ref mcd, MIXER.GETCONTROLDETAILSF_VALUE | MIXER.OBJECTF_MIXER); Marshal.FreeHGlobal(mcd.paDetails); } }
static void Main(string[] args) { double R, VOLUME; R = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); VOLUME = 4.0 / 3.0 * 3.14159 * R * R * R; Console.WriteLine("VOLUME = " + VOLUME.ToString("F3", CultureInfo.InvariantCulture)); }
public static void AdjustVolume(MixerInfo mi, int delta) { VOLUME volume = GetVolume(mi); if (delta > 0) { volume.left = Math.Min(mi.maxVolume, volume.left + delta); volume.right = Math.Min(mi.maxVolume, volume.right + delta); } else { volume.left = Math.Max(mi.minVolume, volume.left + delta); volume.right = Math.Max(mi.minVolume, volume.right + delta); } SetVolume(mi, volume); }
static VOLUME GetVolume(MixerInfo mi) { MIXERCONTROLDETAILS mcd = new MIXERCONTROLDETAILS(); mcd.cbStruct = (uint)Marshal.SizeOf(typeof(MIXERCONTROLDETAILS)); mcd.dwControlID = mi.volumeCtl; mcd.cMultipleItems = 0; mcd.cChannels = 2; mcd.cbDetails = (uint)Marshal.SizeOf(typeof(int)); mcd.paDetails = Marshal.AllocHGlobal((int)mcd.cbDetails); mixerGetControlDetails(IntPtr.Zero, ref mcd, MIXER.GETCONTROLDETAILSF_VALUE | MIXER.OBJECTF_MIXER); VOLUME rtn = (VOLUME)Marshal.PtrToStructure(mcd.paDetails, typeof(VOLUME)); Marshal.FreeHGlobal(mcd.paDetails); return(rtn); }
public override string ToString() { s = (VOLUME)base.Tag; Binding myBinding = new Binding("type"); myBinding.Mode = BindingMode.TwoWay; myBinding.Source = s; txttype.SetBinding(ComboBox.TextProperty, myBinding); Binding myBinding2 = new Binding("value"); myBinding2.Mode = BindingMode.TwoWay; myBinding2.Source = s; txtval.SetBinding(TextBox.TextProperty, myBinding2); Binding descbinding = new Binding("Description"); descbinding.Mode = BindingMode.TwoWay; descbinding.Source = s; txtdesc.SetBinding(TextBox.TextProperty, descbinding); return base.ToString(); }
public override string ToString() { s = (VOLUME)base.Tag; Binding myBinding = new Binding("type"); myBinding.Mode = BindingMode.TwoWay; myBinding.Source = s; txttype.SetBinding(ComboBox.TextProperty, myBinding); Binding myBinding2 = new Binding("value"); myBinding2.Mode = BindingMode.TwoWay; myBinding2.Source = s; txtval.SetBinding(TextBox.TextProperty, myBinding2); Binding descbinding = new Binding("Description"); descbinding.Mode = BindingMode.TwoWay; descbinding.Source = s; txtdesc.SetBinding(TextBox.TextProperty, descbinding); return(base.ToString()); }
static void SetVolume(MixerInfo mi, VOLUME volume) { MIXERCONTROLDETAILS mcd = new MIXERCONTROLDETAILS(); mcd.cbStruct = (uint)Marshal.SizeOf(typeof(MIXERCONTROLDETAILS)); mcd.dwControlID = mi.volumeCtl; mcd.cMultipleItems = 0; mcd.cChannels = 2; mcd.cbDetails = (uint)Marshal.SizeOf(typeof(int)); mcd.paDetails = Marshal.AllocHGlobal((int)mcd.cbDetails); Marshal.StructureToPtr(volume, mcd.paDetails, false); mixerSetControlDetails(IntPtr.Zero, ref mcd, MIXER.GETCONTROLDETAILSF_VALUE | MIXER.OBJECTF_MIXER); Marshal.FreeHGlobal(mcd.paDetails); }