NullPlayer Visualization Systems — Index

SkillDev tools

Index of NullPlayer's visualization systems. Use this to discover which sub-skill covers the specific visualizer you're working on (main window vis, spectrum window, album art, ProjectM/MilkDrop, Geiss, Tripex, Met Museum, vis_classic, Metal mode internals).

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the NullPlayer Visualization Systems — Index skill

What this skill tells your AI

The instructions your AI receives, as published by ad-repo/nullplayer in skills/visualizations/SKILL.md and read by ahel’s review.

NullPlayer has several visualization stacks. Each has its own skill; this file is a router. Open the relevant sub-skill for details.

The standalone waveform window is not a Metal visualization mode. It reuses audio waveform notifications and the cache service. Do not treat it as part of this stack.

Persistence and Reset Policy

Visualization choices are durable UserDefaults preferences, not AppState session fields. AppState only remembers quit-session state such as window visibility/layout and playlist/audio state.

  • Main-window (including embedded Cava), Spectrum-window, Visualizations-window, vis_classic, and browser artwork visualizer settings must remain resettable through VisualizationPreferences.
  • Modern/metal skin visualization defaults are first-use defaults on app launch. They may seed missing keys, but must not overwrite user-selected mode/style/profile keys during a normal relaunch.
  • Explicit skin changes and Reset Skin to Default still reapply the selected skin's visualization defaults.
  • When adding a new visualization preference that can be hard to recover manually, add it to the appropriate VisualizationPreferenceResetScope.

Sub-Skills

SkillScope
main-window-visualizationThe 76×16 main-window display area: 12 modes, switching, mode-specific settings
spectrum-analyzer-windowDedicated 84-bar spectrum window: docking, geometry, mode list, the cropped analyzer curve, vis_classic waveform demand
audio-analysis-windowFriture-style multi-pane Audio Analyzer window: Scope/Levels/Spectrogram/Octave/Pitch/Delay panes, stereo PCM + FFT-magnitudes paths, per-pane consumer gating, AudioAnalysisDSP module
peppymeterSkinnable analog VU meter window (PeppyMeter port): needle/bar meters composited from meters.txt templates, driven by the stereo tap. A CoreGraphics-skinned meter, not a Metal visualization mode
cavacava-style bar spectrum in both the standalone window and main-window inline area (clean-room Swift/vDSP port): dual bass/treble FFT → log bands, CoreGraphics gradient bars, scoped skin-following colors + tuning. A CoreGraphics meter driven by the full-rate stereo tap, not a Metal mode
gpu-vis-modesPer-mode internals shared by both windows: Fire, JWST, Lightning, Matrix, Snow, EKG, Classic/Enhanced/Ultra
album-art-visualizerLibrary Browser ART-mode effects (30 Core Image filters)
projectm-milkdropProjectM/MilkDrop preset engine in the visualization window
met-museum-visualizerMet Museum public-domain artwork slideshow engine
geiss-portGeiss engine — port architecture, ABI, configuration
tripex-portTripex (ben-marsh/tripex) port — D3D9→OpenGL, C ABI
vis-classic-guidevis_classic exact-port analyzer core
metal-gotchasMetal command-encoder pitfalls, render-to-texture y-flip, spectrum jitter

Comparison

FeatureAlbum ArtProjectMGeissTripexMet MuseumSpectrum Window
Visual StyleTransformed artworkProcedural shadersIndexed framebuffer + palette3D Winamp-era effectsPublic-domain artwork slideshowBars / vis_classic / Fire / JWST / Lightning / Matrix / Snow / EKG
Effect Count30 built-in100s of presets25 modesUpstream effect setN/A10 modes
CustomizationIntensityFull preset ecosystemEffect selectionEffect / cycle / intensityDepartment / interval / transition / aspectMode + decay + style presets
GPU TechCore Image (Metal)OpenGL shadersOpenGL palette LUTOpenGL geometryOpenGL textured quadMetal shaders + compute
Audio ResponseSpectrum bandsPCM + beatsPCM + 256-bin host spectrumPCM-driven internal FFTOptional zoom/pan + beat advance75-band spectrum / energy

When to use each

  • Album Art — subtle, integrated, browsing the library
  • ProjectM — immersive full-screen, classic Winamp nostalgia
  • Geiss — classic Geiss look, low-level palette effects
  • Tripex — Winamp-era 3D, no preset files needed
  • Met Museum — calm gallery slideshow with optional audio reactivity
  • Main Window Vis — quick access without a separate window
  • Spectrum Window — detailed 84-bar frequency view + ambient modes (Fire/JWST/etc.)
  • Cava — responsive bar spectrum with gravity/autosens and skin-matched gradient colors; use mono inline in the main window or mono/stereo in the dockable standalone window

Signals

GitHub stars
120
Forks
9
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
visualizations
Source
github.com/ad-repo/nullplayer