From 9cb6bd1a1b5f9e650d3b407486e49ae7fd5bb492 Mon Sep 17 00:00:00 2001 From: AppVeyor Doc Generation Date: Wed, 18 Jul 2018 12:52:54 -0700 Subject: [PATCH] Built docs | AppVeyor Build 300 --- SpotifyLocalAPI/index.html | 10 ++++++++++ mkdocs/search_index.json | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/SpotifyLocalAPI/index.html b/SpotifyLocalAPI/index.html index e9a0299d..92274e8c 100644 --- a/SpotifyLocalAPI/index.html +++ b/SpotifyLocalAPI/index.html @@ -233,6 +233,16 @@ public static void Main(String[] args) }); +

it's also possible to change the current UserAgent string, which is needed if the library wasn't updated for some time. In this case, you should first make an unauthenticated call with spotify.GetStatus(), receive the current spotify version, and update the config afterwards:

+
var config = new SpotifyLocalAPIConfig { Port = 4371, HostUrl = "https://127.0.0.1" });
+_spotify = new SpotifyLocalAPI(config);
+
+var status = _spotify.GetStatus();
+config.UserAgent = status.ClientVersion;
+
+// Now you should call auth stuff, like "_spotify.Connect()"
+
+

Proxy Settings

You can forward your proxy settings to the local api by using a field in the SpotifyLocalAPIConfig.

_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig
diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json
index 078aa919..8e2d5944 100644
--- a/mkdocs/search_index.json
+++ b/mkdocs/search_index.json
@@ -552,7 +552,7 @@
         }, 
         {
             "location": "/SpotifyLocalAPI/", 
-            "text": "Getting started\n\n\nThis API provides some access to the local running Spotify-Client (Windows only).\n\nYou can fetch details for the current track, play/pause, skip/previous track and\nget notified on various events.\n\n\nNOTE:\n This API is unofficial, things may break in the future and there is no\nguarantee everything works out of the box.\n\n\n\n\nFirst steps\n\n\nImports\n\nSo after you added the API to your project, you may want to add following imports to your files:\n\n\nusing SpotifyAPI.Local; //Base Namespace\nusing SpotifyAPI.Local.Enums; //Enums\nusing SpotifyAPI.Local.Models; //Models for the JSON-responses\n\n\n\n\nBasic-Usage\n\nNow you can actually start fetching infos from your spotify client, just create a new Instance of SpotifyLocalAPI:\n\n\nprivate static SpotifyLocalAPI _spotify;\n\npublic static void Main(String[] args)\n{\n    _spotify = new SpotifyLocalAPI();\n    if (!SpotifyLocalAPI.IsSpotifyRunning())\n      return; //Make sure the spotify client is running\n    if (!SpotifyLocalAPI.IsSpotifyWebHelperRunning())\n      return; //Make sure the WebHelper is running\n\n    if(!_spotify.Connect())\n      return; //We need to call Connect before fetching infos, this will handle Auth stuff\n\n    StatusResponse status = _spotify.GetStatus(); //status contains infos\n}\n\n\n\n\nConfiguration\n\n\nDifferent spotify versions often require different configuration. Some versions run their web-helper on port \n4371\n, others on \n4381\n or \n4380\n. Also, some use \nhttps\n, and others use \nhttp\n. You can use \nSpotifyLocalAPIConfig\n to configure the API:\n\n\n_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n    Port = 4371,\n    HostUrl = \nhttps://127.0.0.1\n\n});\n\n\n\n\nProxy Settings\n\n\nYou can forward your proxy settings to the local api by using a field in the \nSpotifyLocalAPIConfig\n.\n\n\n_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n    ProxyConfig = new ProxyConfig() {\n      Host = \n127.0.0.1\n,\n      Port = 8080\n      // Additional values like Username and Password are available\n    }\n});\n\n\n\n\nAnti-Virus Blocking Response\n\n\nSome Anti-Virus Software blocks the response from spotify due wrong headers.\nCurrently, it's confirmed for AVG's LinkScanner and Bitdefender.\nAdding \nhttp://SpotifyAPI.spotilocal.com:4380\n to the URL-Exceptions seems to fix it for most users.\nMore infos can be found \nhere\n\n\nClient Status\n\n\nCalling \n_spotify.GetStatus()\n after connecting returns the following \nStatusResponse\n:\n\n\npublic int Version { get; set; }\n\npublic string ClientVersion { get; set; }\n\npublic bool Playing { get; set; }\n\npublic bool Shuffle { get; set; }\n\npublic bool Repeat { get; set; }\n\npublic bool PlayEnabled { get; set; }\n\npublic bool PrevEnabled { get; set; }\n\npublic bool NextEnabled { get; set; }\n\npublic Track Track { get; set; }\n\npublic double PlayingPosition { get; set; }\n\npublic int ServerTime { get; set; }\n\npublic double Volume { get; set; }\n\npublic bool Online { get; set; }\n\npublic bool Running { get; set; }\n\n\n\n\nMost of the properties are self-explanatory, some notes:\n\n\n\n\nShuffle\n and \nRepeat\n currently always return \nfalse\n\n\n\n\nCurrent Track\n\n\nThe current Track can be fetched via \n_spotify.GetStatus().Track\n and contains following properties/methods:\n\n\n\n\nTrackResource\n - \nSpotifyResource\n which contains Track \nName\n and \nUri\n\n\nAlbumResource\n - \nSpotifyResource\n which contains Album \nName\n and \nUri\n\n\nArtistResource\n - \nSpotifyResource\n which contains Artist \nName\n and \nUri\n (Only the main artist will be listed)\n\n\nIsAd()\n will check whether the current track is an AD\n\n\nVarious methods for getting the album art:\n\n\nstring GetAlbumArtUrl(AlbumArtSize size)\n\n\nTask\nBitmap\n GetAlbumArtAsync(AlbumArtSize size)\n\n\nBitmap GetAlbumArt(AlbumArtSize size)\n\n\nTask\nbyte[]\n GetAlbumArtAsByteArrayAsync(AlbumArtSize size)\n\n\nbyte[] GetAlbumArtAsByteArray(AlbumArtSize size)\n\n\n\n\nEvents\n\n\nTo receive events, make sure you listen for them \n_spotify.ListenForEvents = true;\n\nYou can set a \nSynchronizingObject\n, then the events will be called on the specific context\n\n\nFollowing events can be overriden:\n\n\n\n\nOnPlayStateChange\n - triggers when the player changes from \nplay\n to \npause\n and vice versa\n\n\nOnTrackChange\n - triggers when a new track will be played\n\n\nOnTrackTimeChange\n - triggers when a track is playing and track-time changes\n\n\nOnVolumeChange\n - triggeres when the internal volume of spotify changes\n\n\n\n\nMethods\n\n\nFurthermore, following methods are available:\n\n\n\n\nvoid Mute()\n - will mute the Spotify client via WindowsAPI\n\n\nvoid UnMute()\n - will unmute the Spotify client via WindowsAPI\n\n\nbool IsSpotifyMuted()\n - will return wether the Spotify client is muted\n\n\nvoid SetSpotifyVolume(float volume = 100)\n - sets the windows volume of spotify (0 - 100)\n\n\nfloat GetSpotifyVolume()\n - returns the windows volume of spotify (0 - 100)\n\n\nvoid Pause()\n - will pause spotify's playback\n\n\nvoid Play()\n - will resume spotify's playback\n\n\nvoid PlayURL(string uri, string context = \"\")\n - will play a spotify URI (track/album/playlist) in the specifc context (can be a album/playlist URI)\n\n\nvoid Skip()\n - will skip the track via an emulated media key\n\n\nvoid Previous()\n - will play the previous track via an emulated media key\n\n\nbool IsSpotifyRunning()\n - returns true if a spotify client instance is running, false if not\n\n\nbool IsSpotifyWebHelperRunning()\n - returns true if a spotify web-helper instance is running, false if not\n\n\nvoid RunSpotify()\n - will attempt to start a Spotify instance\n\n\nvoid RunSpotifyWebHelper()\n - will attempt to start a Spotify web-helper instance", 
+            "text": "Getting started\n\n\nThis API provides some access to the local running Spotify-Client (Windows only).\n\nYou can fetch details for the current track, play/pause, skip/previous track and\nget notified on various events.\n\n\nNOTE:\n This API is unofficial, things may break in the future and there is no\nguarantee everything works out of the box.\n\n\n\n\nFirst steps\n\n\nImports\n\nSo after you added the API to your project, you may want to add following imports to your files:\n\n\nusing SpotifyAPI.Local; //Base Namespace\nusing SpotifyAPI.Local.Enums; //Enums\nusing SpotifyAPI.Local.Models; //Models for the JSON-responses\n\n\n\n\nBasic-Usage\n\nNow you can actually start fetching infos from your spotify client, just create a new Instance of SpotifyLocalAPI:\n\n\nprivate static SpotifyLocalAPI _spotify;\n\npublic static void Main(String[] args)\n{\n    _spotify = new SpotifyLocalAPI();\n    if (!SpotifyLocalAPI.IsSpotifyRunning())\n      return; //Make sure the spotify client is running\n    if (!SpotifyLocalAPI.IsSpotifyWebHelperRunning())\n      return; //Make sure the WebHelper is running\n\n    if(!_spotify.Connect())\n      return; //We need to call Connect before fetching infos, this will handle Auth stuff\n\n    StatusResponse status = _spotify.GetStatus(); //status contains infos\n}\n\n\n\n\nConfiguration\n\n\nDifferent spotify versions often require different configuration. Some versions run their web-helper on port \n4371\n, others on \n4381\n or \n4380\n. Also, some use \nhttps\n, and others use \nhttp\n. You can use \nSpotifyLocalAPIConfig\n to configure the API:\n\n\n_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n    Port = 4371,\n    HostUrl = \nhttps://127.0.0.1\n\n});\n\n\n\n\nit's also possible to change the current \nUserAgent\n string, which is needed if the library wasn't updated for some time. In this case, you should first make an unauthenticated call with \nspotify.GetStatus()\n, receive the current spotify version, and update the config afterwards:\n\n\nvar config = new SpotifyLocalAPIConfig { Port = 4371, HostUrl = \nhttps://127.0.0.1\n });\n_spotify = new SpotifyLocalAPI(config);\n\nvar status = _spotify.GetStatus();\nconfig.UserAgent = status.ClientVersion;\n\n// Now you should call auth stuff, like \n_spotify.Connect()\n\n\n\n\n\nProxy Settings\n\n\nYou can forward your proxy settings to the local api by using a field in the \nSpotifyLocalAPIConfig\n.\n\n\n_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n    ProxyConfig = new ProxyConfig() {\n      Host = \n127.0.0.1\n,\n      Port = 8080\n      // Additional values like Username and Password are available\n    }\n});\n\n\n\n\nAnti-Virus Blocking Response\n\n\nSome Anti-Virus Software blocks the response from spotify due wrong headers.\nCurrently, it's confirmed for AVG's LinkScanner and Bitdefender.\nAdding \nhttp://SpotifyAPI.spotilocal.com:4380\n to the URL-Exceptions seems to fix it for most users.\nMore infos can be found \nhere\n\n\nClient Status\n\n\nCalling \n_spotify.GetStatus()\n after connecting returns the following \nStatusResponse\n:\n\n\npublic int Version { get; set; }\n\npublic string ClientVersion { get; set; }\n\npublic bool Playing { get; set; }\n\npublic bool Shuffle { get; set; }\n\npublic bool Repeat { get; set; }\n\npublic bool PlayEnabled { get; set; }\n\npublic bool PrevEnabled { get; set; }\n\npublic bool NextEnabled { get; set; }\n\npublic Track Track { get; set; }\n\npublic double PlayingPosition { get; set; }\n\npublic int ServerTime { get; set; }\n\npublic double Volume { get; set; }\n\npublic bool Online { get; set; }\n\npublic bool Running { get; set; }\n\n\n\n\nMost of the properties are self-explanatory, some notes:\n\n\n\n\nShuffle\n and \nRepeat\n currently always return \nfalse\n\n\n\n\nCurrent Track\n\n\nThe current Track can be fetched via \n_spotify.GetStatus().Track\n and contains following properties/methods:\n\n\n\n\nTrackResource\n - \nSpotifyResource\n which contains Track \nName\n and \nUri\n\n\nAlbumResource\n - \nSpotifyResource\n which contains Album \nName\n and \nUri\n\n\nArtistResource\n - \nSpotifyResource\n which contains Artist \nName\n and \nUri\n (Only the main artist will be listed)\n\n\nIsAd()\n will check whether the current track is an AD\n\n\nVarious methods for getting the album art:\n\n\nstring GetAlbumArtUrl(AlbumArtSize size)\n\n\nTask\nBitmap\n GetAlbumArtAsync(AlbumArtSize size)\n\n\nBitmap GetAlbumArt(AlbumArtSize size)\n\n\nTask\nbyte[]\n GetAlbumArtAsByteArrayAsync(AlbumArtSize size)\n\n\nbyte[] GetAlbumArtAsByteArray(AlbumArtSize size)\n\n\n\n\nEvents\n\n\nTo receive events, make sure you listen for them \n_spotify.ListenForEvents = true;\n\nYou can set a \nSynchronizingObject\n, then the events will be called on the specific context\n\n\nFollowing events can be overriden:\n\n\n\n\nOnPlayStateChange\n - triggers when the player changes from \nplay\n to \npause\n and vice versa\n\n\nOnTrackChange\n - triggers when a new track will be played\n\n\nOnTrackTimeChange\n - triggers when a track is playing and track-time changes\n\n\nOnVolumeChange\n - triggeres when the internal volume of spotify changes\n\n\n\n\nMethods\n\n\nFurthermore, following methods are available:\n\n\n\n\nvoid Mute()\n - will mute the Spotify client via WindowsAPI\n\n\nvoid UnMute()\n - will unmute the Spotify client via WindowsAPI\n\n\nbool IsSpotifyMuted()\n - will return wether the Spotify client is muted\n\n\nvoid SetSpotifyVolume(float volume = 100)\n - sets the windows volume of spotify (0 - 100)\n\n\nfloat GetSpotifyVolume()\n - returns the windows volume of spotify (0 - 100)\n\n\nvoid Pause()\n - will pause spotify's playback\n\n\nvoid Play()\n - will resume spotify's playback\n\n\nvoid PlayURL(string uri, string context = \"\")\n - will play a spotify URI (track/album/playlist) in the specifc context (can be a album/playlist URI)\n\n\nvoid Skip()\n - will skip the track via an emulated media key\n\n\nvoid Previous()\n - will play the previous track via an emulated media key\n\n\nbool IsSpotifyRunning()\n - returns true if a spotify client instance is running, false if not\n\n\nbool IsSpotifyWebHelperRunning()\n - returns true if a spotify web-helper instance is running, false if not\n\n\nvoid RunSpotify()\n - will attempt to start a Spotify instance\n\n\nvoid RunSpotifyWebHelper()\n - will attempt to start a Spotify web-helper instance", 
             "title": "SpotifyLocalAPI"
         }, 
         {
@@ -567,7 +567,7 @@
         }, 
         {
             "location": "/SpotifyLocalAPI/#configuration", 
-            "text": "Different spotify versions often require different configuration. Some versions run their web-helper on port  4371 , others on  4381  or  4380 . Also, some use  https , and others use  http . You can use  SpotifyLocalAPIConfig  to configure the API:  _spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n    Port = 4371,\n    HostUrl =  https://127.0.0.1 \n});", 
+            "text": "Different spotify versions often require different configuration. Some versions run their web-helper on port  4371 , others on  4381  or  4380 . Also, some use  https , and others use  http . You can use  SpotifyLocalAPIConfig  to configure the API:  _spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n    Port = 4371,\n    HostUrl =  https://127.0.0.1 \n});  it's also possible to change the current  UserAgent  string, which is needed if the library wasn't updated for some time. In this case, you should first make an unauthenticated call with  spotify.GetStatus() , receive the current spotify version, and update the config afterwards:  var config = new SpotifyLocalAPIConfig { Port = 4371, HostUrl =  https://127.0.0.1  });\n_spotify = new SpotifyLocalAPI(config);\n\nvar status = _spotify.GetStatus();\nconfig.UserAgent = status.ClientVersion;\n\n// Now you should call auth stuff, like  _spotify.Connect()", 
             "title": "Configuration"
         }, 
         {