Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 21 additions & 3 deletions src/client/subsonic.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,27 @@ func (c *Subsonic) SearchSongs(tracks []*models.Track) error {
}

songs := resp.SubsonicResponse.SearchResult3.Song

if len(songs) == 0 {
slog.Debug(fmt.Sprintf("[subsonic] no results found for %s", searchQuery))
continue
if track.MusicBrainzTrackID != "" {
slog.Debug("[subsonic] using fallback MB TrackID search", "mbid", track.MusicBrainzTrackID)
reqParam := fmt.Sprintf("search3?query=%s&f=json", url.QueryEscape(track.MusicBrainzTrackID))
body, err = c.subsonicRequest(reqParam)
if err != nil {
return err
}

if err := util.ParseResp(body, &resp); err != nil {
return err
}

songs = resp.SubsonicResponse.SearchResult3.Song
}

if len(songs) == 0 {
slog.Debug(fmt.Sprintf("[subsonic] no results found for %s", searchQuery))
continue
}
}
normalizedCleanTitle := util.NormalizeTitle(track.CleanTitle)
for _, song := range songs {
Expand All @@ -170,7 +188,7 @@ func (c *Subsonic) SearchSongs(tracks []*models.Track) error {
}

if !track.Present {
slog.Debug(fmt.Sprintf("[subsonic] multiple results for %s but none matched criteria", searchQuery))
slog.Debug(fmt.Sprintf("[subsonic] no matching tracks for %s", searchQuery))
}
}
return nil
Expand Down
2 changes: 1 addition & 1 deletion src/main/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ func main() {
slog.Error("failed making directory", "msg", err.Error())
}

if cfg.ServerCfg.Enabled || !cfg.Flags.PlaylistSet {
if cfg.ServerCfg.Enabled && !cfg.Flags.PlaylistSet {

exploPath, err := os.Executable()
if err != nil {
Expand Down
20 changes: 10 additions & 10 deletions src/util/metadata.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,19 @@ func BuildffmpegMetadata(track models.Track) []string {

metadata = addStringTag(metadata, "title", track.Title)
metadata = addStringTag(metadata, "album", track.Album)
metadata = addStringTag(metadata, "album_artist", track.AlbumArtist)
metadata = addStringTag(metadata, "artist-sort", track.ArtistSort)
metadata = addStringTag(metadata, "albumartist", track.AlbumArtist)
metadata = addStringTag(metadata, "artistsort", track.ArtistSort)
metadata = addStringTag(metadata, "date", track.OriginalDate)
metadata = addStringTag(metadata, "genre", track.Genres)
metadata = addStringTag(metadata, "TMED", track.Media)
metadata = addStringTag(metadata, "MusicBrainz Album Type", track.ReleaseType)
metadata = addStringTag(metadata, "MusicBrainz Album Status", track.ReleaseStatus)
metadata = addStringTag(metadata, "MusicBrainz Release Group Id", track.MusicBrainzReleaseGroupID)
metadata = addStringTag(metadata, "MusicBrainz Album Artist Id", track.MusicBrainzAlbumArtistID)
metadata = addStringTag(metadata, "MusicBrainz Track Id", track.MusicBrainzTrackID)
metadata = addStringTag(metadata, "MusicBrainz Album Id", track.MusicBrainzAlbumID)
metadata = addStringTag(metadata, "MusicBrainz Release Track Id", track.MusicBrainzReleaseTrackID)
metadata = addStringTag(metadata, "MusicBrainz Artist Id", track.MusicBrainzArtistID)
metadata = addStringTag(metadata, "MusicBrainz_AlbumType", track.ReleaseType)
metadata = addStringTag(metadata, "MusicBrainz_AlbumStatus", track.ReleaseStatus)
metadata = addStringTag(metadata, "MusicBrainz_ReleaseGroupId", track.MusicBrainzReleaseGroupID)
metadata = addStringTag(metadata, "MusicBrainz_AlbumArtistId", track.MusicBrainzAlbumArtistID)
metadata = addStringTag(metadata, "MusicBrainz_TrackId", track.MusicBrainzTrackID)
metadata = addStringTag(metadata, "MusicBrainz_AlbumId", track.MusicBrainzAlbumID)
metadata = addStringTag(metadata, "MusicBrainz_ReleaseTrackId", track.MusicBrainzReleaseTrackID)
metadata = addStringTag(metadata, "MusicBrainz_ArtistId", track.MusicBrainzArtistID)

metadata = addIntTag(metadata, "originalyear", track.OriginalYear)
metadata = addIntTag(metadata, "track", track.TrackNumber)
Expand Down
Loading