Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New cross platform GUI using GTK4 #118

Draft
wants to merge 36 commits into
base: net-6
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
85e417d
A few changes to WinForms stuff
PlatinumLucario Sep 4, 2022
ccdf3a9
Added GTK3 project
PlatinumLucario Sep 4, 2022
7d54bf9
Added MenuBar and methods
PlatinumLucario Sep 9, 2022
566ac66
Added Buttons, SpinButton and Scales
PlatinumLucario Sep 11, 2022
6a5c7b7
Added TreeListView, sequences kinda working, but still needs more work
PlatinumLucario Sep 12, 2022
b6b7b07
Using Gir.Core to make a GTK4 UI
PlatinumLucario Jul 4, 2023
4bec866
Removed SDL2-CS and portaudio-sharp projects.
PlatinumLucario Jul 8, 2023
f90058c
MP2K Engine is now useable in GTK4 GUI
PlatinumLucario Aug 3, 2023
277c1e7
Pause and Stop buttons are now usable
PlatinumLucario Aug 5, 2023
24a950a
A few adjustments
PlatinumLucario Aug 25, 2023
5c13c54
Sync with net-6 branch
PlatinumLucario Nov 19, 2023
037dccb
Merging conflicts
PlatinumLucario Nov 19, 2023
f274d74
Another sync with net-6 branch (didn't realise it wasn't up to date)
PlatinumLucario Nov 19, 2023
2b9db7c
Merge branch 'new-gui-experimental' of https://github.com/PlatinumLuc…
PlatinumLucario Nov 19, 2023
b3e547b
Merged the changes from the net-6 branch properly this time
PlatinumLucario Nov 19, 2023
8a7b7b8
Repairing changes, fixing repo and updating code for new GUI
PlatinumLucario Nov 19, 2023
b0d14fb
[MP2K] Sonic Advance 2
Kermalis Feb 5, 2024
f2c0375
Updated nuget packages
PlatinumLucario Feb 28, 2024
22c6051
Merged changes with upstream net6 branch
PlatinumLucario Feb 28, 2024
56ec3fb
Added PortAudio backend
PlatinumLucario Feb 28, 2024
33b2443
PortAudio buffers are now functional
PlatinumLucario Jul 12, 2024
9e3fdc7
Merged new audio backend (PortAudio)
PlatinumLucario Jul 12, 2024
d245937
Repaired GTK4 GUI
PlatinumLucario Jul 13, 2024
f2a0276
Some fixes
PlatinumLucario Jul 19, 2024
e220aea
Some minor updates and experiments
PlatinumLucario Sep 10, 2024
6ada169
Fixed position bar issues
PlatinumLucario Nov 21, 2024
1f8bff0
New Sequence List and Playlist
PlatinumLucario Dec 24, 2024
e847981
Bug fixes - Legacy GUI (WinForms)
PlatinumLucario Dec 29, 2024
0bdd924
Added Piano
PlatinumLucario Dec 28, 2024
2c741b2
Added Track Info widget, and some changes
PlatinumLucario Jan 8, 2025
be4a7ef
New custom Velocity Bars, and detachable widgets!
PlatinumLucario Jan 12, 2025
ed24f7a
Added Track Viewer and other changes
PlatinumLucario Jan 13, 2025
2a0de94
Adjustable tempo controls
PlatinumLucario Jan 13, 2025
e3f89b9
Added native dependencies, and other fixes
PlatinumLucario Jan 21, 2025
4a142c7
Updated README
PlatinumLucario Jan 21, 2025
6d850b7
WinForms (Legacy UI) update
PlatinumLucario Jan 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 27 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -259,4 +259,30 @@ paket-files/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
*.pyc
/VG Music Studio - GTK4/share/
/VG Music Studio - Core/GBA/AlphaDream/AlphaDreamChannel.cs
/VG Music Studio - Core/GBA/AlphaDream/Commands.cs
/VG Music Studio - Core/GBA/AlphaDream/Enums.cs
/VG Music Studio - Core/GBA/AlphaDream/Structs.cs
/VG Music Studio - Core/GBA/AlphaDream/Track.cs
/VG Music Studio - Core/GBA/MP2K/Channel.cs
/VG Music Studio - Core/GBA/MP2K/Commands.cs
/VG Music Studio - Core/GBA/MP2K/Enums.cs
/VG Music Studio - Core/GBA/MP2K/Structs.cs
/VG Music Studio - Core/GBA/MP2K/Track.cs
/VG Music Studio - Core/GBA/MP2K/Utils.cs
/VG Music Studio - Core/NDS/DSE/Channel.cs
/VG Music Studio - Core/NDS/DSE/Commands.cs
/VG Music Studio - Core/NDS/DSE/Enums.cs
/VG Music Studio - Core/NDS/DSE/Track.cs
/VG Music Studio - Core/NDS/DSE/Utils.cs
/VG Music Studio - Core/NDS/SDAT/Channel.cs
/VG Music Studio - Core/NDS/SDAT/Commands.cs
/VG Music Studio - Core/NDS/SDAT/Enums.cs
/VG Music Studio - Core/NDS/SDAT/FileHeader.cs
/VG Music Studio - Core/NDS/SDAT/Track.cs
/VG Music Studio - Core/NDS/Utils.cs
/VG Music Studio - MIDI
/.vscode
/ObjectListView
10 changes: 10 additions & 0 deletions CreateNugets/Build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
::
:: Fetches the paths to the libraries and generates the csproj
::
:: C:/msys64/usr/bin/bash.exe -lc "ldd /mingw64/bin/libadwaita-1-0.dll | grep '\/mingw.*\.dll' -o" > output.txt
::
if exist VGMusicStudio.Dependencies.Adwaita.Native.win-x64.csproj (
del VGMusicStudio.Dependencies.Adwaita.Native.win-x64.csproj
)
python generate-csproj.py
dotnet pack -c Release
22 changes: 22 additions & 0 deletions CreateNugets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Binary Nuget packages for Adwaita.

Source code repository for Adwaita:
https://gitlab.gnome.org/GNOME/libadwaita/

# Adwaita

Building blocks for modern GNOME applications.

## License

Libadwaita is licensed under the LGPL-2.1+.

## Documentation

The documentation can be found online
[here](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/).

## Getting in Touch

Matrix room: [#libadwaita:gnome.org](https://matrix.to/#/#libadwaita:gnome.org)

161 changes: 161 additions & 0 deletions CreateNugets/generate-csproj.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
#!/usr/bin/env python3

import os
import sys
import platform
import argparse
import re
import shutil
import subprocess
from pathlib import Path


# To assign the correct platform moniker on the platform it's built on
def get_platform_and_architecture():
os_platform = ""
architecture = ""

# Operating System
if sys.platform == "win32":
os_platform = "win"
elif sys.platform == "darwin":
os_platform = "osx"
elif sys.platform == "linux":
os_platform = sys.platform
else:
print("The OS type could not be determined.")
exit()

# CPU Architecture
if (platform.machine() == 'x86_64') or (platform.machine() == 'amd64') or (platform.machine() == 'AMD64'):
architecture = "x64"
elif (platform.machine() == 'arm64') or (platform.machine() == 'ARM64') or (platform.machine() == 'aarch64') or (platform.machine() == 'Aarch64') or (platform.machine() == 'AARCH64'):
architecture = "arm64"
else:
print("The CPU architecture type could not be determined.")
exit()

return os_platform + "-" + architecture


def create_csproj(mingw_folder, dotnet_rid, lib_paths):
version = "1.6.3" # Version must be manually defined for now
with open("org.adwaita.native." + dotnet_rid + ".csproj", "w") as f:
csproj_strings = [
"<Project Sdk='"'Microsoft.NET.Sdk'"'>", "\n",
" <PropertyGroup>", "\n",
" <PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>", "\n",
" <PackageReadmeFile>README.md</PackageReadmeFile>", "\n",
" <OutputType>Library</OutputType>", "\n",
" <TargetFrameworks>netstandard2.0;netcoreapp3.1;net6.0;net8.0</TargetFrameworks>", "\n",
" <NoWarn>NU5128</NoWarn>", "\n",
" <RuntimeIdentifier>" + dotnet_rid + "</RuntimeIdentifier>", "\n",
" <AssemblyName>Adwaita.Native</AssemblyName>", "\n",
" <Version>" + version + "</Version>", "\n",
"\n",
" <PackageProjectUrl>https://github.com/PlatinumLucario/VGMusicStudio/tree/new-gui-experimental/CreateNugets</PackageProjectUrl>", "\n",
" <RepositoryUrl>https://gitlab.gnome.org/GNOME/libadwaita/</RepositoryUrl>", "\n",
" <PackageTags>adwaita libadwaita gtk glib gio native runtime</PackageTags>", "\n",
"\n",
" <!-- Nuget Properties -->", "\n",
" <Description>", "\n",
" Building blocks for modern GNOME applications.", "\n",
" Source code repository: https://gitlab.gnome.org/GNOME/libadwaita/", "\n",
" </Description>", "\n",
" <IncludeBuildOutput>false</IncludeBuildOutput>", "\n",
"\n",
" <!-- Pack Option -->", "\n",
" <Title>Adwaita " + dotnet_rid + " v" + version + "</Title>", "\n",
" <PackageId>org.adwaita.native." + dotnet_rid + "</PackageId>", "\n",
"\n",
" <!-- Signing -->", "\n",
" <SignAssembly>false</SignAssembly>", "\n",
" <PublicSign>false</PublicSign>", "\n",
" <DelaySign>false</DelaySign>", "\n",
" </PropertyGroup>", "\n",
"\n",
" <ItemGroup>", "\n",
" <None Include='"'./README.md'"' Pack='"'true'"' PackagePath='"'/'"'/>", "\n",
" </ItemGroup>", "\n",
"\n",
" <ItemGroup>", "\n",
" <!-- Native libraries can only be in native directories -->", "\n"
]
prev_path = "" # To prevent any duplicate paths, this string variable is made
for path in lib_paths:
if path == prev_path:
continue # That way, if the path is identical to the previous, it'll continue to the next one
# Append the path to the csproj strings
csproj_strings.append(
" <NativeLibrary Include=" + '"' + "C:/msys64" + path + '"' + " " + "/>" + "\n"
)
prev_path = path
csproj_strings.append(
" \n" +
" <!-- SVG pixbuf loader -->" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/libcharset-1.dll" + '"' + " " + "/>" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/librsvg-2-2.dll" + '"' + " " + "/>" + "\n"
" \n" +
" <!-- Executable binaries -->" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/gdbus.exe" + '"' + " " + "/>" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/gdk-pixbuf-query-loaders.exe" + '"' + " " + "/>" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/gspawn-win64-helper.exe" + '"' + " " + "/>" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/gspawn-win64-helper-console.exe" + '"' + " " + "/>" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/gtk4-query-settings.exe" + '"' + " " + "/>" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/bin/gtk4-update-icon-cache.exe" + '"' + " " + "/>" + "\n"
" \n" +
" <!-- Shared asset folders -->" + "\n"
" <NativeLibrary Include=" + '"' + mingw_folder + "/lib/gdk-pixbuff-2.0/**" + '"' + " " + "LinkBase=" + '"' + "../lib/gdk-pixbuff-2.0" + '"' + " " + "/>" + "\n" +
" <NativeLibrary Include=" + '"' + mingw_folder + "/share/glib-2.0/schemas/**" + '"' + " " + "LinkBase=" + '"' + "../share/glib-2.0/schemas" + '"' + " " + "/>" + "\n" +
" <NativeLibrary Include=" + '"' + mingw_folder + "/share/locale/**" + '"' + " " + "LinkBase=" + '"' + "../share/locale" + '"' + " " + "/>" + "\n" +
" <NativeLibrary Include=" + '"' + mingw_folder + "/share/icons/Adwaita/**" + '"' + " " + "LinkBase=" + '"' + "../share/icons/Adwaita" + '"' + " " + "/>" + "\n"
)
csproj_strings.append(
" </ItemGroup>" + "\n" +
" \n" +
" <ItemGroup>" + "\n" +
" <Content Include='"'@(NativeLibrary)'"'>" + "\n" +
" <PackagePath>runtimes/" + dotnet_rid + "/native/%(Filename)%(Extension)</PackagePath>" + "\n" +
" <Pack>true</Pack>" + "\n" +
" <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>" + "\n" +
" </Content>" + "\n"
" </ItemGroup>" + "\n" +
"\n" +
"</Project>" + "\n"
)
writable_strings = ' '.join(csproj_strings)
f.write(writable_strings)


# The main function
def main():
lib_paths = []
dotnet_rid = ""
mingw_folder = ""

# Checks the Environment Variable
if os.getenv("MinGWFolder") == None:
mingw_folder = "C:/msys64/mingw64"
else:
mingw_folder = os.getenv("MinGWFolder")

# Gets the output from the MSYS2 bash terminal
bash_output = subprocess.run("C:/msys64/usr/bin/bash.exe -lc '"'ldd /mingw64/bin/libadwaita-1-0.dll | grep ''\\/mingw.*\\.dll'' -o'"'", stdout=subprocess.PIPE, text=True)

# Splits the lines, appends them to a new list, then adds the main library to the end of the list
if bash_output.returncode == 0:
lib_paths = bash_output.stdout.splitlines()
lib_paths.append("/mingw64/bin/libadwaita-1-0.dll")
else:
print("Error: MSYS2 or libadwaita cannot be found.\nPlease install MSYS2, then run 'pacman -S libadwaita' in MSYS2 to install libadwaita.\n")
exit()

# Appends platform moniker to variable
dotnet_rid = get_platform_and_architecture()

# Creates the csproj with the params
create_csproj(mingw_folder, dotnet_rid, lib_paths)


if __name__ == "__main__":
main()
130 changes: 130 additions & 0 deletions CreateNugets/org.adwaita.native.win-x64.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
<Project Sdk='Microsoft.NET.Sdk'>
<PropertyGroup>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<PackageReadmeFile>README.md</PackageReadmeFile>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.0;netcoreapp3.1;net6.0;net8.0</TargetFrameworks>
<NoWarn>NU5128</NoWarn>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<AssemblyName>Adwaita.Native</AssemblyName>
<Version>1.6.3</Version>

<PackageProjectUrl>https://github.com/PlatinumLucario/VGMusicStudio/tree/new-gui-experimental/CreateNugets</PackageProjectUrl>
<RepositoryUrl>https://gitlab.gnome.org/GNOME/libadwaita/</RepositoryUrl>
<PackageTags>adwaita libadwaita gtk glib gio native runtime</PackageTags>

<!-- Nuget Properties -->
<Description>
Building blocks for modern GNOME applications.
Source code repository: https://gitlab.gnome.org/GNOME/libadwaita/
</Description>
<IncludeBuildOutput>false</IncludeBuildOutput>

<!-- Pack Option -->
<Title>Adwaita win-x64 v1.6.3</Title>
<PackageId>org.adwaita.native.win-x64</PackageId>

<!-- Signing -->
<SignAssembly>false</SignAssembly>
<PublicSign>false</PublicSign>
<DelaySign>false</DelaySign>
</PropertyGroup>

<ItemGroup>
<None Include='./README.md' Pack='true' PackagePath='/'/>
</ItemGroup>

<ItemGroup>
<!-- Native libraries can only be in native directories -->
<NativeLibrary Include="C:/msys64/mingw64/bin/libappstream-5.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libfribidi-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgio-2.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgobject-2.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgraphene-1.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgtk-4-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libintl-8.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpango-1.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libglib-2.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libffi-8.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libcurl-4.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libxml2-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libxmlb-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libiconv-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libyaml-0-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libzstd.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libharfbuzz-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/zlib1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgmodule-2.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpcre2-8-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgcc_s_seh-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libcairo-gobject-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libcairo-script-interpreter-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libcairo-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libepoxy-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libthai-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgdk_pixbuf-2.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libfontconfig-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libidn2-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libbrotlidec.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libnghttp2-14.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpsl-5.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libssh2-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libcrypto-3-x64.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libnghttp3-9.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libssl-3-x64.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libharfbuzz-subset-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libjpeg-8.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpangocairo-1.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/liblzma-5.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpangoft2-1.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpangowin32-1.0-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpng16-16.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libtiff-6.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/vulkan-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libgraphite2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libfreetype-6.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libstdc++-6.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libwinpthread-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/liblzo2-2.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libpixman-1-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libexpat-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libdatrie-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libunistring-5.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libbrotlicommon.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libunistring-5.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libjbig-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libdeflate.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libwebp-7.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libbz2-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libLerc.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libsharpyuv-0.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/libadwaita-1-0.dll" />

<!-- SVG pixbuf loader -->
<NativeLibrary Include="C:/msys64/mingw64/bin/libcharset-1.dll" />
<NativeLibrary Include="C:/msys64/mingw64/bin/librsvg-2-2.dll" />

<!-- Executable binaries -->
<NativeLibrary Include="C:/msys64/mingw64/bin/gdbus.exe" />
<NativeLibrary Include="C:/msys64/mingw64/bin/gdk-pixbuf-query-loaders.exe" />
<NativeLibrary Include="C:/msys64/mingw64/bin/gspawn-win64-helper.exe" />
<NativeLibrary Include="C:/msys64/mingw64/bin/gspawn-win64-helper-console.exe" />
<NativeLibrary Include="C:/msys64/mingw64/bin/gtk4-query-settings.exe" />
<NativeLibrary Include="C:/msys64/mingw64/bin/gtk4-update-icon-cache.exe" />

<!-- Shared asset folders -->
<NativeLibrary Include="C:/msys64/mingw64/lib/gdk-pixbuff-2.0/**" LinkBase="../lib/gdk-pixbuff-2.0" />
<NativeLibrary Include="C:/msys64/mingw64/share/glib-2.0/schemas/**" LinkBase="../share/glib-2.0/schemas" />
<NativeLibrary Include="C:/msys64/mingw64/share/locale/**" LinkBase="../share/locale" />
<NativeLibrary Include="C:/msys64/mingw64/share/icons/Adwaita/**" LinkBase="../share/icons/Adwaita" />
</ItemGroup>

<ItemGroup>
<Content Include='@(NativeLibrary)'>
<PackagePath>runtimes/win-x64/native/%(Filename)%(Extension)</PackagePath>
<Pack>true</Pack>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

</Project>
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes
15 changes: 15 additions & 0 deletions Icons/playlist-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading