public void OpenMetaData(int index) { if (LSSettings.UsedProgram == ProjectType.CameraRaw) { XMP CurXmp = ((FrameACR)ProjectManager.CurrentProject.Frames[index]).XMPFile; if (CurXmp == null || (CurXmp != null && CurXmp.Values.Count == 0)) { WindowResponse res = MsgBox.Show(Message.GetString(@"No XMP associated with this file. Do you want to reload to check if there is one now? Yes reloads the files XMP values. No lets you load values from a standalone XMP file."), MessageWindowType.Question, MessageWindowButtons.YesNoCancel); if (res == WindowResponse.Yes) { ProjectManager.ReadXMP(); return; } else if (res == WindowResponse.Cancel) { return; } using (FileDialog fdlg = FDialog.CreateDialog(FileDialogType.OpenFile, Message.GetString("Open XMP"))) { fdlg.AddFileTypeFilter(new FileTypeFilter(Message.GetString("XMP"), "xmp", "XMP")); if (Directory.Exists(LSSettings.LastMetaDir)) { fdlg.InitialDirectory = LSSettings.LastMetaDir; } if (fdlg.Show() == WindowResponse.Ok) { LSSettings.LastMetaDir = Path.GetDirectoryName(fdlg.SelectedPath); LSSettings.Save(); ProjectManager.AddKeyframe(index, fdlg.SelectedPath); } } } else { ProjectManager.AddKeyframe(index); } } else if (LSSettings.UsedProgram == ProjectType.RawTherapee) { using (FileDialog fdlg = FDialog.CreateDialog(FileDialogType.OpenFile, Message.GetString("Open PP3"))) { fdlg.AddFileTypeFilter(new FileTypeFilter(Message.GetString("Postprocessing Profile"), "PP3", "pp3")); if (Directory.Exists(LSSettings.LastMetaDir)) { fdlg.InitialDirectory = LSSettings.LastMetaDir; } if (fdlg.Show() == WindowResponse.Ok) { LSSettings.LastMetaDir = Path.GetDirectoryName(fdlg.SelectedPath); LSSettings.Save(); ProjectManager.AddKeyframe(index, fdlg.SelectedPath); } } } else { ProjectManager.AddKeyframe(index); } if (ProjectManager.CurrentProject.Frames[index].IsKeyframe) { MsgBox.ShowMessage(MessageContent.KeyframeAdded); } else { MsgBox.ShowMessage(MessageContent.KeyframeNotAdded); } }