public Lyrics GetLyrics(string title, string artist, int time, bool request_trans_lyrics) { if (TryGetLyricFromCacheFile(title, artist, time, request_trans_lyrics, out Lyrics lyrics)) { return(lyrics); } var l = lyrics_provider?.ProvideLyric(artist, title, time, request_trans_lyrics); OutputCache(title, artist, time, l); return(l); }
private Model.Lyric InnerGetLyric(string artist, string title, int duration, bool useTranslated, bool useCache = false) { if (useCache && TryGetCache(title, artist, duration, useTranslated, out Model.Lyric cached)) { return(cached); } Model.Lyric lyric = _sourceProvider?.ProvideLyric(artist, title, duration, useTranslated); if (useCache) { WriteCache(title, artist, duration, lyric); } return(lyric); }
private async Task <Lyrics> InnerGetLyric(string artist, string title, int duration, bool useTranslated, bool useCache = false) { if (useCache && TryGetCache(title, artist, duration, useTranslated, out Lyrics cached)) { return(cached); } Lyrics lyric = await Task.Run(() => _sourceProvider?.ProvideLyric(artist, title, duration, useTranslated)); if (useCache) { WriteCache(title, artist, duration, lyric); } return(lyric); }
public Lyrics GetLyricFromExcplictSource(SourceProviderBase provider, string artist, string title, int time, bool request_trans_lyrics) { var lyrics = provider.ProvideLyric(artist, title, time, request_trans_lyrics); return(lyrics); }