How nex-devz/solaceaudio works
SolaceAudio is a Lavalink v4 audio-source plugin: a Lavalink request reaches registered provider managers, which resolve searches or direct URLs into tracks and playlists for playback. Mirroring providers use a shared resolution engine with concurrent-search coalescing and candidate scoring; YouTube adds proxying and SponsorBlock, while caching, lyrics, recommendations, and DSP filters provide supporting capabilities. The graph preserves documented provider breadth, but several connections are shown only where the excerpts or README establish them; unsampled implementation details are not inferred.
Main entry points: SolaceAudioPlugin.java Plugin Registration · TrackResolutionEngine.java Resolution Engine · SolaceLyricsManager.java Lyrics Aggregator · SpotifyAudioSourceManager.java Spotify Source
Components 20
Plugin and API
- Plugin Registration
plugin/src/main/java/com/solaceaudio/plugin/SolaceAudioPlugin.java - Recommendations API
plugin/src/main/java/com/solaceaudio/plugin/RecommendationController.java - Lyrics API
plugin/src/main/java/com/solaceaudio/plugin/LyricsController.java - SponsorBlock API
plugin/src/main/java/com/solaceaudio/plugin/SponsorBlockController.java
Track Resolution
- Resolution Engine
main/src/main/java/com/solaceaudio/resolver/TrackResolutionEngine.java - Candidate Scoring
main/src/main/java/com/solaceaudio/resolver/CandidateScorer.java - Mirroring Manager
main/src/main/java/com/solaceaudio/resolver/MirroringSourceManager.java - Mirror Track
main/src/main/java/com/solaceaudio/resolver/AudioMirrorTrack.java
Audio Providers
- Spotify Source
main/src/main/java/com/solaceaudio/sources/spotify/SpotifyAudioSourceManager.java - YouTube Source
main/src/main/java/com/solaceaudio/sources/youtube/YouTubeSourceManager.java - Deezer Source
main/src/main/java/com/solaceaudio/sources/deezer/DeezerAudioSourceManager.java - Other Providers
main/src/main/java/com/solaceaudio/sources
Playback Support
- YouTube Proxy
main/src/main/java/com/solaceaudio/sources/youtube/YouTubeProxyHandler.java - SponsorBlock
main/src/main/java/com/solaceaudio/sources/youtube/sponsorblock/SponsorBlockManager.java - Audio Filters
main/src/main/java/com/solaceaudio/filter - Memory Cache
main/src/main/java/com/solaceaudio/core/MemoryCacheManager.java - Playlist Model
main/src/main/java/com/solaceaudio/model/SolaceAudioPlaylist.java
Metadata Services
- Lyrics Aggregator
main/src/main/java/com/solaceaudio/lyrics/SolaceLyricsManager.java - Last.fm Source
main/src/main/java/com/solaceaudio/sources/lastfm/LastFmSourceManager.java
Other components
- Lavalink v4
Connections 21
- Lavalink v4 → Plugin Registration: loads plugin
README.md - Plugin Registration → Spotify Source: registers source
plugin/src/main/java/com/solaceaudio/plugin/SolaceAudioPlugin.java - Plugin Registration → YouTube Source: registers source
plugin/src/main/java/com/solaceaudio/plugin/SolaceAudioPlugin.java - Plugin Registration → Deezer Source: registers source
plugin/src/main/java/com/solaceaudio/plugin/SolaceAudioPlugin.java - Plugin Registration → Other Providers: registers sources
plugin/src/main/java/com/solaceaudio/plugin/SolaceAudioPlugin.java - Plugin Registration → Lyrics Aggregator: provides manager
plugin/src/main/java/com/solaceaudio/plugin/SolaceAudioPlugin.java - Recommendations API → Spotify Source: searches tracks
plugin/src/main/java/com/solaceaudio/plugin/RecommendationController.java - Recommendations API → Last.fm Source: gets recommendations
plugin/src/main/java/com/solaceaudio/plugin/RecommendationController.java - Lyrics API → Lyrics Aggregator: requests lyrics
plugin/src/main/java/com/solaceaudio/plugin/LyricsController.java - SponsorBlock API → SponsorBlock: requests segments
plugin/src/main/java/com/solaceaudio/plugin/SponsorBlockController.java - Resolution Engine → Mirror Track: resolves track
main/src/main/java/com/solaceaudio/resolver/TrackResolutionEngine.java - Resolution Engine → Candidate Scoring: scores candidates
main/src/main/java/com/solaceaudio/resolver/TrackResolutionEngine.java - Mirroring Manager → Resolution Engine: holds resolver
main/src/main/java/com/solaceaudio/resolver/MirroringSourceManager.java - Spotify Source → Resolution Engine: uses resolver
main/src/main/java/com/solaceaudio/sources/spotify/SpotifyAudioSourceManager.java - Deezer Source → Resolution Engine: uses resolver
main/src/main/java/com/solaceaudio/sources/deezer/DeezerAudioSourceManager.java - Other Providers → Resolution Engine: mirrors tracks
README.md - Lyrics Aggregator → Memory Cache: caches lyrics
main/src/main/java/com/solaceaudio/lyrics/SolaceLyricsManager.java - Lyrics Aggregator → Spotify Source: queries provider
plugin/src/main/java/com/solaceaudio/plugin/SolaceAudioPlugin.java - YouTube Source → YouTube Proxy: uses proxy
main/src/main/java/com/solaceaudio/sources/youtube/YouTubeSourceManager.java - YouTube Source → SponsorBlock: uses manager
main/src/main/java/com/solaceaudio/sources/youtube/YouTubeSourceManager.java - Playlist Model → Other Providers: represents results
main/src/main/java/com/solaceaudio/sources/gaana/GaanaAudioSourceManager.java