このページは、NoraBar をビルドしたり、変更したりする人向けのメモです。
NoraBar.slnx
NoraBar/
App.xaml
MainWindow.xaml
Models/
Services/
ViewModels/
Views/
docs/wiki/
.github/workflows/wiki-sync.yml
中心になるアプリケーションコードは NoraBar/ 配下にあります。Wiki の原稿は docs/wiki/ 配下に置きます。
dotnet restore NoraBar\NoraBar.csproj
dotnet build NoraBar\NoraBar.csproj実行する場合は次のコマンドを使います。
dotnet run --project NoraBar\NoraBar.csprojポータブル版をビルドする場合
dotnet publish NoraBar/NoraBar.csproj -c Release -r win-x64 --self-contained false -o out/portable- WPF
- Windows Forms
NotifyIcon - Windows Media Control API
- CSCore
1.2.1.2 - Material.Icons.WPF
3.0.2
音楽情報は Windows のメディアセッションから取得し、波形は WASAPI ループバックで取得した音声を FFT して表示します。
- HUD の表示状態は
IslandStateで管理します。 - HUD の見た目は
DesignVariantで切り替えます。 - 設定値は
SettingsServiceから読み書きします。 - 言語表示は
LocalizationServiceの辞書で管理します。 - 音楽操作は
MediaControlService、波形表示はAudioVisualizerServiceが担当します。
docs/wiki/ 配下の Markdown は、master ブランチへの push 時に GitHub Wiki へ同期されます。同期処理は .github/workflows/wiki-sync.yml で定義されています。
Wiki ページ間リンクは GitHub Wiki の形式に合わせ、次のように書きます。
[[Guide-Getting-Started]]新しいリリースを公開する前に、NoraBar/NoraBar.csproj の次の値を更新します。
VersionAssemblyVersionFileVersion
setup.iss の AppVersion も忘れずに更新してください。
MainViewModel.cs の CurrentVersion も忘れずに更新してください。
これらの値はリリースバージョンと合わせてください。アプリ内の更新確認が、インストール済みバージョンと GitHub Releases の最新バージョンを正しく比較するために必要です。
- 実装されている機能だけを書く
- 画面や設定名はアプリ内の表記に合わせる
- 操作手順は短く、迷うところだけ補足する
- 旧名や互換パスは、理由も一緒に書く