Пример #1
0
        internal static void LoadSoundboardSettingsXML()
        {
            string filePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\settings.xml";

            if (File.Exists(filePath))
            {
                SoundboardSettings settings;

                try
                {
                    settings = (SoundboardSettings)ReadXML(typeof(SoundboardSettings), filePath);
                }
                catch
                {
                    soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;
                    return;
                }

                if (settings == null)
                {
                    soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;
                    return;
                }

                if (settings.StopSoundKeys == null)
                {
                    settings.StopSoundKeys = new Keys[] { }
                }
                ;

                if (settings.LoadXMLFiles == null)
                {
                    settings.LoadXMLFiles = new LoadXMLFile[] { }
                }
                ;

                if (settings.LastPlaybackDevice == null)
                {
                    settings.LastPlaybackDevice = "";
                }

                if (settings.LastLoopbackDevice == null)
                {
                    settings.LastLoopbackDevice = "";
                }

                soundboardSettings = settings;
            }
            else
            {
                WriteXML(DEFAULT_SOUNDBOARD_SETTINGS, filePath);
                soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;
            }
        }
    }
}
Пример #2
0
        internal static object ReadJSON(Type type, string jsonloc)
        {
            //IDictionary<int, SoundboardSettings> dict = new Dictionary<int, SoundboardSettings>();
            SoundboardSettings settings = new SoundboardSettings();

            using (StreamReader r = new StreamReader(jsonloc))
            {
                JsonSerializer serializer = new JsonSerializer();
                settings = (SoundboardSettings)serializer.Deserialize(r, typeof(SoundboardSettings));
                r.Close();
            }
            return(settings);


            /*
             * internal static IDictionary<int,SoundFile> readJSON(string jsonLoc)
             * {
             *
             * IDictionary<int, SoundFile> dict = new Dictionary<int, SoundFile>();
             * using (StreamReader r = new StreamReader(jsonLoc))
             * {
             *  //string json = r.ReadToEnd();
             *  JsonSerializer serializer = new JsonSerializer();
             *  dict = (IDictionary<int, SoundFile>)serializer.Deserialize(r, typeof(IDictionary<int, SoundFile>));
             *  r.Close();
             *  //return json;
             * }
             *
             * return dict;
             * }
             *
             *
             * /*
             * var serializer = new XmlSerializer(type);
             *
             * using (var reader = XmlReader.Create(xmlLoc))
             * {
             *  if (serializer.CanDeserialize(reader))
             *  {
             *      return serializer.Deserialize(reader);
             *  }
             *  else return null;
             * }
             */
        }
Пример #3
0
        internal static void LoadSoundboardSettingsXML()
        {
            string filePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\settings.xml";

            if (File.Exists(filePath))
            {
                try
                {
                    SoundboardSettings settings = (SoundboardSettings)ReadXML(typeof(SoundboardSettings), filePath);

                    bool settingsInvalid = false;

                    //validation start

                    if (settings.StopSoundKeys == null)
                    {
                        settings.StopSoundKeys = new Keyboard.Keys[] { };
                        settingsInvalid        = true;
                    }

                    if (settings.LoadXMLFiles == null)
                    {
                        settings.LoadXMLFiles = new LoadXMLFile[] { };
                        settingsInvalid       = true;
                    }

                    if (settings.AutoPushToTalkWindow == null)
                    {
                        settings.AutoPushToTalkWindow = "";
                        settingsInvalid = true;
                    }

                    if (settings.LastPlaybackDevice == null)
                    {
                        settings.LastPlaybackDevice = "";
                        settingsInvalid             = true;
                    }

                    if (settings.LastPlaybackDevice2 == null)
                    {
                        settings.LastPlaybackDevice2 = "";
                        settingsInvalid = true;
                    }

                    if (settings.LastLoopbackDevice == null)
                    {
                        settings.LastLoopbackDevice = "";
                        settingsInvalid             = true;
                    }

                    if (settings.LastXMLFile == null)
                    {
                        settings.LastXMLFile = "";
                        settingsInvalid      = true;
                    }

                    if (settings.SoundVolume < 0)
                    {
                        settings.SoundVolume = 0;
                        settingsInvalid      = true;
                    }
                    else if (settings.SoundVolume > 1)
                    {
                        settings.SoundVolume = 1;
                        settingsInvalid      = true;
                    }

                    //validation end

                    soundboardSettings = settings;

                    if (settingsInvalid)
                    {
                        //recreate settings.xml with the corrected values
                        SaveSoundboardSettingsXML();
                    }
                }
                catch
                {
                    MessageBox.Show("Settings file invalid, using default settings");

                    WriteXML(DEFAULT_SOUNDBOARD_SETTINGS, filePath);
                    soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;
                }
            }
            else
            {
                WriteXML(DEFAULT_SOUNDBOARD_SETTINGS, filePath);
                soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;
            }
        }
Пример #4
0
        internal static void LoadSoundboardSettingsXML()
        {
            string filePath    = Path.GetDirectoryName(Application.ExecutablePath) + "\\AHS-settings.xml";
            string oldFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\settings.xml";

            if (!File.Exists(filePath))
            {
                filePath = oldFilePath;
            }                                                       // try the old file path if the new one doesn't exist

            if (File.Exists(filePath))
            {
                SoundboardSettings settings;

                try
                {
                    settings = (SoundboardSettings)ReadXML(typeof(SoundboardSettings), filePath);
                }
                catch
                {
                    soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;
                    return;
                }

                if (settings == null)
                {
                    soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;
                    return;
                }

                if (settings.StopSoundKeys == null)
                {
                    settings.StopSoundKeys = new Keys[] { Keys.Pause }
                }
                ;
                if (settings.PlaySelectionKeys == null)
                {
                    settings.PlaySelectionKeys = new Keys[] { Keys.Oemtilde, Keys.LControlKey }
                }
                ;

                if (settings.LoadXMLFiles == null)
                {
                    settings.LoadXMLFiles = new LoadXMLFile[] { }
                }
                ;

                if (settings.LastPlaybackDevice == null)
                {
                    settings.LastPlaybackDevice = "";
                }
                if (settings.LastPlaybackDevice2 == null)
                {
                    settings.LastPlaybackDevice2 = "";
                }

                if (settings.LastLoopbackDevice == null)
                {
                    settings.LastLoopbackDevice = "";
                }

                if (settings.RememberGainControl)
                {
                    MainForm.Instance.SetGain(settings.GainValue);
                    if (settings.GoEvenFurtherBeyond)
                    {
                        MainForm.Instance.GoEvenFurtherBeyond(true);
                    }
                }

                soundboardSettings = settings;
            }
            else
            {
                WriteXML(DEFAULT_SOUNDBOARD_SETTINGS, filePath);
                soundboardSettings = DEFAULT_SOUNDBOARD_SETTINGS;

                for (int i = 0; i < WaveOut.DeviceCount; i++)
                {
                    if (WaveOut.GetCapabilities(i).ProductName.Contains("VB-Cable Input") || WaveOut.GetCapabilities(i).ProductName.Contains("CABLE Input") || WaveOut.GetCapabilities(i).ProductName.Contains("VoiceMeeter Input"))
                    {
                        soundboardSettings.LastPlaybackDevice = WaveOut.GetCapabilities(i).ProductName;
                        WriteXML(soundboardSettings, filePath);
                    }
                }
            }
        }
    }
}