void _BASSPlayer_WaitCursorRequested(object sender, BASSPlayer.WaitCursorRequest request)
 {
     LogEvent(String.Format("WaitCursorRequested({0})", request));
 }
        private bool Initialize()
        {
            Log.Debug("PureAudio: Initialize() called...");

              bool result = true;
              if (!_Initialized)
              {
            Log.Info("PureAudio: Plugin version: {0}", VersionNumber);
            Log.Info("PureAudio: Initializing player ...");

            _BassPlayer = new BASSPlayer();

            LoadSettings();
            _BassPlayer.DebugMode = _DebugMode;

            _BassPlayer.Ended += new BASSPlayer.EndedDelegate(_BassPlayer_Ended);
            _BassPlayer.Stopped += new BASSPlayer.StoppedDelegate(_BassPlayer_Stopped);
            _BassPlayer.StreamTagsChanged += new BASSPlayer.StreamTagsChangedDelegate(_BassPlayer_StreamTagsChanged);
            _BassPlayer.MetaStreamTagsChanged += new BASSPlayer.MetaStreamTagsChangedDelegate(_BassPlayer_MetaStreamTagsChanged);
            _BassPlayer.SessionStopped += new BASSPlayer.SessionStoppedDelegate(_BassPlayer_SessionStopped);
            _BassPlayer.SessionStarted += new BASSPlayer.SessionStartedDelegate(_BassPlayer_SessionStarted);
            _BassPlayer.MonitorProcess += new BASSPlayer.MonitorProcessDelegate(_BassPlayer_MonitorProcess);
            _BassPlayer.WaitCursorRequested += new BASSPlayer.WaitCursorRequestedDelegate(_BassPlayer_WaitCursorRequested);

            result = _BassPlayer.Initialize();
            if (result)
            {
              _SavedFullScreenHandler = g_Player.ShowFullScreenWindowVideo;
              g_Player.ShowFullScreenWindowVideo = new g_Player.ShowFullScreenWindowHandler(FullScreenHandler);

              GUIGraphicsContext.form.Disposed += new EventHandler(OnAppFormDisposed);
              GUIGraphicsContext.OnNewAction += new OnActionHandler(OnNewAction);

              VisualizationFactory vizFactory = VisualizationFactory.Create(_BassPlayer.Profile);
              _VizWindow = vizFactory.GetVisualizationWindow();

              // VizTest
              if (_VizWindow != null)
              {
            _VizWindow.Name = VizWindowName;
            _VizWindow.Visible = false;

              }

              Log.Info("PureAudio: Initializing complete.");

              g_Player.PlayBackEnded += new g_Player.EndedHandler(g_Player_PlayBackEnded);

              _Initialized = true;
            }
              }
              return result;
        }
        void _BassPlayer_WaitCursorRequested(object sender, BASSPlayer.WaitCursorRequest request)
        {
            switch (request)
              {
            case BASSPlayer.WaitCursorRequest.On:
              if (_WaitCursor == null)
              {
            _WaitCursor = new WaitCursor();
              }
              break;

            case BASSPlayer.WaitCursorRequest.Off:
              if (_WaitCursor != null)
              {
            _WaitCursor.Dispose();
            _WaitCursor = null;
              }
              break;
              }
        }
 public OutputDevice(BASSPlayer player)
 {
     _player = player;
 }