/// <summary> /// The click event for the covers. /// </summary> /// <param name="sender"> /// The sending control. /// </param> /// <param name="e"> /// The eventarguments. /// </param> private void AddButtonClick(object sender, RoutedEventArgs e) { foreach (MediaItem item in _allItems) { LibraryManagement.PlaylistAddItems(item); } }
/// <summary> /// Sets the data for the current song. /// </summary> public void SetSongData() { var currentItem = LibraryManagement.CurrentPlaylist[LibraryManagement.CurrentIndex]; var imagePath = LibraryManagement.CoverDownload(currentItem, Constants.CoverType.Album).Result; Cover.Source = new BitmapImage(new Uri(imagePath)); NameOfArtist.Text = currentItem.ArtistName; NameOfSong.Text = currentItem.TrackName; NameOfAlbum.Text = currentItem.AlbumName; //NameOfAlbum.BBCode = string.Format("[url=/Content/Library/AlbumView.xaml?id={0}]{1}[/url]", currentItem.CoverID, currentItem.AlbumName); //NameOfArtist.BBCode = string.Format("[url=/Content/Library/DetailView.xaml?id={0}]{1}[/url]", currentItem.ParentID, currentItem.ArtistName); NameOfArtist.MouseUp += delegate(object sender, MouseButtonEventArgs args) { Constants.MainDisplayedMediaItem = LibraryManagement.CurrentPlaylist[LibraryManagement.CurrentIndex]; Constants.WindowMain.ContentSource = new Uri("/Content/Home/AlbumPage.xaml?type=all", UriKind.Relative); }; SelectCurrentSong(currentItem); TimeLeft.Content = currentItem.TrackDuration.ToString("mm':'ss"); TimePlaying.Content = TimeSpan.FromSeconds(LibraryManagement.Playback.StreamLength).ToString("mm':'ss"); Slider.Maximum = LibraryManagement.Playback.StreamLength; Slider.Value = 0; }
/// <summary> /// Clickevent for the forwardbutton. /// </summary> /// <param name="sender"> /// The sending control. /// </param> /// <param name="e"> /// The eventarguments. /// </param> private void Forward_Click(object sender, RoutedEventArgs e) { LibraryManagement.Playback.StopPlayback(); LibraryManagement.SkipTrack(LibraryManagement.SkipDirection.Forward); SetSongData(); LibraryManagement.Playback.StartPlayback(); }
public LibraryManagementSettingsView(LibraryManagement plugin, IPlayniteAPI PlayniteApi, LibraryManagementSettings settings) { _plugin = plugin; _PlayniteApi = PlayniteApi; _settings = settings; InitializeComponent(); }
/* * /// <summary> * /// The txt password_ password changed. * /// </summary> * /// <param name="sender"> * /// The sending control. * /// </param> * /// <param name="e"> * /// The eventarguments. * /// </param> * private void TxtPassword_PasswordChanged(object sender, RoutedEventArgs e) * { * } */ /// <summary> /// The bt test connection_ click. /// </summary> /// <param name="sender"> /// The sending control. /// </param> /// <param name="e"> /// The eventarguments. /// </param> private void BtTestConnection_Click(object sender, RoutedEventArgs e) { bool successfull = LibraryManagement.CanLoginSuccessfully(TxtServer.Text, TxtUsername.Text, TxtPassword.Text); if (successfull) { new ModernDialog() { Content = LanguageOutput.Notice.ConnectionSuccessfull, } }
/// <summary> /// Initializes a new instance of the <see cref="All"/> class. /// </summary> public All() { InitializeComponent(); var param = Constants.GetParameter(); LibraryManagement.GetAllAlbums(); //int folderId = int.Parse(param.Where(paramater => paramater.Key.ToLower() == "id").FirstOrDefault().Value); //foreach (Canvas cover in LibraryManagement.AllArtists[folderId].Select(item => GuiDrawing.DrawCover(item.Artist, WrapPanel, item.Artist, item, Constants.CoverType.Artist))) //{ // cover.MouseLeftButtonDown += CoverClickEvent; //} }
/// <summary> /// Initializes a new instance of the <see cref="AlbumView"/> class. /// </summary> public AlbumView() { InitializeComponent(); //var param = Constants.GetParameter(); //string id = param.Where(paramater => paramater.Key.ToLower() == "id").FirstOrDefault().Value; //_albumData = LibraryManagement.AllAlbums; //_albumData = LibraryManagement.AllAlbums; _album = Constants.MainDisplayedMediaItem; _tracks = LibraryManagement.GetAlbumTracks(_album); var columnName = new DataGridTextColumn(); var columnLength = new DataGridTextColumn(); if (_tracks.Length == 0) { return; } Cover.Source = new BitmapImage(new Uri(LibraryManagement.CoverDownload(_album, Constants.CoverType.Album).Result)); Title.Text = _tracks[0].AlbumName + " by " + _tracks[0].ArtistName; columnName.Header = "Name"; columnName.Binding = new Binding("Name"); columnLength.Header = "Length"; columnLength.Binding = new Binding("Length"); DataGrid.Columns.Add(columnName); DataGrid.Columns.Add(columnLength); foreach (MediaItem item in _tracks) { DataGrid.Items.Add(new DataItem { Name = item.TrackName, Length = item.TrackDuration.ToString("mm':'ss"), Rating = null }); } }
/// <summary> /// Initializes a new instance of the <see cref="Main"/> class. /// </summary> public Main() { LibraryManagement.PlayListClear(); if (LibraryManagement.CurrentPlaylist.Count == 0) { Constants.WindowMain.ContentSource = new Uri("/Content/Home/AlbumPage.xaml?type=all", UriKind.Relative); new ModernDialog() { Content = LanguageOutput.Warnings.PlaylistEmpty, Title = LanguageOutput.Warnings.WarningTitle }.ShowDialog(); } InitializeComponent(); LibraryManagement.Playback.PlaybackStarted += PlaybackOnPlaybackStarted; LibraryManagement.Playback.PlaybackStatusUpdate += PlaybackUpdateEvent; }
/// <summary> /// The test login. /// </summary> private void DoLogin() { var login = new Thread(() => { bool success = LibraryManagement.CanLoginSuccessfully(Properties.Settings.Default.server, Properties.Settings.Default.username, Properties.Settings.Default.password); if (success) { GetArtists(); GetArtistCovers(); Application.Current.Dispatcher.Invoke( DispatcherPriority.Normal, (ThreadStart) delegate { Constants.LoggedIn = true; LibraryManagement.GetFolder(); BuildNavigation(); Constants.WindowMain.ContentSource = new Uri("/Content/Home/AlbumPage.xaml?type=all", UriKind.Relative); }); } else { Application.Current.Dispatcher.Invoke( DispatcherPriority.Normal, (ThreadStart) delegate { new ModernDialog { Content = LanguageOutput.Errors.LoginFailedLong, Title = LanguageOutput.Errors.LoginFailedShort, }.ShowDialog(); BuildNavigation(); Constants.WindowMain.ContentSource = new Uri("/Pages/Settings.xaml", UriKind.Relative); }); } }); login.SetApartmentState(ApartmentState.STA); login.Start(); }
static void Main() { LibraryManagement libraryManagement = new LibraryManagement(); Console.WriteLine(OutputMessages.LibraryManagementHome); string input = String.Empty; while ((input = Console.ReadLine().ToLower()) != "end") { try { libraryManagement.ExecuteCommand(input); } catch (ArgumentException ae) { Console.WriteLine(ae.Message); } catch (NotImplementedException nie) { Console.WriteLine(nie.Message); } } }
public static Canvas DrawCover(MediaItem item, WrapPanel targetPanel, string Text, MediaItem tag, Constants.CoverType coverType) { var displayedCanvas = new Canvas() { Width = 250, Height = 250, Margin = new Thickness(10, 10, 0, 0) }; var imagePath = LibraryManagement.CoverDownload(item, coverType).Result; var cover = new Image() { VerticalAlignment = VerticalAlignment.Top, HorizontalAlignment = HorizontalAlignment.Left, Stretch = Stretch.UniformToFill, Width = 250, Height = 250, Source = new BitmapImage(new Uri(imagePath)) }; var label = new TextBlock { MaxWidth = 200, Text = Text, FontSize = 15, Foreground = Brushes.White, TextWrapping = TextWrapping.Wrap }; var labelOutline1 = new TextBlock { MaxWidth = 200, Text = Text, FontSize = 15, Foreground = Brushes.Black, TextWrapping = TextWrapping.Wrap }; var labelOutline2 = new TextBlock { MaxWidth = 200, Text = Text, FontSize = 15, Foreground = Brushes.Black, TextWrapping = TextWrapping.Wrap }; var labelOutline3 = new TextBlock { MaxWidth = 200, Text = Text, FontSize = 15, Foreground = Brushes.Black, TextWrapping = TextWrapping.Wrap }; var labelOutline4 = new TextBlock { MaxWidth = 200, Text = Text, FontSize = 15, Foreground = Brushes.Black, TextWrapping = TextWrapping.Wrap }; const int labelFromTop = 200; const int labelFromLeft = 20; // White label Canvas.SetLeft(label, labelFromLeft); Canvas.SetTop(label, labelFromTop); // making the outline const int borderWith = 1; Canvas.SetTop(labelOutline1, labelFromTop - borderWith); Canvas.SetLeft(labelOutline1, labelFromLeft - borderWith); Canvas.SetTop(labelOutline2, labelFromTop - borderWith); Canvas.SetLeft(labelOutline2, labelFromLeft + borderWith); Canvas.SetTop(labelOutline3, labelFromTop + borderWith); Canvas.SetLeft(labelOutline3, labelFromLeft - borderWith); Canvas.SetTop(labelOutline4, labelFromTop + borderWith); Canvas.SetLeft(labelOutline4, labelFromLeft + borderWith); displayedCanvas.Children.Add(cover); displayedCanvas.Children.Add(labelOutline1); displayedCanvas.Children.Add(labelOutline2); displayedCanvas.Children.Add(labelOutline3); displayedCanvas.Children.Add(labelOutline4); displayedCanvas.Children.Add(label); displayedCanvas.Tag = tag; targetPanel.Children.Add(displayedCanvas); return(displayedCanvas); }
private void GetArtistCovers() { if (!Constants.CheckCovers) { return; } const string artistCoverDownload = "Downloading artist covers {0} of {1}"; const string albumCoverDownload = "Downloading album covers {0} of {1}"; //! \todo clean this crap. int index = 0; //.AsParallel().For Parallel.ForEach(LibraryManagement.AllArtists, new ParallelOptions { MaxDegreeOfParallelism = 4 }, // limit threads async(artist) => { GeneralExtensions.DispatcherHelper(() => LabelStatus.Text = String.Format(artistCoverDownload, index, LibraryManagement.AllArtists.Length)); MediaItem item = LibraryManagement.AllArtists[index]; await LibraryManagement.CoverDownload(null, Constants.CoverType.Artist); index++; }); index = 0; Parallel.ForEach(LibraryManagement.AllAlbums, new ParallelOptions { MaxDegreeOfParallelism = 4 }, // limit threads (artist) => { GeneralExtensions.DispatcherHelper(() => LabelStatus.Text = String.Format(albumCoverDownload, index, LibraryManagement.AllAlbums.Length)); MediaItem item = LibraryManagement.AllAlbums[index]; LibraryManagement.CoverDownload(null, Constants.CoverType.Album); index++; }); //for ( int index = 0; index < LibraryManagement.AllArtists.Length; index++ ) //{ // GeneralExtensions.DispatcherHelper(() => // LabelStatus.Text = String.Format(coverDownload, index, LibraryManagement.AllArtists.Length)) ; // MediaItem item = LibraryManagement.AllArtists[index]; // LibraryManagement.CoverDownload( new Image(), item.Artist, Constants.CoverType.Artist ); // // dunno what this was suposed to do but it crashes. // //Application.Current.Dispatcher.Invoke( // //DispatcherPriority.Normal, // //(ThreadStart)delegate // //{ // // LibraryManagement.CoverDownload(new Image(), item.Artist, Constants.CoverType.Artist); // //}); // // } //} }
public LibraryManagementTools(LibraryManagement Plugin, IPlayniteAPI PlayniteApi, LibraryManagementSettings PluginSettings) { this.Plugin = Plugin; this.PluginSettings = PluginSettings; this.PlayniteApi = PlayniteApi; }
public AddNewFeatureIcon(LibraryManagement plugin) { this.plugin = plugin; InitializeComponent(); }
/// <summary> /// Clickevent for the shufflebutton. /// </summary> /// <param name="sender"> /// The sending control. /// </param> /// <param name="e"> /// The eventarguments. /// </param> private void Shuffle_Click(object sender, RoutedEventArgs e) { LibraryManagement.ToggleShuffle(); Shuffle.Foreground = LibraryManagement.Shuffle ? new SolidColorBrush(AppearanceManager.Current.AccentColor) : Play.Foreground; }