public static object Show(VisualizationWindowViewModel viewModel) { Initialize(); VisualizationWindow view = null; try { Dispatcher.Invoke( (Action)(() => { view = new VisualizationWindow(); var oxyModel = new OxyPlotVisualizationViewModel(viewModel.Visualization); viewModel.Visualization = oxyModel; viewModel.Dispatcher = Dispatcher; view.DataContext = viewModel; view.Show(); view.Closing += OnViewClosing; if (_keepApplicationAlive) { Interlocked.Increment(ref _windowCount); } })); } catch { } return(view); }
private void SetVisualizationWindow() { if (!ControlsInitialized || !_showVisualization || !_usingBassEngine) { return; } VisualizationWindow vizWindow = BassMusicPlayer.Player.VisualizationWindow; if (vizWindow != null) { vizWindow.Visible = false; int width = ImgCoverArt.RenderWidth; int height = ImgCoverArt.RenderHeight; Size vizSize = new Size(width, height); float vizX = (float)ImgCoverArt.Location.X; float vizY = (float)ImgCoverArt.Location.Y; GUIGraphicsContext.Correct(ref vizX, ref vizY); Point vizLoc = new Point((int)vizX, (int)vizY); vizWindow.Size = vizSize; vizWindow.Location = vizLoc; vizWindow.Visible = true; GUIGraphicsContext.VideoWindow = new Rectangle(vizLoc, vizSize); } }
private void ClearVisualizationImages() { if (!_usingBassEngine || !_showVisualization) { return; } VisualizationWindow vizWindow = BassMusicPlayer.Player.VisualizationWindow; if (vizWindow != null) { vizWindow.ClearImages(); } }
private bool AddImageToImagePathContainer(string newImage) { lock (_imageMutex) { string ImagePath = Convert.ToString(newImage); if (ImagePath.IndexOf(@"missing_coverart") > 0) { Log.Debug("GUIMusicPlayingNow: Found placeholder - not inserting image {0}", ImagePath); return(false); } // Check if we should let the visualization window handle image flipping if (_usingBassEngine && _showVisualization) { VisualizationWindow vizWindow = BassMusicPlayer.Player.VisualizationWindow; if (vizWindow != null) { if (Util.Utils.FileExistsInCache(ImagePath)) { try { Log.Debug("GUIMusicPlayingNow: adding image to visualization - {0}", ImagePath); vizWindow.AddImage(ImagePath); return(true); } catch (Exception ex) { Log.Error("GUIMusicPlayingNow: error adding image ({0}) - {1}", ImagePath, ex.Message); } } else { Log.Warn("GUIMusicPlayingNow: could not use image - {0}", ImagePath); return(false); } } } bool success = false; if (ImagePathContainer != null) { if (ImagePathContainer.Contains(ImagePath)) { return(false); } if (Util.Utils.FileExistsInCache(ImagePath)) { try { Log.Debug("GUIMusicPlayingNow: adding image to container - {0}", ImagePath); ImagePathContainer.Add(ImagePath); success = true; } catch (Exception ex) { Log.Error("GUIMusicPlayingNow: error adding image ({0}) - {1}", ImagePath, ex.Message); } // display the first pic automatically if (ImagePathContainer.Count == 1) { FlipPictures(); } } } return(success); } }