Add Windows 11 Widget support for playback control #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements a Windows 11 Widget that displays current station and playback status with Play/Pause control, following the Windows App SDK widget provider pattern.
Implementation
Widget Provider (
Widgets/TrdoWidgetProvider.cs)D5A5B8F2-9C3A-4E1B-8F7D-6A4C3B2E1D9F) implementingIWidgetProviderRadioPlayerWidgetinstancesWidget UI (
Widgets/RadioPlayerWidget.cs)PlayerViewModel.PropertyChangedfor real-time updatestoggleverb to control playbackCOM Registration (
Widgets/Helper/)WidgetProviderFactory: Creates widget provider instances via COMRegistrationManager: Handles COM class registration lifecycleApp Integration (
App.xaml.cs)Manifest (
Package.appxmanifest)-RegisterProcessAsComServerargumentTrdo_RadioPlayer_Widgetwith small/medium/large sizesWidget UI
Adaptive Card template binds to:
stationName: Current station or "No station selected"statusText: "Now Playing" / "Paused"buttonText: "▶ Play" / "⏸ Pause"Updates automatically when user changes playback state or switches stations.
Files Added
Note: Requires Windows 11 and MSIX packaging for testing. Implementation follows Microsoft's official widget sample.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.