Skip to content

Commit ca41cdf

Browse files
Fix copying and pasting song details
1 parent c55de9a commit ca41cdf

File tree

3 files changed

+41
-17
lines changed

3 files changed

+41
-17
lines changed

.idea/.idea.MSUScripter/.idea/workspace.xml

Lines changed: 14 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MSUScripter/MSUScripter.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@
1919
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.3.2" />
2020
<PackageReference Include="Deadpikle.AvaloniaProgressRing" Version="0.10.10" />
2121
<PackageReference Include="K4os.Hash.xxHash" Version="1.0.8" />
22-
<PackageReference Include="MattEqualsCoder.AppImageDesktopFileCreator" Version="0.3.1" />
22+
<PackageReference Include="MattEqualsCoder.AppImageDesktopFileCreator" Version="0.3.2" />
2323
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
24-
<PackageReference Include="MattEqualsCoder.AvaloniaControls" Version="1.9.0" />
24+
<PackageReference Include="MattEqualsCoder.AvaloniaControls" Version="1.9.1" />
2525
<PackageReference Include="MattEqualsCoder.GitHubReleaseChecker" Version="1.1.3" />
2626
<PackageReference Include="MattEqualsCoder.MSURandomizer.Library" Version="3.2.1" />
27-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.6" />
28-
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.6" />
27+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
28+
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.9" />
2929
<PackageReference Include="NAudio" Version="2.2.1" />
3030
<PackageReference Include="NAudio.WinMM" Version="2.2.1" />
31-
<PackageReference Include="NJsonSchema.CodeGeneration.CSharp" Version="11.3.2" />
31+
<PackageReference Include="NJsonSchema.CodeGeneration.CSharp" Version="11.5.1" />
3232
<PackageReference Include="ReactiveUI.Fody" Version="19.5.41" />
3333
<PackageReference Include="Serilog" Version="4.3.0" />
3434
<PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" />
@@ -37,7 +37,7 @@
3737
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
3838
<PackageReference Include="SharpZipLib" Version="1.4.2" />
3939
<PackageReference Include="SoundFlow" Version="1.1.1" />
40-
<PackageReference Include="System.Management" Version="9.0.6" />
40+
<PackageReference Include="System.Management" Version="9.0.9" />
4141
<PackageReference Include="TagLibSharp" Version="2.3.0" />
4242
</ItemGroup>
4343

MSUScripter/Services/ControlServices/MsuProjectWindowService.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1112,10 +1112,30 @@ public void ToggleCopyrightStatusIcons(bool? value = null)
11121112

11131113
public string? PasteSongDetails(MsuProjectWindowViewModelTreeData treeData, string yaml)
11141114
{
1115-
if (yamlService.FromYaml<MsuSongInfo>(yaml, YamlType.PascalIgnoreDefaults, out var songInfo, out var error))
1115+
if (yamlService.FromYaml<MsuSongInfo>(yaml, YamlType.PascalIgnoreDefaults, out var songInfo, out var error) && songInfo != null)
11161116
{
1117+
var originalSongInfo = treeData.SongInfo;
11171118
treeData.SongInfo = songInfo;
11181119

1120+
if (originalSongInfo != null)
1121+
{
1122+
songInfo.Id = originalSongInfo.Id;
1123+
songInfo.OutputPath = originalSongInfo.OutputPath;
1124+
songInfo.MsuPcmInfo.Output = originalSongInfo.MsuPcmInfo.Output;
1125+
songInfo.TrackNumber = originalSongInfo.TrackNumber;
1126+
songInfo.TrackName = originalSongInfo.TrackName;
1127+
1128+
var index = treeData.TrackInfo!.Songs.IndexOf(originalSongInfo);
1129+
treeData.TrackInfo.Songs[index] = songInfo;
1130+
}
1131+
else
1132+
{
1133+
songInfo.Id = Guid.NewGuid().ToString();
1134+
songInfo.TrackName = treeData.TrackInfo!.TrackName;
1135+
songInfo.TrackNumber = treeData.TrackInfo!.TrackNumber;
1136+
treeData.TrackInfo.Songs.Add(songInfo);
1137+
}
1138+
11191139
if (treeData.ParentTreeData != null && !string.IsNullOrEmpty(treeData.SongInfo?.SongName))
11201140
{
11211141
treeData.Name = treeData.SongInfo.SongName;

0 commit comments

Comments
 (0)