Example #1
0
        public BassPlayerMidiMapper(BassPlayer.BassPlayer bassPlayer, MidiManager midiManager)
        {
            _bassPlayer = bassPlayer;

            var mappingFile = "MidiMapping.json";

            if (File.Exists(mappingFile))
            {
                var json        = File.ReadAllText(mappingFile);
                var midiMapping = JsonConvert.DeserializeObject <MidiMapping>(json);

                _controlMappings = midiMapping.Commands.Select(command => new ControlMapping()
                {
                    CommandName   = command.Key,
                    MidiControlId = midiMapping.Controls.FirstOrDefault(control => control.Key == command.Value).Value
                }).ToList();

                _vstMappings = new List <VstMapping>();
                foreach (var vstCommand in midiMapping.VstCommands)
                {
                    foreach (var parameter in vstCommand.Value)
                    {
                        _vstMappings.Add(new VstMapping
                        {
                            VstPlugin      = GetPluginByName(vstCommand.Key),
                            MidiControlId  = midiMapping.Controls.FirstOrDefault(control => control.Key == parameter.Value).Value,
                            ParameterIndex = parameter.Key,
                        });
                    }
                }
            }

            midiManager.OnControlMessageEvent += MidiManager_OnControlMessageEvent;
        }
        public BassPlayerMidiMapper(BassPlayer bassPlayer, MidiManager midiManager)
        {
            _bassPlayer = bassPlayer;

            _controlMappings = new List<ControlMapping>
            {
                new ControlMapping {CommandName = "Play", MidiControlId = 45},
                new ControlMapping {CommandName = "PowerDownCurrent", MidiControlId = 46},
                new ControlMapping {CommandName = "Volume", MidiControlId = 2},
                new ControlMapping {CommandName = "PausePrevious", MidiControlId = 23},
                new ControlMapping {CommandName = "PowerDownPrevious", MidiControlId = 33},
                new ControlMapping {CommandName = "ManualMixVolume", MidiControlId = 14},
                new ControlMapping {CommandName = "FadeNow", MidiControlId = 48},
                new ControlMapping {CommandName = "TrackSendFx", MidiControlId = 24},
                new ControlMapping {CommandName = "TrackSendFxVolume", MidiControlId = 3},
                new ControlMapping {CommandName = "SamplerVolume", MidiControlId = 4},
                new ControlMapping {CommandName = "ToggleManualMixMode", MidiControlId = 44},
                new ControlMapping {CommandName = "LoopFadeInForever", MidiControlId = 49},
                new ControlMapping {CommandName = "JumpBack", MidiControlId = 47}
            };

            for (var i = 0; i < 12; i++)
            {
                _controlMappings.Add(new ControlMapping
                {
                    CommandName = "Sample" + (i + 1),
                    MidiControlId = (i < 6) ? i + 26 : i + 36
                });
            }

            _vstMappings = new List<VstMapping>
            {
                new VstMapping
                {
                    VstPlugin = _bassPlayer.MainVstPlugin,
                    MidiControlId = 17,
                    ParameterIndex = 4,
                }
            };


            midiManager.OnControlMessageEvent += MidiManager_OnControlMessageEvent;
        }
Example #3
0
        /// <summary>
        ///     Loads the UI settings.
        /// </summary>
        private void LoadUiSettings()
        {
            var settings = Settings.Default;
            //if (settings.LeftRightSplit != 0)
            //{
            //    try { splLeftRight.SplitterDistance = settings.LeftRightSplit; }
            //    catch { }
            //}

            //if (settings.TrackSplit != 0)
            //{
            //    try { splTrack.SplitterDistance = settings.TrackSplit; }
            //    catch { }
            //}

            if (settings.WaPlugin != "")
            {
                try
                {
                    BassPlayer.LoadWaPlugin(settings.WaPlugin);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.MainMixerVstPlugin != "")
            {
                try
                {
                    BassPlayer.LoadMainVstPlugin(settings.MainMixerVstPlugin, 0);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.MainMixerVstPlugin2 != "")
            {
                try
                {
                    BassPlayer.LoadMainVstPlugin(settings.MainMixerVstPlugin2, 1);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.MainMixerVstPluginParameters != "" && BassPlayer.MainVstPlugin != null)
            {
                try
                {
                    PluginHelper.SetVstPluginParameters(BassPlayer.MainVstPlugin, settings.MainMixerVstPluginParameters);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.MainMixerVstPlugin2Parameters != "" && BassPlayer.MainVstPlugin2 != null)
            {
                try
                {
                    PluginHelper.SetVstPluginParameters(BassPlayer.MainVstPlugin2,
                        settings.MainMixerVstPlugin2Parameters);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.SamplerVstPlugin != "")
            {
                try
                {
                    BassPlayer.LoadSamplerVstPlugin(settings.SamplerVstPlugin, 0);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.SamplerVstPluginParameters != "" && BassPlayer.SamplerVstPlugin != null)
            {
                try
                {
                    PluginHelper.SetVstPluginParameters(BassPlayer.SamplerVstPlugin, settings.SamplerVstPluginParameters);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.SamplerVstPlugin2 != "")
            {
                try
                {
                    BassPlayer.LoadSamplerVstPlugin(settings.SamplerVstPlugin2, 1);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.SamplerVstPlugin2Parameters != "" && BassPlayer.SamplerVstPlugin2 != null)
            {
                try
                {
                    PluginHelper.SetVstPluginParameters(BassPlayer.SamplerVstPlugin2,
                        settings.SamplerVstPlugin2Parameters);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.TrackVstPlugin != "")
            {
                try
                {
                    BassPlayer.LoadTracksVstPlugin(settings.TrackVstPlugin, 0);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.TrackVstPluginParameters != "" && BassPlayer.TrackVstPlugin != null)
            {
                try
                {
                    PluginHelper.SetVstPluginParameters(BassPlayer.TrackVstPlugin, settings.TrackVstPluginParameters);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.TrackFxvstPlugin != "")
            {
                try
                {
                    BassPlayer.LoadTrackSendFxvstPlugin(settings.TrackFxvstPlugin, 0);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.TrackFxvstPluginParameters != "" && BassPlayer.TrackSendFxvstPlugin != null)
            {
                try
                {
                    PluginHelper.SetVstPluginParameters(BassPlayer.TrackSendFxvstPlugin,
                        settings.TrackFxvstPluginParameters);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.TrackFxvstPlugin2 != "")
            {
                try
                {
                    BassPlayer.LoadTrackSendFxvstPlugin(settings.TrackFxvstPlugin2, 1);
                }
                catch
                {
                    // ignored
                }
            }

            if (settings.TrackFxvstPlugin2Parameters != "" && BassPlayer.TrackSendFxvstPlugin2 != null)
            {
                try
                {
                    PluginHelper.SetVstPluginParameters(BassPlayer.TrackSendFxvstPlugin2,
                        settings.TrackFxvstPlugin2Parameters);
                }
                catch
                {
                    // ignored
                }
            }

            MinimizeToTrayEnabled = (settings.MinimizeToTray);
            mnuMinimizeToTray.Checked = (settings.MinimizeToTray);

            mnuShowMixableTracks.Checked = (settings.ShowMixableTracks);
            playlistControl.ShowMixableTracks = mnuShowMixableTracks.Checked;
            trackLibraryControl.ShowMixableTracks = mnuShowMixableTracks.Checked;

            BassPlayer.LimitSongLength = settings.LimitSongLength;
            mnuConservativeFadeOut.Checked = settings.LimitSongLength;
            BassPlayer.LimitSongLength = mnuConservativeFadeOut.Checked;

            BassPlayer.SetMonitorVolume(settings.MonitorVolume);

            playerDetails.VisualsShown = settings.VisualsShown;
            mnuViewVisuals.Checked = settings.VisualsShown;

            playerDetails.AlbumArtShown = settings.AlbumArtShown;
            mnuViewAlbumArt.Checked = settings.AlbumArtShown;

            mnuSkipAfterMix.Checked = settings.SkipAfterMix;

            mixerControl.LoadSettings();

            trackLibraryControl.LoadUiSettings();

            //this.shufflerControl.CurrentShufflerMode = settings.ShufflerMode;

            mnuUpdateLibraryOnStartup.Checked = settings.UpdateLibraryOnStartup;

            fileMenuController.RecentFiles = settings.RecentFiles;


            _midiManager = new MidiManager();
            MidiMapper = new BassPlayerMidiMapper(BassPlayer, _midiManager);
        }