Skip to content

Commit

Permalink
Fix Metadata Manager throwing error when metadata values are missing …
Browse files Browse the repository at this point in the history
…in a beatmap
  • Loading branch information
OliBomby committed Jan 1, 2025
1 parent dec239a commit 441aa8a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 19 deletions.
18 changes: 9 additions & 9 deletions Mapping_Tools/Viewmodels/MetadataManagerVm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -135,15 +135,15 @@ private void ImportFromBeatmap(string importPath) {
var editor = new BeatmapEditor(importPath);
var beatmap = editor.Beatmap;

Artist = beatmap.Metadata["ArtistUnicode"].Value;
RomanisedArtist = beatmap.Metadata["Artist"].Value;
Title = beatmap.Metadata["TitleUnicode"].Value;
RomanisedTitle = beatmap.Metadata["Title"].Value;
BeatmapCreator = beatmap.Metadata["Creator"].Value;
Source = beatmap.Metadata["Source"].Value;
Tags = beatmap.Metadata["Tags"].Value;

PreviewTime = beatmap.General["PreviewTime"].DoubleValue;
Artist = beatmap.Metadata.TryGetValue("ArtistUnicode", out TValue artistUnicodeValue) ? artistUnicodeValue.Value : string.Empty;
RomanisedArtist = beatmap.Metadata.TryGetValue("Artist", out TValue artistValue) ? artistValue.Value : string.Empty;
Title = beatmap.Metadata.TryGetValue("TitleUnicode", out TValue titleUnicodeValue) ? titleUnicodeValue.Value : string.Empty;
RomanisedTitle = beatmap.Metadata.TryGetValue("Title", out TValue titleValue) ? titleValue.Value : string.Empty;
BeatmapCreator = beatmap.Metadata.TryGetValue("Creator", out TValue creatorValue) ? creatorValue.Value : string.Empty;
Source = beatmap.Metadata.TryGetValue("Source", out TValue sourceValue) ? sourceValue.Value : string.Empty;
Tags = beatmap.Metadata.TryGetValue("Tags", out TValue tagsValue) ? tagsValue.Value : string.Empty;

PreviewTime = beatmap.General.TryGetValue("PreviewTime", out TValue previewTimeValue) ? previewTimeValue.DoubleValue : -1;
ComboColours = new ObservableCollection<ComboColour>(beatmap.ComboColours);
SpecialColours.Clear();
foreach (var specialColour in beatmap.SpecialColours) {
Expand Down
19 changes: 9 additions & 10 deletions Mapping_Tools/Views/MetadataManager/MetadataManagerView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
using Mapping_Tools.Classes.BeatmapHelper;
using Mapping_Tools.Classes.SystemTools;
using Mapping_Tools.Classes.ToolHelpers;
using Mapping_Tools.Classes.Tools;
using Mapping_Tools.Viewmodels;

namespace Mapping_Tools.Views.MetadataManager {
Expand Down Expand Up @@ -60,13 +59,13 @@ private static string Copy_Metadata(MetadataManagerVm arg, BackgroundWorker work
var editor = EditorReaderStuff.GetNewestVersionOrNot(path, reader);
var beatmap = editor.Beatmap;

beatmap.Metadata["ArtistUnicode"].Value = arg.Artist;
beatmap.Metadata["Artist"].Value = arg.RomanisedArtist;
beatmap.Metadata["TitleUnicode"].Value = arg.Title;
beatmap.Metadata["Title"].Value = arg.RomanisedTitle;
beatmap.Metadata["Creator"].Value = arg.BeatmapCreator;
beatmap.Metadata["Source"].Value = arg.Source;
beatmap.Metadata["Tags"].Value = arg.Tags;
beatmap.Metadata["ArtistUnicode"] = new TValue(arg.Artist);
beatmap.Metadata["Artist"] = new TValue(arg.RomanisedArtist);
beatmap.Metadata["TitleUnicode"] = new TValue(arg.Title);
beatmap.Metadata["Title"] = new TValue(arg.RomanisedTitle);
beatmap.Metadata["Creator"] = new TValue(arg.BeatmapCreator);
beatmap.Metadata["Source"] = new TValue(arg.Source);
beatmap.Metadata["Tags"] = new TValue(arg.Tags);

beatmap.General["PreviewTime"] = new TValue(arg.PreviewTime.ToRoundInvariant());
if (arg.UseComboColours) {
Expand All @@ -78,8 +77,8 @@ private static string Copy_Metadata(MetadataManagerVm arg, BackgroundWorker work
}

if (arg.ResetIds) {
beatmap.Metadata["BeatmapID"].Value = @"0";
beatmap.Metadata["BeatmapSetID"].Value = @"-1";
beatmap.Metadata["BeatmapID"] = new TValue(@"0");
beatmap.Metadata["BeatmapSetID"] = new TValue(@"-1");
}

// Save the file with name update because we updated the metadata
Expand Down

0 comments on commit 441aa8a

Please sign in to comment.