public override void OnGameStarted(Game game)
        {
            LoadedSettings.Clear();

            var settings = new List <PerCharacterSettings>();
            var allTypes = AppDomain.CurrentDomain
                           .GetAssemblies()
                           .Where(a => !a.IsDynamic)
                           // ignore v1 and v2 classes
                           .Where(a => !Path.GetFileNameWithoutExtension(a.Location).StartsWith("MBOptionScreen"))
                           .SelectMany(a => a.GetTypes())
                           .Where(t => t.IsClass && !t.IsAbstract)
                           .Where(t => t.GetConstructor(Type.EmptyTypes) != null)
                           .ToList();

            var mbOptionScreenSettings = allTypes
                                         .Where(t => ReflectionUtils.ImplementsOrImplementsEquivalent(t, typeof(PerCharacterSettings)))
                                         .Where(t => !ReflectionUtils.ImplementsOrImplementsEquivalent(t, typeof(EmptyPerCharacterSettings)))
                                         .Where(t => !ReflectionUtils.ImplementsOrImplementsEquivalent(t, typeof(IWrapper)))
                                         .Select(obj => BasePerCharacterSettingsWrapper.Create(Activator.CreateInstance(obj)));

            settings.AddRange(mbOptionScreenSettings);

            foreach (var setting in settings)
            {
                RegisterSettings(setting);
            }
        }
        /// <summary>
        /// Load RS_ASIO Settings from the Settings File.
        /// </summary>
        public LoadSettings()
        {
            LoadedSettings.Clear();


            // Config
            LoadedSettings.Add(new Settings("Config", "EnableWasapiOutputs", 0));
            LoadedSettings.Add(new Settings("Config", "EnableWasapiInputs", 0));
            LoadedSettings.Add(new Settings("Config", "EnableAsio", 1));

            // Asio
            LoadedSettings.Add(new Settings("Asio", "BufferSizeMode", "driver"));
            LoadedSettings.Add(new Settings("Asio", "CustomBufferSize", ""));

            // Asio.Output
            LoadedSettings.Add(new Settings("Asio.Output", "Driver", ""));
            LoadedSettings.Add(new Settings("Asio.Output", "BaseChannel", 0));
            LoadedSettings.Add(new Settings("Asio.Output", "AltBaseChannel", ""));
            LoadedSettings.Add(new Settings("Asio.Output", "EnableSoftwareEndpointVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Output", "EnableSoftwareMasterVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Output", "SoftwareMasterVolumePercent", 100));

            // Asio.Input.0
            LoadedSettings.Add(new Settings("Asio.Input.0", "Driver", ""));
            LoadedSettings.Add(new Settings("Asio.Input.0", "Channel", 0));
            LoadedSettings.Add(new Settings("Asio.Input.0", "EnableSoftwareEndpointVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Input.0", "EnableSoftwareMasterVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Input.0", "SoftwareMasterVolumePercent", 100));

            // Asio.Input.1
            LoadedSettings.Add(new Settings("Asio.Input.1", "Driver", ""));
            LoadedSettings.Add(new Settings("Asio.Input.1", "Channel", 1));
            LoadedSettings.Add(new Settings("Asio.Input.1", "EnableSoftwareEndpointVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Input.1", "EnableSoftwareMasterVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Input.1", "SoftwareMasterVolumePercent", 100));

            // Asio.Input.Mic
            LoadedSettings.Add(new Settings("Asio.Input.Mic", "Driver", ""));
            LoadedSettings.Add(new Settings("Asio.Input.Mic", "Channel", 1));
            LoadedSettings.Add(new Settings("Asio.Input.Mic", "EnableSoftwareEndpointVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Input.Mic", "EnableSoftwareMasterVolumeControl", 1));
            LoadedSettings.Add(new Settings("Asio.Input.Mic", "SoftwareMasterVolumePercent", 100));

            WriteSettingsFile();
        }
Beispiel #3
0
        /// <summary>
        /// Load Rocksmith Settings
        /// </summary>
        public LoadSettings()
        {
            LoadedSettings.Clear();

            // Audio
            LoadedSettings.Add(new Settings("Audio", "EnableMicrophone", 1));
            LoadedSettings.Add(new Settings("Audio", "ExclusiveMode", 1));
            LoadedSettings.Add(new Settings("Audio", "LatencyBuffer", 4));
            LoadedSettings.Add(new Settings("Audio", "ForceDefaultPlaybackDevice", ""));
            LoadedSettings.Add(new Settings("Audio", "ForceWDM", 0));
            LoadedSettings.Add(new Settings("Audio", "ForceDirectXSink", 0));
            LoadedSettings.Add(new Settings("Audio", "DumpAudioLog", 0));
            LoadedSettings.Add(new Settings("Audio", "MaxOutputBufferSize", 0));
            LoadedSettings.Add(new Settings("Audio", "RealToneCableOnly", 0));
            LoadedSettings.Add(new Settings("Audio", "Win32UltraLowLatencyMode", 1));

            // Renderer.Win32
            LoadedSettings.Add(new Settings("Renderer.Win32", "ShowGamepadUI", 0));
            LoadedSettings.Add(new Settings("Renderer.Win32", "ScreenWidth", 0));
            LoadedSettings.Add(new Settings("Renderer.Win32", "ScreenHeight", 0));
            LoadedSettings.Add(new Settings("Renderer.Win32", "Fullscreen", 2));
            LoadedSettings.Add(new Settings("Renderer.Win32", "VisualQuality", 1));
            LoadedSettings.Add(new Settings("Renderer.Win32", "RenderingWidth", 0));
            LoadedSettings.Add(new Settings("Renderer.Win32", "RenderingHeight", 0));
            LoadedSettings.Add(new Settings("Renderer.Win32", "EnablePostEffects", 1));
            LoadedSettings.Add(new Settings("Renderer.Win32", "EnableShadows", 1));
            LoadedSettings.Add(new Settings("Renderer.Win32", "EnableHighResScope", 1));
            LoadedSettings.Add(new Settings("Renderer.Win32", "EnableDepthOfField", 1));
            LoadedSettings.Add(new Settings("Renderer.Win32", "EnablePerPixelLighting", 1));
            LoadedSettings.Add(new Settings("Renderer.Win32", "MsaaSamples", 4));
            LoadedSettings.Add(new Settings("Renderer.Win32", "DisableBrowser", 0));

            // Net
            LoadedSettings.Add(new Settings("Net", "UseProxy", 1));

            WriteSettingsFile();
        }
Beispiel #4
0
 public void OnGameEnded(Game game)
 {
     LoadedSettings.Clear();
 }
 public void OnGameStarted(Game game) => LoadedSettings.Clear();
        public void OnGameStarted(Game game)
        {
            LoadedSettings.Clear();

            LoadSettings();
        }