Files
IPTVplayer/TV Player Avalonia/TV Player Avalonia.csproj
T
Vladimir f995625460 feat: Add macOS VLC native bundling and improve UI styling
- 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.
2026-03-22 16:58:11 +02:00

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 &quot;$(MSBuildProjectDirectory)/scripts/fetch-vlc-macos.sh&quot; &quot;$(MSBuildProjectDirectory)&quot;" />
</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>