public void Init()
        {
            try
            {
                // load camera profiles
                CameraProfiles.Clear();
                CameraProfiles.Add(_noneProfile);

                var files = Directory.GetFiles(Settings.Instance.CameraProfileFolder, "*.json");
                foreach (var file in files)
                {
                    var p = CameraProfile.Load(file);
                    if (p != null)
                    {
                        CameraProfiles.Add(p);
                    }
                }
                RaisePropertyChanged(() => CameraProfile);
                // camera profiles
                Profiles.Clear();
                files = Directory.GetFiles(Settings.Instance.ProfileFolder, "*.json");
                foreach (var file in files)
                {
                    var p = Profile.Load(file);
                    if (p != null)
                    {
                        Profiles.Add(p);
                    }
                }
                if (Profiles.Count == 0)
                {
                    var newP = GetNewProfile("Profile1");
                    newP.Save();
                    Profiles.Add(newP);
                }
                Profile = Profiles[0];
                if (!string.IsNullOrWhiteSpace(Profile?.CameraProfileId))
                {
                    CameraProfile = CameraProfiles.FirstOrDefault(x => x.Id == Profile.CameraProfileId);
                }
            }
            catch (Exception e)
            {
                Log.Debug("Unable to load profile list ", e);
            }
        }