Cleanup pass: remove dead code, fix bugs, simplify

Dead code removed:
- MusicAnalyzer.BuildWaveFrame (replaced by DrumDetector + BuildMelodyFrame)
- MusicAnalyzer.ExtractFeatures simplified to melody-only (removed rhythm band)
- MusicAnalyzer.RhythmLow/RhythmHigh constants, TickFeature.RhythmFlux
- LiveCapture._liveMaxFlux + _prevRhythmMag (computed, never read)
- State.ActualA/ActualB, State.LastSentA/LastSentB (set, never read)
- Program.cs StrengthChanged handler (only wrote to dead fields)
- Command.Mode property (never referenced)
- DrumDetector.FreqKick/Snare/Brass/Silent static arrays (unused)

Bugs fixed:
- DrumDetector.BuildFrame: freqBytes was byte[16], now byte[4]
- CoyoteDevice fallback: use nameFilter param instead of hardcoded string

Refactoring:
- Server.DoStatus calls BuildStatusPush(null) instead of duplicating
- HeatMap: removed redundant colW assignment
- Removed unused System.Numerics imports from LiveCapture, MusicAnalyzer
This commit is contained in:
2026-08-09 14:01:19 +00:00
parent badc599dee
commit 1ab397767a
9 changed files with 8 additions and 103 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ public class CoyoteDevice : IDisposable
selector = BluetoothLEDevice.GetDeviceSelectorFromPairingState(false);
devices = await DeviceInformation.FindAllAsync(selector);
var match = devices.FirstOrDefault(d =>
d.Name.Contains("47L121000", StringComparison.OrdinalIgnoreCase) ||
d.Name.Contains(nameFilter, StringComparison.OrdinalIgnoreCase) ||
d.Name.Contains("DG-LAB", StringComparison.OrdinalIgnoreCase) ||
d.Name.Contains("Coyote", StringComparison.OrdinalIgnoreCase));
if (match == null)