microsoft / microsoft/microsoft-ui-xaml

Proposal: More MusicProperties properties

Open
#10,527 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-External feature proposal
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

# Proposal: More MusicProperties properties

## Summary
Having access to more music data properties from an audio file.
This includes getting and setting values to those properties.

## Rationale
* The current list is very minimal.
* Other properties that you can't access are: Audio Channels, AudioSampleRate, Total track count, Disc number, Total disc numers, BPM, etc...
* Currently you'll need third party libraries to access all properties of MusicProperties. Even Windows explorer can show the data, but StorageFile cannot.

## Scope
| Capability | Priority |
| :---------- | :------- |
| Setting and Getting more MusicProperties for Mediaplayer inspired WinUI 3 apps | Must |

## Important Notes
```c#
MusicProperties data = await file.Properties.GetMusicPropertiesAsync();
uint bpm = data.BeatPerMinute;
uint discNumber = data.DiscNumber;
int channels = data.AudioChannels;
int audioSampleRate= data.AudioSampleRate;
data.TotalDiscs = 4;
```

## Open Questions
Why? Because the current list is unfinished and can get a lot bigger. Windows explorer is able to show all of the details of the audio file. So should StorageFile.
Developers that need those properties for their mediaplayer app would love more properties and control.

This can even be for when you want to create an audio file from WinUI 3. Having the option to set all the correct properties.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the StorageFile.GetMusicPropertiesAsync and MusicProperties entry points mentioned in the proposal; compare the current exposed properties with the requested audio metadata. Done means the scope and API behavior for getting and setting the additional properties are defined and validated for WinUI 3 media-player apps.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, csharp
Domain
api, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.