f995625460
- Added AsyncImageLoader package for improved image loading. - Implemented macOS native VLC library bundling with a script to fetch and copy necessary files. - Enhanced PlayerView UI with updated colors and improved layout for better user experience. - Refactored media playback logic in PlayerView to handle buffering and errors more gracefully. - Updated Playlists and Programs views to use consistent styling and improved text colors. - Introduced a new settings layout with better organization and visual appeal.
62 lines
3.3 KiB
XML
62 lines
3.3 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<RootNamespace>TV_Player</RootNamespace>
|
|
<AssemblyName>TV Player Avalonia</AssemblyName>
|
|
<AvaloniaUseCompiledBindingsByDefault>false</AvaloniaUseCompiledBindingsByDefault>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="AsyncImageLoader.Avalonia" Version="3.7.0" />
|
|
<PackageReference Include="Avalonia" Version="11.2.5" />
|
|
<PackageReference Include="Avalonia.Desktop" Version="11.2.5" />
|
|
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.5" />
|
|
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
|
<PackageReference Include="LibVLCSharp" Version="3.9.6" />
|
|
<PackageReference Include="LibVLCSharp.Avalonia" Version="3.9.6" />
|
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
|
|
<PackageReference Include="System.Reactive" Version="6.0.2" />
|
|
<PackageReference Include="VideoLAN.LibVLC.Windows" Version="3.0.23" Condition="$([MSBuild]::IsOSPlatform('windows'))" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\TV Player Core\TV Player Core.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<AvaloniaResource Include="Assets\**\*" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="$([MSBuild]::IsOSPlatform('macos'))">
|
|
<None Include="natives/macos/**">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
<Link>natives/macos/%(RecursiveDir)%(Filename)%(Extension)</Link>
|
|
</None>
|
|
</ItemGroup>
|
|
|
|
<Target Name="EnsureBundledMacVlc" BeforeTargets="Build" Condition="$([MSBuild]::IsOSPlatform('macos')) and ( !Exists('$(MSBuildProjectDirectory)/natives/macos/lib/libvlccore.dylib') or !Exists('$(MSBuildProjectDirectory)/natives/macos/plugins') )">
|
|
<Message Text="Bundling VLC native macOS runtime files (one-time download)..." Importance="high" />
|
|
<Exec Command="sh "$(MSBuildProjectDirectory)/scripts/fetch-vlc-macos.sh" "$(MSBuildProjectDirectory)"" />
|
|
</Target>
|
|
|
|
<Target Name="CopyBundledMacVlcToOutput" AfterTargets="Build" Condition="$([MSBuild]::IsOSPlatform('macos')) and Exists('$(MSBuildProjectDirectory)/natives/macos/lib/libvlccore.dylib')">
|
|
<ItemGroup>
|
|
<BundledMacVlcFiles Include="$(MSBuildProjectDirectory)/natives/macos/**/*" />
|
|
<BundledMacVlcRootLibs Include="$(MSBuildProjectDirectory)/natives/macos/lib/libvlc.dylib;$(MSBuildProjectDirectory)/natives/macos/lib/libvlccore.dylib" />
|
|
<BundledMacVlcRootPlugins Include="$(MSBuildProjectDirectory)/natives/macos/plugins/**/*" />
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(BundledMacVlcFiles)"
|
|
DestinationFiles="@(BundledMacVlcFiles->'$(TargetDir)natives/macos/%(RecursiveDir)%(Filename)%(Extension)')"
|
|
SkipUnchangedFiles="true" />
|
|
<Copy SourceFiles="@(BundledMacVlcRootLibs)"
|
|
DestinationFiles="@(BundledMacVlcRootLibs->'$(TargetDir)%(Filename)%(Extension)')"
|
|
SkipUnchangedFiles="true" />
|
|
<Copy SourceFiles="@(BundledMacVlcRootPlugins)"
|
|
DestinationFiles="@(BundledMacVlcRootPlugins->'$(TargetDir)plugins/%(RecursiveDir)%(Filename)%(Extension)')"
|
|
SkipUnchangedFiles="true" />
|
|
</Target>
|
|
</Project>
|