Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 59 additions & 5 deletions src/user-tools/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,62 @@
# Tools
# Tools / 工具

These are generally written in .NET (7 or 8) and provide end-user functionality outside of the DAW or other third-party tools.

| Component | Description |
| --------- | ----------- |
| midi-settings | The main MIDI Settings app for Windows |
| midi-settings-extensibility | Extensibility model (client plugin model) for the MIDI Settings app |
这些通常使用 .NET(7 或 8)编写,提供 DAW 或其他第三方工具之外的最终用户功能。

| Component | Description / 描述 |
| --------- | ------------------- |
| midi-settings | The main MIDI Settings app for Windows / Windows 的主要 MIDI 设置应用程序 |
| midi-settings-extensibility | Extensibility model (client plugin model) for the MIDI Settings app / MIDI 设置应用程序的扩展性模型(客户端插件模型) |

---

## Build Notes / 构建说明

### Requirements / 要求
- .NET 10 SDK
- Windows App SDK 1.8+
- Windows SDK 10.0.26100.0

### Fixed Issues / 修复的问题

#### 1. Missing `CommunityToolkit.WinUI.Controls.TitleBar` Package / 缺少 `CommunityToolkit.WinUI.Controls.TitleBar` 包
- **Issue / 问题**: The `TitleBar` control from CommunityToolkit was referenced but the package does not exist on NuGet / 引用了 CommunityToolkit 的 `TitleBar` 控件,但该包在 NuGet 上不存在
- **Solution / 解决方案**: Replaced the `controls:TitleBar` with a standard Grid layout in `ShellPage.xaml` / 在 `ShellPage.xaml` 中将 `controls:TitleBar` 替换为标准 Grid 布局
- **Files Modified / 修改的文件**:
- `Microsoft.Midi.Settings/Views/Core Pages/ShellPage.xaml`
- `Microsoft.Midi.Settings/Views/Core Pages/ShellPage.xaml.cs`

#### 2. NU1510 Warnings - Redundant Package References / NU1510 警告 - 冗余的包引用
- **Issue / 问题**: `System.Text.Json` and `System.Text.RegularExpressions` are built-in to .NET 10 and should not be explicitly referenced / `System.Text.Json` 和 `System.Text.RegularExpressions` 是 .NET 10 的内置组件,不应显式引用
- **Solution / 解决方案**: Removed the explicit package references / 移除显式的包引用
- **Files Modified / 修改的文件**:
- `Microsoft.Midi.Settings/Microsoft.Midi.Settings.csproj`

#### 3. WMC1506 Warnings - OneWay Binding Notifications / WMC1506 警告 - OneWay 绑定通知
- **Issue / 问题**: OneWay bindings require properties to support change notifications, but the MIDI library types do not implement `INotifyPropertyChanged` / OneWay 绑定需要属性支持变更通知,但 MIDI 库类型未实现 `INotifyPropertyChanged`
- **Solution / 解决方案**: Changed binding mode from `OneWay` to `OneTime` for read-only port information / 将只读端口信息的绑定模式从 `OneWay` 改为 `OneTime`
- **Files Modified / 修改的文件**:
- `Microsoft.Midi.Settings/Views/Endpoint Management Pages/EndpointsAllPage.xaml`

### Build Output / 构建输出
- **Executable / 可执行文件**: `MidiSettings.exe`
- **Output Directory / 输出目录**: `Microsoft.Midi.Settings/bin/x64/Release/net10.0-windows10.0.26100.0/`
- **Status / 状态**: Build successful with 0 warnings / 构建成功,0 个警告

---

## Changes / 更改

### UI Changes / UI 更改

#### Settings Button in NavigationView / 导航视图中的设置按钮
- **Description / 描述**: Moved the Settings button from `PaneFooter` to `FooterMenuItems` for better navigation support and added bottom margin / 将设置按钮从 `PaneFooter` 移到 `FooterMenuItems` 以获得更好的导航支持,并添加底部边距
- **Files Modified / 修改的文件**:
- `Microsoft.Midi.Settings/Views/Core Pages/ShellPage.xaml`
- `Microsoft.Midi.Settings/Strings/en-us/Resources.resw`

#### Back Button Visibility / 返回按钮可见性
- **Description / 描述**: Set `NavigationView.IsBackButtonVisible="Collapsed"` and set the custom BackButton `Visibility="Collapsed"` to completely hide the back button / 设置 `NavigationView.IsBackButtonVisible="Collapsed"` 并将自定义 BackButton 的 `Visibility="Collapsed"` 以彻底隐藏返回按钮
- **Files Modified / 修改的文件**:
- `Microsoft.Midi.Settings/Views/Core Pages/ShellPage.xaml`
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows10.0.26100.0</TargetFramework>
Expand Down Expand Up @@ -107,35 +107,32 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="CommunityToolkit.Labs.WinUI.TitleBar" Version="0.0.1-build.2212" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="CommunityToolkit.WinUI.Animations" Version="8.2.251219" />
<PackageReference Include="CommunityToolkit.WinUI.Controls.Primitives" Version="8.2.251219" />
<PackageReference Include="CommunityToolkit.WinUI.Controls.SettingsControls" Version="8.2.251219" />
<PackageReference Include="CommunityToolkit.WinUI.Converters" Version="8.2.251219" />
<PackageReference Include="CommunityToolkit.WinUI.Extensions" Version="8.2.251219" />
<PackageReference Include="CommunityToolkit.WinUI.Helpers" Version="8.2.251219" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.2" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="10.0.2" />
<PackageReference Include="Microsoft.Extensions.Logging.TraceSource" Version="10.0.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.3" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="10.0.3" />
<PackageReference Include="Microsoft.Extensions.Logging.TraceSource" Version="10.0.3" />
<PackageReference Include="Microsoft.Windows.CsWin32" Version="0.3.269">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Windows.Devices.Midi2" Version="*-*" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.260101001" />
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.260209005" />
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="3.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.5-beta1" />

<PackageReference Include="System.Management" Version="10.0.2" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="10.0.2" />
<PackageReference Include="System.Text.Json" Version="10.0.2" />
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageReference Include="System.Management" Version="10.0.3" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="10.0.3" />

<PackageReference Include="WinUIEx" Version="2.9.0" />

<PackageReference Include="CommunityToolkit.Common" Version="8.4.0" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.6901" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.7705" />
</ItemGroup>

<ItemGroup>
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,9 @@
<data name="Shell_Home.Content" xml:space="preserve">
<value>Home</value>
</data>
<data name="Shell_Settings.Content" xml:space="preserve">
<value>Settings</value>
</data>
<data name="Shell_Routes.Content" xml:space="preserve">
<value>Routing</value>
</data>
Expand Down
Loading