diff --git a/MPfm/MPfm.Mac/AppDelegate.cs b/MPfm/MPfm.Mac/AppDelegate.cs index 0108ebba..7c237106 100644 --- a/MPfm/MPfm.Mac/AppDelegate.cs +++ b/MPfm/MPfm.Mac/AppDelegate.cs @@ -52,7 +52,7 @@ public override void FinishedLaunching(NSObject notification) Bootstrapper.GetContainer().Register().AsMultiInstance(); Bootstrapper.GetContainer().Register().AsMultiInstance(); Bootstrapper.GetContainer().Register().AsMultiInstance(); - Bootstrapper.GetContainer().Register().AsMultiInstance(); + //Bootstrapper.GetContainer().Register().AsMultiInstance(); Bootstrapper.GetContainer().Register().AsMultiInstance(); // Create and start navigation manager diff --git a/MPfm/MPfm.Mac/Windows/Controllers/EffectsWindowController.cs b/MPfm/MPfm.Mac/Windows/Controllers/EffectsWindowController.cs index 6901f30b..09bf1680 100644 --- a/MPfm/MPfm.Mac/Windows/Controllers/EffectsWindowController.cs +++ b/MPfm/MPfm.Mac/Windows/Controllers/EffectsWindowController.cs @@ -1,393 +1,393 @@ -// Copyright © 2011-2013 Yanick Castonguay -// -// This file is part of MPfm. -// -// MPfm is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// MPfm is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with MPfm. If not, see . - -using System; -using System.Collections.Generic; -using System.Linq; -using MonoMac.AppKit; -using MonoMac.Foundation; -using MonoMac.CoreGraphics; -using MPfm.MVP; -using MPfm.MVP.Views; -using MPfm.MVP.Presenters.Interfaces; - -namespace MPfm.Mac -{ - public partial class EffectsWindowController : BaseWindowController, IEffectsView - { - readonly IEffectsPresenter effectsPresenter = null; - - #region Constructors - - // Called when created from unmanaged code - public EffectsWindowController(IntPtr handle) - : base (handle) - { - Initialize(); - } - - // Call to load from the XIB/NIB file - public EffectsWindowController(IEffectsPresenter effectsPresenter, Action onViewReady) - : base ("EffectsWindow", onViewReady) - { - this.effectsPresenter = effectsPresenter; - Initialize(); - this.effectsPresenter.BindView(this); - } - - // Shared initialization code - void Initialize() - { - } - - #endregion - - //strongly typed window accessor - public new EffectsWindow Window - { - get - { - return (EffectsWindow)base.Window; - } - } - - public override void WindowDidLoad() - { - base.WindowDidLoad(); - - } - - public override void AwakeFromNib() - { - base.AwakeFromNib(); - - viewBackground.GradientColor1 = new CGColor(0.125f, 0.125f, 0.125f, 1.0f); - viewBackground.GradientColor2 = new CGColor(0.35f, 0.35f, 0.35f, 1.0f); - viewBackgroundPreset.GradientColor1 = new CGColor(0.85f, 0.85f, 0.85f, 1.0f); - viewBackgroundPreset.GradientColor2 = new CGColor(0.6f, 0.6f, 0.6f, 1.0f); - viewBackgroundPreset.HeaderGradientColor1 = new CGColor(0.925f, 0.925f, 0.925f, 1.0f); - viewBackgroundPreset.HeaderGradientColor2 = new CGColor(0.65f, 0.65f, 0.65f, 1.0f); - viewBackgroundPreset.IsHeaderVisible = true; - viewBackgroundInformation.GradientColor1 = new CGColor(0.85f, 0.85f, 0.85f, 1.0f); - viewBackgroundInformation.GradientColor2 = new CGColor(0.6f, 0.6f, 0.6f, 1.0f); - viewBackgroundInformation.HeaderGradientColor1 = new CGColor(0.925f, 0.925f, 0.925f, 1.0f); - viewBackgroundInformation.HeaderGradientColor2 = new CGColor(0.65f, 0.65f, 0.65f, 1.0f); - viewBackgroundInformation.IsHeaderVisible = true; - - popupPreset.Font = NSFont.FromFontName("Junction", 11.5f); - lblName.Font = NSFont.FromFontName("Junction", 11f); - lblTitleInformation.Font = NSFont.FromFontName("TitilliumText25L-800wt", 13f); - lblTitlePreset.Font = NSFont.FromFontName("TitilliumText25L-800wt", 13f); - lblEQOn.Font = NSFont.FromFontName("Junction", 11f); - lblScalePlus6.Font = NSFont.FromFontName("Junction", 12f); - lblScale0.Font = NSFont.FromFontName("Junction", 12f); - lblScaleMinus6.Font = NSFont.FromFontName("Junction", 12f); - btnAutoLevel.Font = NSFont.FromFontName("Junction", 11f); - btnDelete.Font = NSFont.FromFontName("Junction", 11f); - btnSave.Font = NSFont.FromFontName("Junction", 11f); - btnReset.Font = NSFont.FromFontName("Junction", 11f); - txtName.Font = NSFont.FromFontName("Junction", 11f); - - btnAutoLevel.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_shape_align_middle"); - btnDelete.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_delete"); - btnSave.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_tick"); - btnReset.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_exclamation"); - - SetTheme(); - } - - private void SetTheme() - { -// // Set colors -// viewLeftHeader.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); -// viewLeftHeader.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); -// viewRightHeader.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); -// viewRightHeader.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); -// viewLibraryBrowser.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); -// viewLibraryBrowser.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); -// viewNowPlaying.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); -// viewNowPlaying.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); -// -// // Set label fonts - lblEQ0.Font = NSFont.FromFontName("Junction", 11); - lblEQ1.Font = NSFont.FromFontName("Junction", 11); - lblEQ2.Font = NSFont.FromFontName("Junction", 11); - lblEQ3.Font = NSFont.FromFontName("Junction", 11); - lblEQ4.Font = NSFont.FromFontName("Junction", 11); - lblEQ5.Font = NSFont.FromFontName("Junction", 11); - lblEQ6.Font = NSFont.FromFontName("Junction", 11); - lblEQ7.Font = NSFont.FromFontName("Junction", 11); - lblEQ8.Font = NSFont.FromFontName("Junction", 11); - lblEQ9.Font = NSFont.FromFontName("Junction", 11); - lblEQ10.Font = NSFont.FromFontName("Junction", 11); - lblEQ11.Font = NSFont.FromFontName("Junction", 11); - lblEQ12.Font = NSFont.FromFontName("Junction", 11); - lblEQ13.Font = NSFont.FromFontName("Junction", 11); - lblEQ14.Font = NSFont.FromFontName("Junction", 11); - lblEQ15.Font = NSFont.FromFontName("Junction", 11); - lblEQ16.Font = NSFont.FromFontName("Junction", 11); - lblEQ17.Font = NSFont.FromFontName("Junction", 11); - - lblEQValue0.Font = NSFont.FromFontName("Junction", 11); - lblEQValue1.Font = NSFont.FromFontName("Junction", 11); - lblEQValue2.Font = NSFont.FromFontName("Junction", 11); - lblEQValue3.Font = NSFont.FromFontName("Junction", 11); - lblEQValue4.Font = NSFont.FromFontName("Junction", 11); - lblEQValue5.Font = NSFont.FromFontName("Junction", 11); - lblEQValue6.Font = NSFont.FromFontName("Junction", 11); - lblEQValue7.Font = NSFont.FromFontName("Junction", 11); - lblEQValue8.Font = NSFont.FromFontName("Junction", 11); - lblEQValue9.Font = NSFont.FromFontName("Junction", 11); - lblEQValue10.Font = NSFont.FromFontName("Junction", 11); - lblEQValue11.Font = NSFont.FromFontName("Junction", 11); - lblEQValue12.Font = NSFont.FromFontName("Junction", 11); - lblEQValue13.Font = NSFont.FromFontName("Junction", 11); - lblEQValue14.Font = NSFont.FromFontName("Junction", 11); - lblEQValue15.Font = NSFont.FromFontName("Junction", 11); - lblEQValue16.Font = NSFont.FromFontName("Junction", 11); - lblEQValue17.Font = NSFont.FromFontName("Junction", 11); - } - - partial void actionPresetChange(NSObject sender) - { - effectsPresenter.LoadPreset(popupPreset.StringValue); - } - - partial void actionEQOnChange(NSObject sender) - { - effectsPresenter.BypassEQ(); - } - - partial void actionNameChanged(NSObject sender) - { - } - - partial void actionSave(NSObject sender) - { - effectsPresenter.SavePreset(txtName.StringValue); - } - - partial void actionDelete(NSObject sender) - { - effectsPresenter.DeletePreset(txtName.StringValue); - } - - partial void actionAutoLevel(NSObject sender) - { - effectsPresenter.AutoLevel(); - } - - partial void actionReset(NSObject sender) - { - effectsPresenter.Reset(); - } - - partial void actionSlider0ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(0, sliderEQ0.FloatValue); - } - - partial void actionSlider1ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(1, sliderEQ1.FloatValue); - } - - partial void actionSlider2ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(2, sliderEQ2.FloatValue); - } - - partial void actionSlider3ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(3, sliderEQ3.FloatValue); - } - - partial void actionSlider4ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(4, sliderEQ4.FloatValue); - } - - partial void actionSlider5ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(5, sliderEQ5.FloatValue); - } - - partial void actionSlider6ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(6, sliderEQ6.FloatValue); - } - - partial void actionSlider7ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(7, sliderEQ7.FloatValue); - } - - partial void actionSlider8ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(8, sliderEQ8.FloatValue); - } - - partial void actionSlider9ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(9, sliderEQ9.FloatValue); - } - - partial void actionSlider10ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(10, sliderEQ10.FloatValue); - } - - partial void actionSlider11ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(11, sliderEQ11.FloatValue); - } - - partial void actionSlider12ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(12, sliderEQ12.FloatValue); - } - - partial void actionSlider13ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(13, sliderEQ13.FloatValue); - } - - partial void actionSlider14ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(14, sliderEQ14.FloatValue); - } - - partial void actionSlider15ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(15, sliderEQ15.FloatValue); - } - - partial void actionSlider16ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(16, sliderEQ16.FloatValue); - } - - partial void actionSlider17ChangeValue(NSObject sender) - { - effectsPresenter.SetEQParam(17, sliderEQ17.FloatValue); - } - - #region IEffectsView implementation - - public void UpdateFader(int index, float value) - { - string strValue = value.ToString("0.0") + " dB"; - if (index == 0) - { - sliderEQ0.FloatValue = value; - lblEQValue0.StringValue = strValue; - } - else if (index == 1) - { - sliderEQ1.FloatValue = value; - lblEQValue1.StringValue = strValue; - } - else if (index == 2) - { - sliderEQ2.FloatValue = value; - lblEQValue2.StringValue = strValue; - } - else if (index == 3) - { - sliderEQ3.FloatValue = value; - lblEQValue3.StringValue = strValue; - } - else if (index == 4) - { - sliderEQ4.FloatValue = value; - lblEQValue4.StringValue = strValue; - } - else if (index == 5) - { - sliderEQ5.FloatValue = value; - lblEQValue5.StringValue = strValue; - } - else if (index == 6) - { - sliderEQ6.FloatValue = value; - lblEQValue6.StringValue = strValue; - } - else if (index == 7) - { - sliderEQ7.FloatValue = value; - lblEQValue7.StringValue = strValue; - } - else if (index == 8) - { - sliderEQ8.FloatValue = value; - lblEQValue8.StringValue = strValue; - } - else if (index == 9) - { - sliderEQ9.FloatValue = value; - lblEQValue9.StringValue = strValue; - } - else if (index == 10) - { - sliderEQ10.FloatValue = value; - lblEQValue10.StringValue = strValue; - } - else if (index == 11) - { - sliderEQ11.FloatValue = value; - lblEQValue11.StringValue = strValue; - } - else if (index == 12) - { - sliderEQ12.FloatValue = value; - lblEQValue12.StringValue = strValue; - } - else if (index == 13) - { - sliderEQ13.FloatValue = value; - lblEQValue13.StringValue = strValue; - } - else if (index == 14) - { - sliderEQ14.FloatValue = value; - lblEQValue14.StringValue = strValue; - } - else if (index == 15) - { - sliderEQ15.FloatValue = value; - lblEQValue15.StringValue = strValue; - } - else if (index == 16) - { - sliderEQ16.FloatValue = value; - lblEQValue16.StringValue = strValue; - } - else if (index == 17) - { - sliderEQ17.FloatValue = value; - lblEQValue17.StringValue = strValue; - } - } - - public void UpdatePresetList(IEnumerable presets) - { - } - - #endregion - } -} - +//// Copyright © 2011-2013 Yanick Castonguay +//// +//// This file is part of MPfm. +//// +//// MPfm is free software: you can redistribute it and/or modify +//// it under the terms of the GNU General Public License as published by +//// the Free Software Foundation, either version 3 of the License, or +//// (at your option) any later version. +//// +//// MPfm is distributed in the hope that it will be useful, +//// but WITHOUT ANY WARRANTY; without even the implied warranty of +//// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//// GNU General Public License for more details. +//// +//// You should have received a copy of the GNU General Public License +//// along with MPfm. If not, see . +// +//using System; +//using System.Collections.Generic; +//using System.Linq; +//using MonoMac.AppKit; +//using MonoMac.Foundation; +//using MonoMac.CoreGraphics; +//using MPfm.MVP; +//using MPfm.MVP.Views; +//using MPfm.MVP.Presenters.Interfaces; +// +//namespace MPfm.Mac +//{ +// public partial class EffectsWindowController : BaseWindowController, IEffectsView +// { +// readonly IEffectsPresenter effectsPresenter = null; +// +// #region Constructors +// +// // Called when created from unmanaged code +// public EffectsWindowController(IntPtr handle) +// : base (handle) +// { +// Initialize(); +// } +// +// // Call to load from the XIB/NIB file +// public EffectsWindowController(IEffectsPresenter effectsPresenter, Action onViewReady) +// : base ("EffectsWindow", onViewReady) +// { +// this.effectsPresenter = effectsPresenter; +// Initialize(); +// this.effectsPresenter.BindView(this); +// } +// +// // Shared initialization code +// void Initialize() +// { +// } +// +// #endregion +// +// //strongly typed window accessor +// public new EffectsWindow Window +// { +// get +// { +// return (EffectsWindow)base.Window; +// } +// } +// +// public override void WindowDidLoad() +// { +// base.WindowDidLoad(); +// +// } +// +// public override void AwakeFromNib() +// { +// base.AwakeFromNib(); +// +// viewBackground.GradientColor1 = new CGColor(0.125f, 0.125f, 0.125f, 1.0f); +// viewBackground.GradientColor2 = new CGColor(0.35f, 0.35f, 0.35f, 1.0f); +// viewBackgroundPreset.GradientColor1 = new CGColor(0.85f, 0.85f, 0.85f, 1.0f); +// viewBackgroundPreset.GradientColor2 = new CGColor(0.6f, 0.6f, 0.6f, 1.0f); +// viewBackgroundPreset.HeaderGradientColor1 = new CGColor(0.925f, 0.925f, 0.925f, 1.0f); +// viewBackgroundPreset.HeaderGradientColor2 = new CGColor(0.65f, 0.65f, 0.65f, 1.0f); +// viewBackgroundPreset.IsHeaderVisible = true; +// viewBackgroundInformation.GradientColor1 = new CGColor(0.85f, 0.85f, 0.85f, 1.0f); +// viewBackgroundInformation.GradientColor2 = new CGColor(0.6f, 0.6f, 0.6f, 1.0f); +// viewBackgroundInformation.HeaderGradientColor1 = new CGColor(0.925f, 0.925f, 0.925f, 1.0f); +// viewBackgroundInformation.HeaderGradientColor2 = new CGColor(0.65f, 0.65f, 0.65f, 1.0f); +// viewBackgroundInformation.IsHeaderVisible = true; +// +// popupPreset.Font = NSFont.FromFontName("Junction", 11.5f); +// lblName.Font = NSFont.FromFontName("Junction", 11f); +// lblTitleInformation.Font = NSFont.FromFontName("TitilliumText25L-800wt", 13f); +// lblTitlePreset.Font = NSFont.FromFontName("TitilliumText25L-800wt", 13f); +// lblEQOn.Font = NSFont.FromFontName("Junction", 11f); +// lblScalePlus6.Font = NSFont.FromFontName("Junction", 12f); +// lblScale0.Font = NSFont.FromFontName("Junction", 12f); +// lblScaleMinus6.Font = NSFont.FromFontName("Junction", 12f); +// btnAutoLevel.Font = NSFont.FromFontName("Junction", 11f); +// btnDelete.Font = NSFont.FromFontName("Junction", 11f); +// btnSave.Font = NSFont.FromFontName("Junction", 11f); +// btnReset.Font = NSFont.FromFontName("Junction", 11f); +// txtName.Font = NSFont.FromFontName("Junction", 11f); +// +// btnAutoLevel.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_shape_align_middle"); +// btnDelete.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_delete"); +// btnSave.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_tick"); +// btnReset.Image = ImageResources.images16x16.FirstOrDefault(x => x.Name == "16_fam_exclamation"); +// +// SetTheme(); +// } +// +// private void SetTheme() +// { +//// // Set colors +//// viewLeftHeader.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); +//// viewLeftHeader.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); +//// viewRightHeader.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); +//// viewRightHeader.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); +//// viewLibraryBrowser.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); +//// viewLibraryBrowser.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); +//// viewNowPlaying.GradientColor1 = new CGColor(0.2f, 0.2f, 0.2f, 1.0f); +//// viewNowPlaying.GradientColor2 = new CGColor(0.4f, 0.4f, 0.4f, 1.0f); +//// +//// // Set label fonts +// lblEQ0.Font = NSFont.FromFontName("Junction", 11); +// lblEQ1.Font = NSFont.FromFontName("Junction", 11); +// lblEQ2.Font = NSFont.FromFontName("Junction", 11); +// lblEQ3.Font = NSFont.FromFontName("Junction", 11); +// lblEQ4.Font = NSFont.FromFontName("Junction", 11); +// lblEQ5.Font = NSFont.FromFontName("Junction", 11); +// lblEQ6.Font = NSFont.FromFontName("Junction", 11); +// lblEQ7.Font = NSFont.FromFontName("Junction", 11); +// lblEQ8.Font = NSFont.FromFontName("Junction", 11); +// lblEQ9.Font = NSFont.FromFontName("Junction", 11); +// lblEQ10.Font = NSFont.FromFontName("Junction", 11); +// lblEQ11.Font = NSFont.FromFontName("Junction", 11); +// lblEQ12.Font = NSFont.FromFontName("Junction", 11); +// lblEQ13.Font = NSFont.FromFontName("Junction", 11); +// lblEQ14.Font = NSFont.FromFontName("Junction", 11); +// lblEQ15.Font = NSFont.FromFontName("Junction", 11); +// lblEQ16.Font = NSFont.FromFontName("Junction", 11); +// lblEQ17.Font = NSFont.FromFontName("Junction", 11); +// +// lblEQValue0.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue1.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue2.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue3.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue4.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue5.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue6.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue7.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue8.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue9.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue10.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue11.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue12.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue13.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue14.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue15.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue16.Font = NSFont.FromFontName("Junction", 11); +// lblEQValue17.Font = NSFont.FromFontName("Junction", 11); +// } +// +// partial void actionPresetChange(NSObject sender) +// { +// effectsPresenter.LoadPreset(popupPreset.StringValue); +// } +// +// partial void actionEQOnChange(NSObject sender) +// { +// effectsPresenter.BypassEQ(); +// } +// +// partial void actionNameChanged(NSObject sender) +// { +// } +// +// partial void actionSave(NSObject sender) +// { +// effectsPresenter.SavePreset(txtName.StringValue); +// } +// +// partial void actionDelete(NSObject sender) +// { +// effectsPresenter.DeletePreset(txtName.StringValue); +// } +// +// partial void actionAutoLevel(NSObject sender) +// { +// effectsPresenter.AutoLevel(); +// } +// +// partial void actionReset(NSObject sender) +// { +// effectsPresenter.Reset(); +// } +// +// partial void actionSlider0ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(0, sliderEQ0.FloatValue); +// } +// +// partial void actionSlider1ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(1, sliderEQ1.FloatValue); +// } +// +// partial void actionSlider2ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(2, sliderEQ2.FloatValue); +// } +// +// partial void actionSlider3ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(3, sliderEQ3.FloatValue); +// } +// +// partial void actionSlider4ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(4, sliderEQ4.FloatValue); +// } +// +// partial void actionSlider5ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(5, sliderEQ5.FloatValue); +// } +// +// partial void actionSlider6ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(6, sliderEQ6.FloatValue); +// } +// +// partial void actionSlider7ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(7, sliderEQ7.FloatValue); +// } +// +// partial void actionSlider8ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(8, sliderEQ8.FloatValue); +// } +// +// partial void actionSlider9ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(9, sliderEQ9.FloatValue); +// } +// +// partial void actionSlider10ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(10, sliderEQ10.FloatValue); +// } +// +// partial void actionSlider11ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(11, sliderEQ11.FloatValue); +// } +// +// partial void actionSlider12ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(12, sliderEQ12.FloatValue); +// } +// +// partial void actionSlider13ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(13, sliderEQ13.FloatValue); +// } +// +// partial void actionSlider14ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(14, sliderEQ14.FloatValue); +// } +// +// partial void actionSlider15ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(15, sliderEQ15.FloatValue); +// } +// +// partial void actionSlider16ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(16, sliderEQ16.FloatValue); +// } +// +// partial void actionSlider17ChangeValue(NSObject sender) +// { +// effectsPresenter.SetEQParam(17, sliderEQ17.FloatValue); +// } +// +// #region IEffectsView implementation +// +// public void UpdateFader(int index, float value) +// { +// string strValue = value.ToString("0.0") + " dB"; +// if (index == 0) +// { +// sliderEQ0.FloatValue = value; +// lblEQValue0.StringValue = strValue; +// } +// else if (index == 1) +// { +// sliderEQ1.FloatValue = value; +// lblEQValue1.StringValue = strValue; +// } +// else if (index == 2) +// { +// sliderEQ2.FloatValue = value; +// lblEQValue2.StringValue = strValue; +// } +// else if (index == 3) +// { +// sliderEQ3.FloatValue = value; +// lblEQValue3.StringValue = strValue; +// } +// else if (index == 4) +// { +// sliderEQ4.FloatValue = value; +// lblEQValue4.StringValue = strValue; +// } +// else if (index == 5) +// { +// sliderEQ5.FloatValue = value; +// lblEQValue5.StringValue = strValue; +// } +// else if (index == 6) +// { +// sliderEQ6.FloatValue = value; +// lblEQValue6.StringValue = strValue; +// } +// else if (index == 7) +// { +// sliderEQ7.FloatValue = value; +// lblEQValue7.StringValue = strValue; +// } +// else if (index == 8) +// { +// sliderEQ8.FloatValue = value; +// lblEQValue8.StringValue = strValue; +// } +// else if (index == 9) +// { +// sliderEQ9.FloatValue = value; +// lblEQValue9.StringValue = strValue; +// } +// else if (index == 10) +// { +// sliderEQ10.FloatValue = value; +// lblEQValue10.StringValue = strValue; +// } +// else if (index == 11) +// { +// sliderEQ11.FloatValue = value; +// lblEQValue11.StringValue = strValue; +// } +// else if (index == 12) +// { +// sliderEQ12.FloatValue = value; +// lblEQValue12.StringValue = strValue; +// } +// else if (index == 13) +// { +// sliderEQ13.FloatValue = value; +// lblEQValue13.StringValue = strValue; +// } +// else if (index == 14) +// { +// sliderEQ14.FloatValue = value; +// lblEQValue14.StringValue = strValue; +// } +// else if (index == 15) +// { +// sliderEQ15.FloatValue = value; +// lblEQValue15.StringValue = strValue; +// } +// else if (index == 16) +// { +// sliderEQ16.FloatValue = value; +// lblEQValue16.StringValue = strValue; +// } +// else if (index == 17) +// { +// sliderEQ17.FloatValue = value; +// lblEQValue17.StringValue = strValue; +// } +// } +// +// public void UpdatePresetList(IEnumerable presets) +// { +// } +// +// #endregion +// } +//} +// diff --git a/MPfm/MPfm.Mac/Windows/Controllers/MainWindowController.cs b/MPfm/MPfm.Mac/Windows/Controllers/MainWindowController.cs index 0a6bc4b1..2f348824 100644 --- a/MPfm/MPfm.Mac/Windows/Controllers/MainWindowController.cs +++ b/MPfm/MPfm.Mac/Windows/Controllers/MainWindowController.cs @@ -33,6 +33,7 @@ using MPfm.MVP.Models; using MPfm.Sound.AudioFiles; using MPfm.Library.UpdateLibrary; +using MPfm.MVP.Messages; namespace MPfm.Mac { @@ -57,6 +58,7 @@ public partial class MainWindowController : BaseWindowController, IMainView public System.Action OnPlayerSetTimeShifting { get; set; } public System.Action OnPlayerSetVolume { get; set; } public System.Action OnPlayerSetPosition { get; set; } + public Func OnPlayerRequestPosition { get; set; } public System.Action OnAudioFileFormatFilterChanged { get; set; } public System.Action OnTreeNodeSelected { get; set; } @@ -641,6 +643,10 @@ public void RefreshAll() #region IPlayerView implementation + public void RefreshPlayerStatus(PlayerStatusType status) + { + } + public void RefreshPlayerPosition(PlayerPositionEntity entity) { // When setting .StringValue, use a autorelease pool to keep the warnings away @@ -653,7 +659,7 @@ public void RefreshPlayerPosition(PlayerPositionEntity entity) }; } - public void RefreshSongInformation(AudioFile audioFile) + public void RefreshSongInformation(AudioFile audioFile, long lengthBytes, int playlistIndex, int playlistCount) { InvokeOnMainThread(delegate { // Set labels diff --git a/MPfm/MPfm.Player/MPfm.Player.csproj b/MPfm/MPfm.Player/MPfm.Player.csproj index 141dd2ac..8d71e5a5 100644 --- a/MPfm/MPfm.Player/MPfm.Player.csproj +++ b/MPfm/MPfm.Player/MPfm.Player.csproj @@ -77,10 +77,13 @@ + + ..\MPfm.Sound\Lib\Bass.Net.dll + - {d536fde5-989e-4979-9b39-63621ae4a205} + {D536FDE5-989E-4979-9B39-63621AE4A205} MPfm.Core diff --git a/MPfm/MPfm.Player/Player.cs b/MPfm/MPfm.Player/Player.cs index 56da508b..217ae0ce 100644 --- a/MPfm/MPfm.Player/Player.cs +++ b/MPfm/MPfm.Player/Player.cs @@ -31,6 +31,13 @@ using MPfm.Player.Exceptions; using MPfm.Player.Objects; +#if !IOS && !ANDROID +using Un4seen.BassAsio; +using Un4seen.BassWasapi; +using MPfm.Sound.BassNetWrapper.ASIO; +using MPfm.Sound.BassNetWrapper.WASAPI; +#endif + #if IOS using MonoTouch; #endif @@ -297,7 +304,7 @@ public float Volume else if (device.DriverType == DriverType.WASAPI) { // Set WASAPI volume - bool success = BassWasapi.BASS_WASAPI_SetVolume(true, value); + bool success = BassWasapi.BASS_WASAPI_SetVolume(BASSWASAPIVolume.BASS_WASAPI_CURVE_LINEAR, value); if (!success) { // Check for error @@ -799,7 +806,7 @@ public void InitializeDevice(Device device, int mixerSampleRate) // Initialize sound system //Base.InitWASAPI(device.Id, mixerSampleRate, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_SHARED, 10.0f, 0, wasapiProc); - Base.InitWASAPI(device.Id, mixerSampleRate, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_SHARED, 0.5f, 0, wasapiProc); + BaseWASAPI.Init(device.Id, mixerSampleRate, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_SHARED, 0.5f, 0, wasapiProc); //Base.InitWASAPI(device.Id, mixerSampleRate, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_EXCLUSIVE, 1, 0, wasapiProc); //BASS_WASAPI_INFO info = BassWasapi.BASS_WASAPI_GetInfo(); diff --git a/MPfm/MPfm.Sound/AudioFiles/AudioFile.cs b/MPfm/MPfm.Sound/AudioFiles/AudioFile.cs index c04525f1..2a400963 100644 --- a/MPfm/MPfm.Sound/AudioFiles/AudioFile.cs +++ b/MPfm/MPfm.Sound/AudioFiles/AudioFile.cs @@ -23,6 +23,7 @@ using MPfm.Core; using MPfm.Core.Attributes; using MPfm.Sound.Tags; +using System.Drawing; #if (MACOSX || LINUX) using Mono.Unix; diff --git a/MPfm/MPfm.Sound/BassNetWrapper/ASIO/ASIOInfo.cs b/MPfm/MPfm.Sound/BassNetWrapper/ASIO/ASIOInfo.cs index c1a02611..e21804c0 100644 --- a/MPfm/MPfm.Sound/BassNetWrapper/ASIO/ASIOInfo.cs +++ b/MPfm/MPfm.Sound/BassNetWrapper/ASIO/ASIOInfo.cs @@ -17,6 +17,8 @@ #if !IOS && !ANDROID +using Un4seen.BassAsio; + namespace MPfm.Sound.BassNetWrapper.ASIO { /// diff --git a/MPfm/MPfm.Sound/BassNetWrapper/ASIO/BaseASIO.cs b/MPfm/MPfm.Sound/BassNetWrapper/ASIO/BaseASIO.cs index 43573159..8a31bbbb 100644 --- a/MPfm/MPfm.Sound/BassNetWrapper/ASIO/BaseASIO.cs +++ b/MPfm/MPfm.Sound/BassNetWrapper/ASIO/BaseASIO.cs @@ -49,17 +49,17 @@ public static void Init() public static void Init(int deviceId, int frequency, BASSInit init, BASSASIOInit asioInit) { // Initialize base device - if (!BassWrapper.Bass.BASS_Init(-1, frequency, init, IntPtr.Zero)) + if (!Bass.BASS_Init(-1, frequency, init, IntPtr.Zero)) { // Check for error (throw exception if the error is found) - CheckForError(); + Base.CheckForError(); } // Initialize ASIO device if (!BassAsio.BASS_ASIO_Init(deviceId, asioInit)) { // Check for error (throw exception if the error is found) - CheckForError(); + Base.CheckForError(); } } @@ -83,50 +83,35 @@ public static void ASIO_ControlPanel() /// ASIOInfo data structure public static ASIOInfo GetASIOInfo(bool initializeBass, int deviceId, int sampleRate) { - // Declare variables ASIOInfo info = new ASIOInfo(); - try + if (initializeBass) { - if (initializeBass) - { - //Base.Init(); - } - - try - { - // Initialize ASIO device - if (!BassAsio.BASS_ASIO_Init(deviceId, BASSASIOInit.BASS_ASIO_DEFAULT)) - { - // Check for error (throw exception if the error is found) - CheckForError(); - } - } - catch - { + //Base.Init(); + } - } + // Initialize ASIO device + if (!BassAsio.BASS_ASIO_Init(deviceId, BASSASIOInit.BASS_ASIO_DEFAULT)) + { + // Check for error (throw exception if the error is found) + Base.CheckForError(); + } - // Get ASIO device information - info.Latency = BassAsio.BASS_ASIO_GetLatency(false); - info.SampleRate = (int)BassAsio.BASS_ASIO_GetRate(); - info.Info = BassAsio.BASS_ASIO_GetInfo(); + // Get ASIO device information + info.Latency = BassAsio.BASS_ASIO_GetLatency(false); + info.SampleRate = (int)BassAsio.BASS_ASIO_GetRate(); + info.Info = BassAsio.BASS_ASIO_GetInfo(); - // Free ASIO device - //bool success = BassAsio.BASS_ASIO_Free(); - //if (!success) - //{ - // CheckForError(); - //} + // Free ASIO device + //bool success = BassAsio.BASS_ASIO_Free(); + //if (!success) + //{ + // CheckForError(); + //} - if (initializeBass) - { - //Base.Free(); - } - } - catch (Exception ex) + if (initializeBass) { - throw; + //Base.Free(); } return info; diff --git a/MPfm/MPfm.Sound/BassNetWrapper/DeviceHelper.cs b/MPfm/MPfm.Sound/BassNetWrapper/DeviceHelper.cs index 92900a56..6e7605e6 100644 --- a/MPfm/MPfm.Sound/BassNetWrapper/DeviceHelper.cs +++ b/MPfm/MPfm.Sound/BassNetWrapper/DeviceHelper.cs @@ -20,6 +20,9 @@ using Un4seen.Bass; #if !IOS && !ANDROID +using Un4seen.BassAsio; +using Un4seen.BassWasapi; +#endif namespace MPfm.Sound.BassNetWrapper { @@ -60,6 +63,7 @@ public static List DetectOutputDevices() } } +#if !IOS && !ANDROID // Detect ASIO devices List devicesASIO = BassAsio.BASS_ASIO_GetDeviceInfos().ToList(); for (int a = 0; a < devicesASIO.Count; a++) @@ -91,6 +95,7 @@ public static List DetectOutputDevices() devices.Add(device); } } +#endif return devices; } @@ -109,7 +114,7 @@ public static Device FindOutputDevice(DriverType driverType, string deviceName) if (driverType == DriverType.DirectSound) { // Detect DirectSound devices - List devicesDirectSound = BassWrapper.Bass.BASS_GetDeviceInfos().ToList(); + List devicesDirectSound = Bass.BASS_GetDeviceInfos().ToList(); for (int a = 0; a < devicesDirectSound.Count; a++) { // Check if the driver name is the same, and make sure the device is also enabled (i.e. available) @@ -127,6 +132,7 @@ public static Device FindOutputDevice(DriverType driverType, string deviceName) } } } +#if !IOS && !ANDROID else if (driverType == DriverType.ASIO) { // Detect ASIO devices @@ -168,6 +174,7 @@ public static Device FindOutputDevice(DriverType driverType, string deviceName) } } } +#endif return null; } @@ -180,7 +187,7 @@ public static Device FindOutputDevice(DriverType driverType, string deviceName) public static Device GetDefaultDirectSoundOutputDevice() { // Detect DirectSound devices - List devicesDirectSound = BassWrapper.Bass.BASS_GetDeviceInfos().ToList(); + List devicesDirectSound = Bass.BASS_GetDeviceInfos().ToList(); for (int a = 0; a < devicesDirectSound.Count; a++) { // Check if the device is the default one @@ -200,6 +207,7 @@ public static Device GetDefaultDirectSoundOutputDevice() return null; } +#if !IOS && !ANDROID /// /// Returns the default WASAPI device. /// If no device was no found, the value is null. @@ -227,7 +235,7 @@ public static Device GetDefaultWASAPIOutputDevice() return null; } +#endif + } } - -#endif \ No newline at end of file diff --git a/MPfm/MPfm.Sound/BassNetWrapper/TestDevice.cs b/MPfm/MPfm.Sound/BassNetWrapper/TestDevice.cs index df0249db..9dbc01a4 100644 --- a/MPfm/MPfm.Sound/BassNetWrapper/TestDevice.cs +++ b/MPfm/MPfm.Sound/BassNetWrapper/TestDevice.cs @@ -18,12 +18,17 @@ // Note: This call is only available on Windows/Linux/Mac because of the // use of ASIO/WASAPI which are not available in the BASS.NET mobile version. -#if !IOS && !ANDROID - using System; using System.IO; using Un4seen.Bass; +#if !IOS && !ANDROID +using MPfm.Sound.BassNetWrapper.ASIO; +using MPfm.Sound.BassNetWrapper.WASAPI; +using Un4seen.BassAsio; +using Un4seen.BassWasapi; +#endif + namespace MPfm.Sound.BassNetWrapper { /// @@ -38,8 +43,10 @@ public class TestDevice : ITestDevice private int stream = 0; private int streamDirectSound = 0; private STREAMPROC streamProc; +#if !IOS && !ANDROID private ASIOPROC asioProc; private WASAPIPROC wasapiProc; +#endif #endregion @@ -84,10 +91,11 @@ private void InitializeDevice(Device device, int frequency) // Initialize sound system Base.Init(device.Id, frequency, BASSInit.BASS_DEVICE_DEFAULT); } +#if !IOS && !ANDROID else if (device.DriverType == DriverType.ASIO) { // Initialize sound system - Base.InitASIO(device.Id, frequency, BASSInit.BASS_DEVICE_DEFAULT, BASSASIOInit.BASS_ASIO_THREAD); + BaseASIO.Init(device.Id, frequency, BASSInit.BASS_DEVICE_DEFAULT, BASSASIOInit.BASS_ASIO_THREAD); } else if (device.DriverType == DriverType.WASAPI) { @@ -95,8 +103,9 @@ private void InitializeDevice(Device device, int frequency) wasapiProc = new WASAPIPROC(WASAPICallback); // Initialize sound system - Base.InitWASAPI(device.Id, frequency, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_SHARED, 0, 0, wasapiProc); + BaseWASAPI.Init(device.Id, frequency, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_SHARED, 0, 0, wasapiProc); } +#endif } /// @@ -104,6 +113,7 @@ private void InitializeDevice(Device device, int frequency) /// public void Dispose() { +#if !IOS && !ANDROID // Check driver type if (device.DriverType == DriverType.ASIO) { @@ -111,7 +121,7 @@ public void Dispose() if (!BassAsio.BASS_ASIO_Free()) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error disposing TestDevice: " + error.ToString()); } } @@ -121,13 +131,14 @@ public void Dispose() if (!BassWasapi.BASS_WASAPI_Free()) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error disposing TestDevice: " + error.ToString()); } } +#endif // Free BASS - BassWrapper.Bass.BASS_Free(); + Bass.BASS_Free(); } #endregion @@ -150,41 +161,40 @@ public void Play(string filePath) if (device.DriverType == DriverType.DirectSound) { // Create stream - stream = BassWrapper.Bass.BASS_StreamCreateFile(filePath, 0, 0, BASSFlag.BASS_DEFAULT); + stream = Bass.BASS_StreamCreateFile(filePath, 0, 0, BASSFlag.BASS_DEFAULT); if (stream == 0) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error playing TestDevice: " + error.ToString()); } // Get stream info - //BASS_CHANNELINFO channelInfo = Bass.BASS_ChannelGetInfo(stream); - BASS_CHANNELINFO channelInfo = new BASS_CHANNELINFO(); - BassWrapper.Bass.BASS_ChannelGetInfo(stream, ref channelInfo); + BASS_CHANNELINFO channelInfo = Bass.BASS_ChannelGetInfo(stream); // Create callback streamProc = new STREAMPROC(DirectSoundCallback); // Create master stream - streamDirectSound = BassWrapper.Bass.BASS_StreamCreate(channelInfo.freq, channelInfo.chans, BASSFlag.BASS_DEFAULT, streamProc, IntPtr.Zero); + streamDirectSound = Bass.BASS_StreamCreate(channelInfo.freq, channelInfo.chans, BASSFlag.BASS_DEFAULT, streamProc, IntPtr.Zero); // Start playback - if(!BassWrapper.Bass.BASS_ChannelPlay(stream, false)) + if(!Bass.BASS_ChannelPlay(stream, false)) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error playing TestDevice: " + error.ToString()); } } +#if !IOS && !ANDROID else if (device.DriverType == DriverType.ASIO) { // Create stream - stream = BassWrapper.Bass.BASS_StreamCreateFile(filePath, 0, 0, BASSFlag.BASS_STREAM_DECODE); + stream = Bass.BASS_StreamCreateFile(filePath, 0, 0, BASSFlag.BASS_STREAM_DECODE); if (stream == 0) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error playing TestDevice: " + error.ToString()); } @@ -199,18 +209,18 @@ public void Play(string filePath) if (!BassAsio.BASS_ASIO_Start(0)) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error playing TestDevice: " + error.ToString()); } } else if (device.DriverType == DriverType.WASAPI) { // Create stream - stream = BassWrapper.Bass.BASS_StreamCreateFile(filePath, 0, 0, BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SAMPLE_FLOAT); + stream = Bass.BASS_StreamCreateFile(filePath, 0, 0, BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SAMPLE_FLOAT); if (stream == 0) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error playing TestDevice: " + error.ToString()); } @@ -218,10 +228,11 @@ public void Play(string filePath) if (!BassWasapi.BASS_WASAPI_Start()) { // Get error - BASSError error = BassWrapper.Bass.BASS_ErrorGetCode(); + BASSError error = Bass.BASS_ErrorGetCode(); throw new Exception("Error playing TestDevice: " + error.ToString()); } } +#endif } /// @@ -230,12 +241,13 @@ public void Play(string filePath) public void Stop() { // Check if the channel is still playing - if (BassWrapper.Bass.BASS_ChannelIsActive(stream) == BASSActive.BASS_ACTIVE_PLAYING) + if (Bass.BASS_ChannelIsActive(stream) == BASSActive.BASS_ACTIVE_PLAYING) { // Stop channel - BassWrapper.Bass.BASS_ChannelStop(stream); + Bass.BASS_ChannelStop(stream); } +#if !IOS && !ANDROID // Check driver type if (device.DriverType == DriverType.ASIO) { @@ -247,9 +259,10 @@ public void Stop() // Stop playback BassWasapi.BASS_WASAPI_Stop(false); } +#endif // Free stream - BassWrapper.Bass.BASS_StreamFree(stream); + Bass.BASS_StreamFree(stream); } #endregion @@ -305,10 +318,10 @@ private int WASAPICallback(IntPtr buffer, int length, IntPtr user) private int GetData(IntPtr buffer, int length, IntPtr user) { // Check if the channel is still playing - if (BassWrapper.Bass.BASS_ChannelIsActive(stream) == BASSActive.BASS_ACTIVE_PLAYING) + if (Bass.BASS_ChannelIsActive(stream) == BASSActive.BASS_ACTIVE_PLAYING) { // Return data - return BassWrapper.Bass.BASS_ChannelGetData(stream, buffer, length); + return Bass.BASS_ChannelGetData(stream, buffer, length); } else { @@ -320,4 +333,3 @@ private int GetData(IntPtr buffer, int length, IntPtr user) #endregion } } -#endif \ No newline at end of file diff --git a/MPfm/MPfm.Sound/BassNetWrapper/WASAPI/BaseWASAPI.cs b/MPfm/MPfm.Sound/BassNetWrapper/WASAPI/BaseWASAPI.cs index a300005c..5589ab57 100644 --- a/MPfm/MPfm.Sound/BassNetWrapper/WASAPI/BaseWASAPI.cs +++ b/MPfm/MPfm.Sound/BassNetWrapper/WASAPI/BaseWASAPI.cs @@ -36,7 +36,7 @@ public static class BaseWASAPI /// WASAPI data callback public static void Init(WASAPIPROC proc) { - InitWASAPI(-1, 44100, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_SHARED, 0, 0, proc); + Init(-1, 44100, 2, BASSInit.BASS_DEVICE_DEFAULT, BASSWASAPIInit.BASS_WASAPI_SHARED, 0, 0, proc); } /// @@ -58,14 +58,14 @@ public static void Init(WASAPIPROC proc) if (!Bass.BASS_Init(-1, frequency, init, IntPtr.Zero)) { // Check for error (throw exception if the error is found) - CheckForError(); + Base.CheckForError(); } // Initialize WASAPI device if (!BassWasapi.BASS_WASAPI_Init(deviceId, frequency, 2, wasapiInit, buffer, period, proc, IntPtr.Zero)) { // Check for error (throw exception if the error is found) - CheckForError(); + Base.CheckForError(); } } } diff --git a/MPfm/MPfm.Sound/MPfm.Sound.csproj b/MPfm/MPfm.Sound/MPfm.Sound.csproj index 6f8cccbf..8b694c14 100644 --- a/MPfm/MPfm.Sound/MPfm.Sound.csproj +++ b/MPfm/MPfm.Sound/MPfm.Sound.csproj @@ -77,7 +77,6 @@ - @@ -88,6 +87,9 @@ Lib\taglib-sharp.dll + + Lib\Bass.Net.dll + @@ -146,4 +148,7 @@ + + + \ No newline at end of file