* Create ProxyConfig class + Unit tests
* Use ProxyConfig in SpotifyLocalAPI
* Refactor WebProxy creation in ProxyConfig
* Use ProxyConfig in SpotifyWebAPI
* Add ProxyConfig parameter in GetAlbumArt methods
* Add ProxyConfig to WebAPIFactory
* Add proxy settings to Example app
* Fix ArgumentNullException in GetAlbumArtUrl when not using proxy
* Performed requested changes
- Removed redundant "this".
- Added necessary null checks.
- Added a ProxyConfig property to SpotifyLocalAPIConfig and removed constructor overloads with it in SpotifyLocalAPI and RemoteHandler.
* Updated Example app
* Added volume controls in Example app
* Fixed occasional COMException when using Get- or SetSpotifyVolume
This exception only happens if Spotify is using an audio device different from the default one. Such a thing is only possible (as of v1.0.75.483.g7ff4a0dc) when using the "--enable-audio-graph" command line argument, that makes available the "Playback device" advanced option in Spotify.
* refactored SpotifyUri parsing
* unit tests for SpotifyUri class
* added missing file reference in SpotifyAPI.csproj
* updated NuGet packages in SpotifyAPI.Tests and reverted inline TryParse variable declarations in SpotifyUri.cs
* Added method to check for compatible OS
* Standardized const variables
* Fixed typo
* Negation of usage in if's
* Moved const variables
* simplified IsOSCompatible
It should be fine in most of the cases to just use the system proxy settings.
If anyone has issues with this approach, we can still make the WebClient.Proxy setting configurable somehow.
Changed Mute and UnMute function to work with both x86 and x64 processes on Windows 7 or newer
Added functions to manipulate the Volume Control of Spotify
sealed StringAttribute because it is only contains text as attribute
sealed SpotifyWebAPI class as it implements IDisposable
Changed Exception catching where the Exception is not used to ignore the Exception object
Removed Console.WriteLine("Exception: " + e.Message) int HttpProcessor.Process as it is a library function which might not be used in a console application