navidrome/core/wire_providers.go
Deluan af0a6615b2 feat(scanner): evaluate smart playlists in background after import
Wire SmartPlaylistEvaluator into the scanner pipeline. After importing
a .nsp file, the scanner enqueues the playlist for background evaluation.
The evaluator processes the queue asynchronously, populating tracks and
updating song_count/duration/size without blocking the scan.

Fixes #4539
2026-03-23 20:06:28 -04:00

39 lines
1.0 KiB
Go

package core
import (
"github.com/google/wire"
"github.com/navidrome/navidrome/core/agents"
"github.com/navidrome/navidrome/core/external"
"github.com/navidrome/navidrome/core/ffmpeg"
"github.com/navidrome/navidrome/core/lyrics"
"github.com/navidrome/navidrome/core/metrics"
"github.com/navidrome/navidrome/core/playback"
"github.com/navidrome/navidrome/core/playlists"
"github.com/navidrome/navidrome/core/scrobbler"
"github.com/navidrome/navidrome/core/stream"
)
var Set = wire.NewSet(
stream.NewMediaStreamer,
stream.GetTranscodingCache,
NewArchiver,
NewPlayers,
NewShare,
playlists.NewPlaylists,
playlists.NewSmartPlaylistEvaluator,
NewLibrary,
NewUser,
NewMaintenance,
NewImageUploadService,
wire.Bind(new(playlists.ImageUploadService), new(ImageUploadService)),
stream.NewTranscodeDecider,
agents.GetAgents,
external.NewProvider,
wire.Bind(new(external.Agents), new(*agents.Agents)),
ffmpeg.New,
scrobbler.GetPlayTracker,
playback.GetInstance,
metrics.GetInstance,
lyrics.NewLyrics,
)