private void DoPreFixByArtistName(IModifiableTrack iModifiableTrack) { GetTracks(iModifiableTrack).Apply( imt => imt.Name = string.Format("{0}-{1}", imt.Father.Artists.GetDisplayName(), imt.Name)); }
private void DoWindowOpenTrack(IModifiableTrack iModifiableTrack) { FileServices.OpenExplorerWithSelectedFiles(GetTracks(iModifiableTrack) .Where(imt => imt.State != ObjectState.Removed).Select(tr => tr.Path).ToList()); }
private void DoChangeDiscNumber(IModifiableTrack iModifiableTrack) { if (DiscNumber == null) return; GetTracks(iModifiableTrack).Apply(mt => mt.DiscNumber = DiscNumber.Value); }
private void DoUpdateFromFileName(IModifiableTrack iModifiableTrack) { GetTracks(iModifiableTrack).Apply(mt=> mt.Name = System.IO.Path.GetFileNameWithoutExtension(mt.Path)); }
private void DoRemoveTrackNumber(IModifiableTrack iModifiableTrack) { foreach (IModifiableTrack mt in GetTracks(iModifiableTrack)) { StringTrackParser stp = new StringTrackParser(mt.Name, false); if (stp.FounSomething) { mt.Name = stp.TrackName; if ((mt.TrackNumber == 0) && (stp.TrackNumber != null)) mt.TrackNumber = (uint)stp.TrackNumber; } } }
private void DoDeleteTrack(IModifiableTrack iModifiableTrack) { foreach (var imt in GetTracks(iModifiableTrack)) { imt.Delete(); Tracks.Remove(imt); } }
private IEnumerable<IModifiableTrack> GetTracks(IModifiableTrack icontext) { if (icontext == null) return Enumerable.Empty<IModifiableTrack>(); return SelectedTracks.Contains(icontext) ? SelectedTracks.ToList() : icontext.SingleItemCollection(); }