diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a09d8a2..88fcc1b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,7 +7,7 @@ on: - '*' jobs: - build: + build-windows: runs-on: windows-latest steps: @@ -30,17 +30,8 @@ jobs: - name: Dotnet 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 - 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 uses: softprops/action-gh-release@v2 diff --git a/README.md b/README.md index 18fcfec..e572c9c 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,10 @@

Plpext

+
User interface demo
+ +
[![Demo](docs/demo.png)](docs/demo_video.mp4)
+
[![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. -I am also using a less-problematic implementation of OpenAL, which hopefully will make distribution a whole lot easier. - ## 📑 Documentation [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 -Building: +Building and running locally: - .NET 8.0 Hopefully that'll be it. Releases should be made self-contained. - ## ⛏️ Built Using - [.NET](https://dot.net/) - Core - [AvaloniaUI](https://avaloniaui.net/) - GUI +- [OpenAL-soft](https://github.com/kcat/openal-soft) - Audio library +- [Velopack](https://velopack.io) - Packaging ## ✍️ Authors diff --git a/build/plpext.ico b/build/plpext.ico new file mode 100644 index 0000000..6b2d4ae Binary files /dev/null and b/build/plpext.ico differ diff --git a/src/Plpext.Core.Windows/lib/x64/OpenAL32.dll b/deps/win/x64/OpenAL32.dll similarity index 100% rename from src/Plpext.Core.Windows/lib/x64/OpenAL32.dll rename to deps/win/x64/OpenAL32.dll diff --git a/src/Plpext.Core.Windows/lib/x86/OpenAL32.dll b/deps/win/x86/OpenAL32.dll similarity index 100% rename from src/Plpext.Core.Windows/lib/x86/OpenAL32.dll rename to deps/win/x86/OpenAL32.dll diff --git a/docs/demo.png b/docs/demo.png new file mode 100644 index 0000000..9031f3b Binary files /dev/null and b/docs/demo.png differ diff --git a/docs/demo_video.mp4 b/docs/demo_video.mp4 new file mode 100644 index 0000000..c7df93f Binary files /dev/null and b/docs/demo_video.mp4 differ diff --git a/docs/plpext.png b/docs/plpext.png new file mode 100644 index 0000000..e84c66f Binary files /dev/null and b/docs/plpext.png differ diff --git a/src/Plpext.Core.Windows/Plpext.Core.Windows.csproj b/src/Plpext.Core.Windows/Plpext.Core.Windows.csproj deleted file mode 100644 index 3fbda68..0000000 --- a/src/Plpext.Core.Windows/Plpext.Core.Windows.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - net8.0 - enable - enable - x86;x64;AnyCPU - - - - - - - - - Always - OpenAL32.dll - - - - - - Always - OpenAL32.dll - - - - diff --git a/src/Plpext/Plpext.UI/Plpext.UI.csproj b/src/Plpext/Plpext.UI/Plpext.UI.csproj index d955d81..01f6edd 100644 --- a/src/Plpext/Plpext.UI/Plpext.UI.csproj +++ b/src/Plpext/Plpext.UI/Plpext.UI.csproj @@ -41,7 +41,6 @@ - @@ -66,4 +65,19 @@ + + + + + + + + + + + + + + + diff --git a/src/Plpext/Plpext.UI/ViewModels/MainWindowViewModel.cs b/src/Plpext/Plpext.UI/ViewModels/MainWindowViewModel.cs index 1957457..beff45f 100644 --- a/src/Plpext/Plpext.UI/ViewModels/MainWindowViewModel.cs +++ b/src/Plpext/Plpext.UI/ViewModels/MainWindowViewModel.cs @@ -55,13 +55,14 @@ public partial class MainWindowViewModel : ViewModelBase private async Task LoadFile() { TotalFilesToExtract = await _fileLoaderService.GetFileCountAsync(OriginPath); - + //AudioFiles.Clear(); await Dispatcher.UIThread.InvokeAsync(() => { ProgressBarText = "Loading files..."; ProgressBarValue = 0 / (double)TotalFilesToExtract * 100; ShowProgressBar = true; IsProgressBarIndeterminate = false; + FilesReady = 0; }); await foreach (var item in _fileLoaderService.LoadFilesAsync())