Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        public void DirectPlay(string FilePath)
        {
            StopFile(false);

            LAPP.IO.MediaFile file = new LAPP.IO.MediaFile(FilePath);
            RenderFile(file);
        }
Example #4
0
        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());
        }
Example #5
0
 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);
     }
 }
Example #6
0
        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));
                }
            }
        }
Example #7
0
        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));
        }
Example #8
0
        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)
 {
 }
Example #10
0
        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);
        }
Example #11
0
 internal bool PlayFile(LAPP.IO.MediaFile File)
 {
     return(RenderFile(File));
 }
Example #12
0
 public override void SetFile(LAPP.IO.MediaFile File)
 {
     InitializeMediaPanel(File);
     InitializeProviders(File);
 }