Update README a bit, and change the library strategy.
Some checks are pending
CI/CD / build-windows (push) Waiting to run

This commit is contained in:
Felipe Cotti 2024-11-30 16:32:19 -03:00
parent 4c63919604
commit 8be058f4f1
11 changed files with 26 additions and 45 deletions

View file

@ -7,7 +7,7 @@ on:
- '*' - '*'
jobs: jobs:
build: build-windows:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
@ -30,17 +30,8 @@ jobs:
- name: Dotnet publish - name: Dotnet publish
run: dotnet publish src/Plpext/Plpext.UI/Plpext.UI.csproj -c Release -r win-x64 -o publish run: dotnet publish src/Plpext/Plpext.UI/Plpext.UI.csproj -c Release -r win-x64 -o publish
- name: Copy OpenAL32.dll
run: |
Copy-Item -Path "src\Plpext.Core.Windows\lib\x64\OpenAL32.dll" -Destination "publish\OpenAL32.dll" -Force
if (Test-Path "publish\OpenAL32.dll") {
Write-Host "OpenAL32.dll successfully copied to publish folder"
} else {
Write-Error "Failed to copy OpenAL32.dll"
exit 1
}
- name: Vpk pack - name: Vpk pack
run: vpk pack --mainExe=Plpext.exe --packId=Plpext --packVersion=1.0.${{ github.run_number }} --packDir=publish -o build/win run: vpk pack --packAuthors="Felipe Cotti" --packTitle=Plpext -i build/plpext.ico -s docs/plpext.png --mainExe=Plpext.exe --packId=Plpext --packVersion=1.0.${{ github.run_number }} --packDir=publish -o build/win
- name: Upload artifact - name: Upload artifact
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2

View file

@ -5,6 +5,10 @@
<h3 align="center">Plpext</h3> <h3 align="center">Plpext</h3>
<div align="center"><img src="docs/demo.png" alt="User interface demo" /></div>
<div align="center">[![Demo](docs/demo.png)](docs/demo_video.mp4)</div>
<div align="center"> <div align="center">
[![Status](https://img.shields.io/badge/status-active-success.svg)]() [![Status](https://img.shields.io/badge/status-active-success.svg)]()
@ -38,8 +42,6 @@ Plpext (*good luck spelling that any way you want*) is a simple application to r
It is also a rewrite of the very aptly-named *MessengerPlusSoundBankExtractor* with an improved project design. The `plpext-core` solution now contains everything related to file manipulation and playback, leaving the front-end fully free to do as it wishes. It is also a rewrite of the very aptly-named *MessengerPlusSoundBankExtractor* with an improved project design. The `plpext-core` solution now contains everything related to file manipulation and playback, leaving the front-end fully free to do as it wishes.
I am also using a less-problematic implementation of OpenAL, which hopefully will make distribution a whole lot easier.
## 📑 Documentation <a name = "documentation"></a> ## 📑 Documentation <a name = "documentation"></a>
[Comments and general documentation/musings on the project](docs/comments.md) [Comments and general documentation/musings on the project](docs/comments.md)
@ -50,16 +52,17 @@ These instructions will get you a copy of the project up and running on your loc
## 🕸️ Prerequisites ## 🕸️ Prerequisites
Building: Building and running locally:
- .NET 8.0 - .NET 8.0
Hopefully that'll be it. Releases should be made self-contained. Hopefully that'll be it. Releases should be made self-contained.
## ⛏️ Built Using <a name = "built_using"></a> ## ⛏️ Built Using <a name = "built_using"></a>
- [.NET](https://dot.net/) - Core - [.NET](https://dot.net/) - Core
- [AvaloniaUI](https://avaloniaui.net/) - GUI - [AvaloniaUI](https://avaloniaui.net/) - GUI
- [OpenAL-soft](https://github.com/kcat/openal-soft) - Audio library
- [Velopack](https://velopack.io) - Packaging
## ✍️ Authors <a name = "authors"></a> ## ✍️ Authors <a name = "authors"></a>

BIN
build/plpext.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

BIN
docs/demo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
docs/demo_video.mp4 Normal file

Binary file not shown.

BIN
docs/plpext.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -1,28 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Platforms>x86;x64;AnyCPU</Platforms>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Plpext.Core\Plpext.Core.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(Platform)' == 'x86' Or '$(PlatformTarget)' == 'x86' Or '$(Platform)' == 'AnyCPU' Or '$(PlatformTarget)' == 'AnyCPU' ">
<None Include="lib\x86\OpenAL32.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<TargetPath>OpenAL32.dll</TargetPath>
</None>
</ItemGroup>
<ItemGroup Condition="'$(Platform)' == 'x64' Or '$(PlatformTarget)' == 'x64'">
<None Include="lib\x64\OpenAL32.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<TargetPath>OpenAL32.dll</TargetPath>
</None>
</ItemGroup>
</Project>

View file

@ -41,7 +41,6 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Plpext.Core\Plpext.Core.csproj" /> <ProjectReference Include="..\..\Plpext.Core\Plpext.Core.csproj" />
<ProjectReference Include="..\..\Plpext.Core.Windows\Plpext.Core.Windows.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -66,4 +65,19 @@
<None Remove="ViewModels\Mocks\**" /> <None Remove="ViewModels\Mocks\**" />
</ItemGroup> </ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'win-x86'">
<OpenAL32Dll Include="$(MSBuildProjectDirectory)\..\..\..\deps\win\x86\OpenAL32.dll" Condition="'$(RuntimeIdentifier)' == 'win-x86'" />
<OpenAL32Dll Include="$(MSBuildProjectDirectory)\..\..\..\deps\win\x64\OpenAL32.dll" Condition="'$(RuntimeIdentifier)' == 'win-x64'" />
</ItemGroup>
<Copy SourceFiles="@(OpenAL32Dll)" DestinationFiles="$(OutputPath)\OpenAL32.dll" />
</Target>
<Target Name="PublishOpenAL" AfterTargets="Publish">
<ItemGroup>
<OpenAL32Dll Include="$(MSBuildProjectDirectory)\..\..\..\deps\win\x86\OpenAL32.dll" Condition="'$(RuntimeIdentifier)' == 'win-x86'" />
<OpenAL32Dll Include="$(MSBuildProjectDirectory)\..\..\..\deps\win\x64\OpenAL32.dll" Condition="'$(RuntimeIdentifier)' == 'win-x64'" />
</ItemGroup>
<Copy SourceFiles="@(OpenAL32Dll)" DestinationFiles="$(PublishDir)\OpenAL32.dll"/>
</Target>
</Project> </Project>

View file

@ -55,13 +55,14 @@ public partial class MainWindowViewModel : ViewModelBase
private async Task LoadFile() private async Task LoadFile()
{ {
TotalFilesToExtract = await _fileLoaderService.GetFileCountAsync(OriginPath); TotalFilesToExtract = await _fileLoaderService.GetFileCountAsync(OriginPath);
//AudioFiles.Clear();
await Dispatcher.UIThread.InvokeAsync(() => await Dispatcher.UIThread.InvokeAsync(() =>
{ {
ProgressBarText = "Loading files..."; ProgressBarText = "Loading files...";
ProgressBarValue = 0 / (double)TotalFilesToExtract * 100; ProgressBarValue = 0 / (double)TotalFilesToExtract * 100;
ShowProgressBar = true; ShowProgressBar = true;
IsProgressBarIndeterminate = false; IsProgressBarIndeterminate = false;
FilesReady = 0;
}); });
await foreach (var item in _fileLoaderService.LoadFilesAsync()) await foreach (var item in _fileLoaderService.LoadFilesAsync())