Skip to content

Commit 4eb7bf7

Browse files
committed
Merge branch '3.0'
2 parents 3afb2cd + 26ff28e commit 4eb7bf7

38 files changed

Lines changed: 1553 additions & 524 deletions

.github/images/configuration.png

-4.79 KB
Loading

.github/workflows/msbuild.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,11 @@ jobs:
4444
run: testspace TestResults/TestResults.xml
4545

4646
- name: Upload coverage
47-
uses: coverallsapp/github-action@master
47+
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b
4848
with:
4949
github-token: ${{ secrets.GITHUB_TOKEN }}
50-
path-to-lcov: TestResults/coverage.info
50+
file: TestResults/coverage.info
51+
format: lcov
5152

5253
- name: Stop if tests failed
5354
run: exit $env:TEST_EXIT_CODE

Abstractions/Abstractions.csproj

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netstandard2.0</TargetFramework>
5+
<Version>0.0.0</Version>
6+
<AssemblyName>WinampNowPlayingToFile.$(MSBuildProjectName)</AssemblyName>
7+
<Authors>Ben Hutchison</Authors>
8+
<Copyright>© 2026 $(Authors)</Copyright>
9+
<Company>$(Authors)</Company>
10+
<Nullable>enable</Nullable>
11+
<ImplicitUsings>enable</ImplicitUsings>
12+
<LangVersion>latest</LangVersion>
13+
<PackageProjectUrl>https://github.com/Aldaviva/WinampNowPlayingToFile</PackageProjectUrl>
14+
<RepositoryUrl>https://github.com/Aldaviva/WinampNowPlayingToFile.git</RepositoryUrl>
15+
<PublishRepositoryUrl>true</PublishRepositoryUrl>
16+
<RepositoryType>git</RepositoryType>
17+
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
18+
<Description>Interfaces and other abstractions used to write plugins that extend the functionality of WinampNowPlayingToFile</Description>
19+
<PackageTags>WinampNowPlayingToFile plugin abstraction addin extension</PackageTags>
20+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
21+
<IncludeSource>true</IncludeSource>
22+
<IncludeSymbols>true</IncludeSymbols>
23+
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
24+
<RootNamespace>WinampNowPlayingToFile</RootNamespace>
25+
<DevelopmentDependency>true</DevelopmentDependency>
26+
</PropertyGroup>
27+
28+
<ItemGroup>
29+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="10.0.103" PrivateAssets="All" />
30+
</ItemGroup>
31+
32+
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true' or '$(Configuration)' != 'Debug'">
33+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
34+
</PropertyGroup>
35+
36+
</Project>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
2+
<s:String x:Key="/Default/CodeInspection/Daemon/ConfigureAwaitAnalysisMode/@EntryValue">Library</s:String></wpf:ResourceDictionary>

Abstractions/Data/Song.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#nullable enable
2+
3+
namespace WinampNowPlayingToFile.Data;
4+
5+
// ReSharper disable InconsistentNaming - Property names are used in public-facing Mustache templates and cannot be changed.
6+
public class Song {
7+
8+
public string Artist { get; set; } = string.Empty;
9+
public string Album { get; set; } = string.Empty;
10+
public string Title { get; set; } = string.Empty;
11+
public int? Year { get; set; }
12+
public string Filename { get; set; } = string.Empty;
13+
14+
public override string ToString() => $"{nameof(Artist)}: {Artist}, {nameof(Album)}: {Album}, {nameof(Title)}: {Title}, {nameof(Year)}: {Year}, {nameof(Filename)}: {Filename}";
15+
16+
}

Abstractions/Data/Status.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#nullable enable
2+
3+
namespace WinampNowPlayingToFile.Data;
4+
5+
public enum Status {
6+
7+
Stopped,
8+
Playing,
9+
Paused
10+
11+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#nullable enable
2+
3+
using WinampNowPlayingToFile.Data;
4+
5+
namespace WinampNowPlayingToFile.Plugins;
6+
7+
/// <summary>
8+
/// <para>Plugin for the WinampNowPlayingToFile plugin, allowing the user to achieve extra functionality not normally available in the WinampNowPlayingToFile plugin.</para>
9+
/// <para>Initialization logic can be put in a no-arg constructor. Cleanup logic can be put in <see cref="IDisposable.Dispose"/>.</para>
10+
/// </summary>
11+
public interface IWinampNowPlayingToFilePlugin {
12+
13+
/// <summary>
14+
/// Called by WinampNowPlayingToFile when either the current song or playback state changes.
15+
/// </summary>
16+
/// <param name="currentSong">The song that is currently playing, or <c>null</c> if the playlist is empty.</param>
17+
/// <param name="playbackStatus">Whether Winamp is currently stopped, playing, or paused.</param>
18+
void OnSongUpdated(Song? currentSong, Status playbackStatus);
19+
20+
}

Readme.md

Lines changed: 69 additions & 27 deletions
Large diffs are not rendered by default.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net472</TargetFramework>
5+
<AssemblyName>WinampNowPlayingToFile.Plugins.$(MSBuildProjectName)</AssemblyName>
6+
<RootNamespace>$(AssemblyName)</RootNamespace>
7+
<Nullable>enable</Nullable>
8+
<ImplicitUsings>enable</ImplicitUsings>
9+
<LangVersion>latest</LangVersion>
10+
<Authors>Ben Hutchison</Authors>
11+
<Copyright>© 2026 $(Authors)</Copyright>
12+
<Company>$(Authors)</Company>
13+
<DebugType>embedded</DebugType>
14+
<EnableDynamicLoading>true</EnableDynamicLoading>
15+
</PropertyGroup>
16+
17+
<ItemGroup>
18+
<PackageReference Include="WinampNowPlayingToFile.Abstractions" Version="0.0.0" ExcludeAssets="runtime" />
19+
</ItemGroup>
20+
21+
</Project>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
2+
<s:String x:Key="/Default/CodeInspection/Daemon/ConfigureAwaitAnalysisMode/@EntryValue">Library</s:String></wpf:ResourceDictionary>

0 commit comments

Comments
 (0)