private void InitializeMediaPanel(LAPP.IO.MediaFile File) { MediaPanelItems.Clear(); if (File.Artwork != null) { MediaPanels.Artwork art = new MediaPanels.Artwork() { Source = File.Artwork, Label = File.Album }; MediaPanelItems.Add(art); } if (!string.IsNullOrEmpty(File.Lyrics)) { MediaPanelItems.Add(new MediaPanels.Lyrics() { Text = File.Lyrics }); } if (Config.Current.bValue[Enums.bValue.Spectrum]) { MediaPanelItems.Add(spectrum); } }
internal static IWavePlayer CreateSoundDevice(LAPP.IO.MediaFile File) { LAPP.Wave.IWaveOutPlugin[] outs = PluginManager.GetWaveOutputs().ToArray(); if (outs.Length > 0) { for (int i = 0; outs.Length > i; i++) { if (outs[i].Title == Config.Current.sValue[Enums.sValue.WaveOutput]) { try { return(outs[i].CreateWavePlayer(File)); } catch (Exception) { } } } return(outs[0].CreateWavePlayer(File)); } else { return(null); } }
public void DirectPlay(string FilePath) { StopFile(false); LAPP.IO.MediaFile file = new LAPP.IO.MediaFile(FilePath); RenderFile(file); }
private void InitializeRenderer(LAPP.IO.MediaFile File) { if (Renderer != null) { DisposeRenderer(); } Utils.PluginManager.SetFile(File); RaiseEvent(LAPP.Player.Receiver.Action.Render); Renderer = new Audio(); Renderer.Providers.AddRange(Utils.PluginManager.GetProviders().ToArray()); Renderer.OpenFile(File.Path, new Utils.Classes.AudioFileReader(File.Path), Utils.Utility.CreateSoundDevice(File)); Dialogs.LogWindow.Append("File Open : " + File.Path); RaiseEvent(LAPP.Player.Receiver.Action.Rendered); Renderer.PlaybackStopped += Renderer_PlaybackStopped; Dialogs.LogWindow.Append("Renderer : " + Renderer.AudioFileReader.ToString()); }
internal static void SetFile(LAPP.IO.MediaFile File) { Plugin[] pls = GetPlugins(true); for (int i = 0; pls.Length > i; i++) { pls[i].Instance.SetFile(File); } }
private void FileOpenB_Click(object sender, RoutedEventArgs e) { OFD.Multiselect = true; if (OFD.ShowDialog() == System.Windows.Forms.DialogResult.OK) { LastNum++; ClearUC.Dialogs.TextBoxWithMessage.ResultData Result = ClearUC.Dialogs.Dialog.ShowMessageBoxWithNumeric( Utils.Config.Language.Strings.ExceptionMessage.SelectDiscNumber[0], Utils.Config.Language.Strings.ExceptionMessage.SelectDiscNumber[1], LastNum); foreach (string p in OFD.FileNames) { Page.Album.AlbumData.Track Track = new Page.Album.AlbumData.Track(); LAPP.IO.MediaFile Tag = new LAPP.IO.MediaFile(p); if (MenuItem.ImageSources == null) { if (Tag.Artwork != null) { ImageSource Image = Tag.Artwork; ListItem.ImageSourceList ISL = new ListItem.ImageSourceList(); ISL.Add(Image); MenuItem.ImageSources = ISL; MenuItem.ImageIndex = 0; } } if (string.IsNullOrEmpty(AlbumT.Text) && string.IsNullOrEmpty(Tag.Album) == false) { AlbumT.Text = Tag.Album; } if (string.IsNullOrEmpty(Tag.Title) == false) { Track.Title = Tag.Title; if (string.IsNullOrEmpty(ArtistT.Text)) { ArtistT.Text = Tag.Artist; } } else { Track.Title = System.IO.Path.GetFileNameWithoutExtension(p); } Track.DiscNumber = Tag.DiscNumber; Track.TrackNumber = Tag.Track; Track.Path = p; ListView.Items.Add(CreateSubItem(Track)); } } }
private LAPP.IO.FileItem CreateItem(LAPP.IO.MediaFile File) { ClearUC.ListViewItems.ListSubItem item = new ClearUC.ListViewItems.ListSubItem(); item.MainLabelText = File.Title; item.SubLabelText = File.Path; if (File.Artwork != null) { item.SideItem = ClearUC.ListViewItems.ListSubItem.SideItems.Image; item.Image = File.Artwork; } return(new LAPP.IO.FileItem(File, item, false)); }
private void InitializeProviders(LAPP.IO.MediaFile File) { Providers.Clear(); Providers.Add(new Providers.VolumeEx()); if (Config.Current.bValue[Enums.bValue.Spectrum]) { //Providers.SampleAggregator sa = new Providers.SampleAggregator(); //sa.SetFFT(new Providers.SampleAggregator.FFTInfo() { Enable = false, Length = 256 }); //spectrum.SampleAggreator = sa; //Providers.Add(sa); } }
public override void SetFile(LAPP.IO.MediaFile File) { }
public bool RenderFile(LAPP.IO.MediaFile File, bool AutoRun = true) { try { InitializeRenderer(File); TitleT.Content = File.Title; ArtistT.Content = File.Artist; AlbumT.Content = File.Album; //TODO Plugin Events } catch (Exception ex) { Dialogs.LogWindow.Append(ex.Message); StopFile(true); Utils.Notification na = new Utils.Notification(ParentGrid, Localize.Get("RENDERING_ERROR"), Constants.ErrorBrush); na.ShowMessage(); return(false); } SeekBar.Maximum = Renderer.AudioFileReader.Length; ApplyVolume(); Utils.Animation.Visible ta = new Utils.Animation.Visible(); ta.Animate(Config.Current.Animation[Enums.Animation.Default], TimeL, Visibility.Visible); seekt.Interval = 20; seekt.Start(); seekt.Tick += Seekt_Tick; MC.MediaStateButton.SwitchMediaState(); bgImage.Image = File.Artwork; if (bgImage.Visibility == Visibility.Hidden) { Utils.Animation.Visible va = new Utils.Animation.Visible(); va.Animate(Config.Current.Animation[Enums.Animation.BackgroundImage], bgImage, Visibility.Visible); } MC.PlayingStatus.Title = File.Title; MC.PlayingStatus.Album = File.Album; MC.PlayingStatus.Image = File.Artwork; MC.VisibleStatus(); PlayingFile = File; TaskbarManager.VisibleButtons(); if (AutoRun) { RunFile(); } PluginPanel.Children.Clear(); FrameworkElement[] elements = Utils.PluginManager.GetMediaPanelItems().ToArray(); for (int i = 0; elements.Length > i; i++) { PluginPanel.Children.Add(elements[i]); } return(true); }
internal bool PlayFile(LAPP.IO.MediaFile File) { return(RenderFile(File)); }
public override void SetFile(LAPP.IO.MediaFile File) { InitializeMediaPanel(File); InitializeProviders(File); }