public void Run() { if (Running) { return; } Ready = false; Running = true; SetSpotifyApi(); if (SpotifyLocalAPI.IsSpotifyRunning() && Spotify.IsConnected()) { InitializeRecordingSession(); while (Running) { if (!SpotifyLocalAPI.IsSpotifyRunning()) { _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyIsClosed")); Running = false; } else if (!SongIsStillPlaying) { DoIKeepLastSong(RecorderUpAndRunning); RecordSpotify(); } _lastKnownSong = _currentSong; Thread.Sleep(60); } DoIKeepLastSong(RecorderUpAndRunning); _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logStoping")); } else if (SpotifyLocalAPI.IsSpotifyInstalled()) { _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyNotConnected")); } else { _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyNotFound")); } EndRecordingSession(); }
private void SetSpotifyApi() { _currentSong = new Song(); _lastKnownSong = new Song(); if (SpotifyLocalAPI.IsSpotifyInstalled() && !SpotifyLocalAPI.IsSpotifyRunning()) { _form.WriteIntoConsole(FrmEspionSpotify.Rm.GetString($"logSpotifyConnecting")); } Spotify.Connect(); Spotify.Instance.ListenForEvents = true; Spotify.Instance.OnPlayStateChange += OnPlayStateChanged; Spotify.Instance.OnTrackChange += OnTrackChanged; Spotify.Instance.OnTrackTimeChange += OnTrackTimeChanged; }