public MusicEntity getMusic(string name) { MusicEntity me = Entities.Find(e => e.Name == name); Currently = Entities.IndexOf(me); return(me); }
private void MusicPerpeared(MusicEntity Music, Track mTrack) { Dispatcher.Invoke(() => { ControlPanel.MaxValue = mTrack.Duration.TotalSeconds; ControlPanel.Value = 0; }); }
public void DeleteMusic(MusicEntity entity, bool complete) { if (complete) { File.Delete(entity.Path); } OnMusicDeleted?.Invoke(entity.Name); AllMusic.DeleteMusic(entity); }
private void initializeSoundSource(MusicEntity music) { iws?.Dispose(); iws = GetCodec(music.Extension, music.Path); iws = lfw.Initialize(iws.ToSampleSource() .ChangeSampleRate(32000) .AppendSource(Equalizer.Create10BandEqualizer, out mEqualizer)); wasapiOut.Initialize(iws); Volume = 0.7f; wasapiOut.Volume = Volume; }
public bool AddMusic(MusicEntity ME) { foreach (MusicEntity me in Entities) { if (me.Name.Equals(ME.Name)) { return(false); } } Entities.Add(ME); return(true); }
public BitmapSource GetCatalogueCover() { Random r = new Random(); int failTime = 0; MusicEntity randomed = Entities[r.Next(0, Entities.Count)]; BitmapSource bs; while ((bs = MediaMetaDataReader.GetPicture(randomed.Path)) == null && failTime < 3) { failTime++; } return(bs); }
private void PlayFinished() { MusicEntity MEnt = null; if (intp.LBSLoaded) { MEnt = intp.Stepping(); } else { Next(true); } }
public bool AcquireLyric(MusicEntity Music) { if (Tokenizer == null) { return(false); } tokens = Tokenizer.CreateTokensFromFile(GetLyricFile(Music.Path, Music.Name)); if (tokens == null) { return(false); } return(true); }
private void DipMusic_ItemSelectionChanged(MusicEntity selected) { if (laudio.Playing) { laudio.Stop(); } laudio.Load(selected); laudio.Play(); if (dia == null) { dia = new Dialogue(new _3DVisualize(), "3D"); dia.Show(); } }
public MusicEntity CreateEntity(string path) { TL.File media = TL.File.Create(path); MusicEntity me = new MusicEntity() { Album = media.Tag.Album, Artist = media.Tag.Performers, Extension = Path.GetExtension(path), Name = Path.GetFileNameWithoutExtension(path), Year = media.Tag.Year.ToString(), Path = path, }; media.Dispose(); return(me); }
private void DipMusic_ItemSelectionChanged(MusicEntity selected, object tag) { if (laudio.Playing) { laudio.Stop(); } BitmapSource source; ControlPanel.AlbumProfile = (source = MediaMetaDataReader.GetPicture(selected.Path)) == null ? null : new ImageBrush(source); laudio.Load(selected); ControlPanel.StartPlaying(); laudio.Play(); //if (dia == null) //{ // dia = new Dialogue(new _3DVisualize(), "3D"); // dia.Show(); //} }
public void AddToPool(string dirpath, IMediaMetadataReader immr) { Catalogue pathCatalogue = new Catalogue(dirpath) { isLocationClassified = true }; foreach (string fi in Directory.GetFiles(dirpath)) { if (SupportFormat.AllQualified(Path.GetExtension(fi))) { MusicEntity me = immr.CreateEntity(fi); AllMusic.AddMusic(me); pathCatalogue.AddMusic(me); } } CPool.AddCatalogue(pathCatalogue); }
private void PlayFinished() { MusicEntity MEnt = null; if (intp.LBSLoaded) { MEnt = intp.Stepping(); } else { Next(true); } //if (MEnt != null) //{ // laudio.Load(MEnt); // laudio.Play(); //} //else return; }
public MusicSelectionList() { InitializeComponent(); ITEMS.DataContext = Items; Delegation.RemovingItem += dctx => { MusicEntity removed = dctx as MusicEntity; if (dctx is MusicEntity) { if (!IsMotherCatalogue) { Delegation.CatalogueUpdated(removed); Items.Remove(removed); } else { // TODO 永久从母分类中删除歌曲(本地文件永久删除),包括:提醒 } } }; }
public MusicEntity CreateEntity(string path) { TL.File media = TL.File.Create(path); MusicEntity me = new MusicEntity() { Album = media.Tag.Album, Artist = media.Tag.Performers, Extension = Path.GetExtension(path), Name = Path.GetFileNameWithoutExtension(path), Year = media.Tag.Year.ToString(), Path = path, }; if (me.Artist == null || me.Artist.Length == 0) { me.Artist = new string[] { Converter.ConvertTo("CORE_FUNC", "CORE_PRESENTOR_UNKNOW_ARTIST") }; } if (string.IsNullOrEmpty(me.Album)) { me.Album = Converter.ConvertTo("CORE_FUNC", "CORE_PRESENTOR_UNKNOW_ALBUM"); } media.Dispose(); return(me); }
public void AddMusic(string uuid, MusicEntity music) { CatalogueBase.Find(x => x.UUID.Equals(uuid)).AddMusic(music); }
public void RemoveMusic(string uuid, MusicEntity music) { CatalogueBase.Find(x => x.UUID.Equals(uuid)).DeleteMusic(music); }
public bool DeleteMusic(MusicEntity ME) { return(Entities.Remove(ME)); }
public void Add(MusicEntity mie) { Items.Add(mie); }
public MusicEntity Stepping() { try { if (Pointer >= Actions.Count) { return(null); } ActionToken atoken = Actions[Pointer]; if (singleStepCount == 1) { foreach (Delegate delg in onCExecutionRequest.GetInvocationList()) { if ((cache = ((CommandExecutor)delg).Invoke(atoken.CommandType, atoken.ct_args, CataPool, ref chosenCatalogue, ref Pointer)) != null) { break; } } foreach (Delegate delg in onSExecutionRequest.GetInvocationList()) { if (((SuffixExecutor)delg).Invoke(atoken.SuffixType, atoken.st_args, ref singleStepCount)) { break; } } singleStepCount++; if (RandomPlay) { Pointer = randomControl.Next(0, Actions.Count); } else { Pointer++; } } if (cache == null) { Stepping(); } else { singleStepCount = singleStepCount > 1 ? singleStepCount - 1 : singleStepCount; if (singleStepCount > 1) { return(cache); } else if (singleStepCount < 1) { singleStepCount = 1; } } //If no LLOOP defined and pointer comes to last. //Execution completed. if (Pointer >= Actions.Count) { LBSLoaded = false; Actions.Clear(); return(null); } return(cache); } catch (StackOverflowException) { ErrorDelegation.OnErrorRaisedBSI?.Invoke("CORE_LBS_InvalidCommandExecutor", null, Pointer); return(null); } }
//Interface implements public void Load(MusicEntity music) { AudioDelegations.LyricLoadStatus?.Invoke(lEnum.AcquireLyric(music)); initializeSoundSource(music); AudioDelegations.MusicLoaded?.Invoke(music, iws.ToTrack()); }