private void btSave_Click(object sender, EventArgs e) { var capArtist = LyricUtil.CapatalizeString(_mCurrentArtist); var capTitle = LyricUtil.CapatalizeString(_mCurrentTitle); var lyrics = LyricUtil.FixLyrics(tbLyrics.Text); CurrentLyricsDatabase[DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)].Lyrics = lyrics; DatabaseUtil.SerializeDB(CurrentLyricsDatabase); if (SettingManager.GetParamAsBool(SettingManager.AutomaticWriteToMusicTag, true)) { TagReaderUtil.WriteLyrics(capArtist, capTitle, lyrics); } if (CurrentLyricsDatabase.Equals(MyLyricsUtils.LyricsMarkedDB)) { if (SettingManager.GetParamAsBool(SettingManager.MoveLyricFromMarkedDatabase, true)) { MoveLyricToOtherDatabase(); } } var lrc = new SimpleLRC(capArtist, capTitle, lyrics); if (lrc.IsValid && _parentMyLyricsSetup.cbUploadLrcAutomatically.Checked) { LrcFinder.SaveLrcWithGuid(lyrics, _parentMyLyricsSetup.MGuid); } btSave.Enabled = false; treeView.Focus(); }
private bool isSelectedLyricALRC() { if (treeView.SelectedNode != null && treeView.SelectedNode.Parent != null) { string artist = treeView.SelectedNode.Parent.Text; string title = treeView.SelectedNode.Text; if (artist.Length != 0 && title.Length != 0) { m_CurrentArtist = artist; m_CurrentTitle = LyricUtil.CapatalizeString(title); string lyricsText = (string)CurrentDB[DatabaseUtil.CorrectKeyFormat(artist, title)].Lyrics; SimpleLRC lrc = new SimpleLRC(artist, title, lyricsText); if (lrc.IsValid) { return(true); } else { return(false); } } } return(false); }
private static bool IsSelectedLyricLRC(string artist, string title) { if (artist.Length != 0 && title.Length != 0) { var lyricsText = CurrentLyricsDatabase[DatabaseUtil.CorrectKeyFormat(artist, title)].Lyrics; var lrc = new SimpleLRC(artist, title, lyricsText); if (lrc.IsValid) { return(true); } return(false); } return(false); }
private void bw_DoWork(object sender, DoWorkEventArgs e) { var mDB = MusicDatabase.Instance; var counter = 0; for (var i = 0; i < _artists.Count; i++) { if (bw.CancellationPending) { return; } var artist = (string)_artists[i]; bw.ReportProgress(counter, artist); mDB.GetSongsByArtist(artist, ref _songs); foreach (var song in _songs) { var tag = TagReader.ReadTag(song.FileName); if (tag != null && tag.Lyrics != string.Empty) { var capArtist = LyricUtil.CapatalizeString(tag.Artist); var capTitle = LyricUtil.CapatalizeString(tag.Title); if ( DatabaseUtil.IsSongInLyricsDatabase(MyLyricsUtils.LyricsDB, capArtist, capTitle).Equals( DatabaseUtil.LyricFound)) { // If lyric exists in LyricsDb then only import (and overwrite) if it isn't an LRC-file var lyricsText = MyLyricsUtils.LyricsDB[DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)].Lyrics; var lrc = new SimpleLRC(capArtist, capTitle, lyricsText); if (!lrc.IsValid) { _tags.Add(tag); ++counter; } } else { _tags.Add(tag); ++counter; } } } } }
private int InspectFileNameAndAddToDatabaseIfValidLyrics(string filePath) { var fileInfo = new FileInfo(filePath); if (fileInfo.Extension.Equals(".txt")) { var fileName = fileInfo.Name; var index = fileName.IndexOf("-", StringComparison.Ordinal); var fileStringArtist = fileName.Substring(0, index); var fileStringTitle = fileName.Substring(index + 1); fileStringArtist = fileStringArtist.Trim(); fileStringTitle = fileStringTitle.Trim(); index = fileStringTitle.LastIndexOf('.'); fileStringTitle = fileStringTitle.Substring(0, index); var textReader = new StreamReader(filePath); string line; var lyrics = ""; while ((line = textReader.ReadLine()) != null) { lyrics += line + Environment.NewLine; } lyrics = lyrics.Trim(); textReader.Close(); var capArtist = LyricUtil.CapatalizeString(fileStringArtist); var capTitle = LyricUtil.CapatalizeString(fileStringTitle); return(AddSong(capArtist, capTitle, lyrics, "Text file") ? (int)TypeOfLyrics.Normal : (int)TypeOfLyrics.None); } _lrc = new SimpleLRC(filePath); if (_lrc.IsValid && _lrc.Artist.Length != 0 && _lrc.Title.Length != 0) { return(AddSong(_lrc.Artist, _lrc.Title, _lrc.LyricAsLRC.Trim(), "LRC-file") ? (int)TypeOfLyrics.LRC : (int)TypeOfLyrics.None); } return((int)TypeOfLyrics.None); }
private void bw_DoWork(object sender, DoWorkEventArgs e) { var mDB = MusicDatabase.Instance; var counter = 0; for (var i = 0; i < _artists.Count; i++) { if (bw.CancellationPending) { return; } var artist = (string)_artists[i]; Thread.Sleep(100); // Give the GUI thread some time to update bw.ReportProgress(counter, artist); try { mDB.GetSongsByArtist(artist, ref _songs); foreach (var song in _songs) { var capArtist = LyricUtil.CapatalizeString(song.Artist); var capTitle = LyricUtil.CapatalizeString(song.Title); if (DatabaseUtil.IsSongInLyricsDatabase(MyLyricsUtils.LyricsDB, capArtist, capTitle).Equals(DatabaseUtil.LyricFound)) { var lyric = MyLyricsUtils.LyricsDB[DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)].Lyrics; var lrcInLyricsDb = new SimpleLRC(capArtist, capTitle, lyric); // If the lyricsDB lyric is LRC always export if (lrcInLyricsDb.IsValid) { if (TagReaderUtil.WriteLyrics(song.FileName, lyric)) { ++counter; } continue; } var tag = TagReader.ReadTag(song.FileName); // If there is a musictag lyric if (tag != null && !tag.Lyrics.Equals(string.Empty)) { // if there is no LRC lyric in the tag, then simple export var lrcInTag = new SimpleLRC(capArtist, capTitle, tag.Lyrics); if (!lrcInTag.IsValid) { if (TagReaderUtil.WriteLyrics(song.FileName, lyric)) { ++counter; } } } // Al if no lyric in musictag simple export else { if (TagReaderUtil.WriteLyrics(song.FileName, lyric)) { ++counter; } } } } } catch (Exception) { ; } } }
private int inspectFileNameAndAddToDatabaseIfValidLyrics(string filePath) { TextReader textReader = null; FileInfo fileInfo = new FileInfo(filePath); if (fileInfo.Extension.Equals(".txt")) { string fileStringArtist = ""; string fileStringTitle = ""; string fileName = fileInfo.Name; int index = fileName.IndexOf("-"); fileStringArtist = fileName.Substring(0, index); fileStringTitle = fileName.Substring(index + 1); fileStringArtist = fileStringArtist.Trim(); fileStringTitle = fileStringTitle.Trim(); index = fileStringTitle.LastIndexOf('.'); fileStringTitle = fileStringTitle.Substring(0, index); textReader = new StreamReader(filePath); string line = ""; string lyrics = ""; while ((line = textReader.ReadLine()) != null) { lyrics += line + Environment.NewLine; } lyrics = lyrics.Trim(); textReader.Close(); string capArtist = LyricUtil.CapatalizeString(fileStringArtist); string capTitle = LyricUtil.CapatalizeString(fileStringTitle); if (AddSong(capArtist, capTitle, lyrics, "Text file")) { return((int)TYPEOFLYRICS.NORMAL); } else { return((int)TYPEOFLYRICS.NONE); } } else { lrc = new SimpleLRC(filePath); if (lrc.IsValid && lrc.Artist.Length != 0 && lrc.Title.Length != 0) { if (AddSong(lrc.Artist, lrc.Title, lrc.Lyric.Trim(), "LRC-file")) { return((int)TYPEOFLYRICS.LRC); } else { return((int)TYPEOFLYRICS.NONE); } } else { return((int)TYPEOFLYRICS.NONE); } } }