{"id":65811,"date":"2017-02-25T15:17:06","date_gmt":"2017-02-25T15:17:06","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wp-soundsystem\/"},"modified":"2021-07-26T21:42:59","modified_gmt":"2021-07-26T21:42:59","slug":"wp-soundsystem","status":"closed","type":"plugin","link":"https:\/\/en-ca.wordpress.org\/plugins\/wp-soundsystem\/","author":245975,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.4.2","stable_tag":"trunk","tested":"5.8.13","requires":"4.9","requires_php":"","requires_plugins":"","header_name":"WP SoundSystem","header_author":"G.Breant","header_description":"","assets_banners_color":"727170","last_updated":"2021-07-26 21:42:59","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.spiff-radio.org\/?p=287871","header_plugin_uri":"https:\/\/www.spiff-radio.org\/?p=287854","header_author_uri":"https:\/\/profiles.wordpress.org\/grosbouff\/#content-plugins","rating":4.8,"author_block_rating":0,"active_installs":70,"downloads":12512,"num_ratings":13,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":1,"4":0,"5":12},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2063624,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2063624,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2063624,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2063624,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2110588,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2110588,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2056105,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2057549,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2153458,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":2153458,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":2153458,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":2153458,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":2153458,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Tracklist playing frontend","2":"Radio (live) tracklist","3":"Plugin settings page &amp; menu","4":"Tracklist Importer metabox","5":"MusicBrainz metabox","6":"Tracks Links metabox","7":"Tracklists manager popup (when favoriting a track)","8":"Frontend Tracklist Importer","9":"Music menu on a BuddyPress profile"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[4702,6606,218,220,2506],"plugin_category":[50],"plugin_contributors":[83793],"plugin_business_model":[],"class_list":["post-65811","plugin","type-plugin","status-closed","hentry","plugin_tags-audio-player","plugin_tags-importer","plugin_tags-music","plugin_tags-playlist","plugin_tags-stream","plugin_category-media","plugin_contributors-grosbouff","plugin_committers-grosbouff"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wp-soundsystem_727170.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-1.png?rev=2110588","caption":"Tracklist playing frontend"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-2.png?rev=2110588","caption":"Radio (live) tracklist"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-3.png?rev=2056105","caption":"Plugin settings page &amp; menu"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-4.png?rev=2057549","caption":"Tracklist Importer metabox"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-5.png?rev=2153458","caption":"MusicBrainz metabox"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-6.png?rev=2153458","caption":"Tracks Links metabox"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-7.png?rev=2153458","caption":"Tracklists manager popup (when favoriting a track)"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-8.png?rev=2153458","caption":"Frontend Tracklist Importer"},{"src":"https:\/\/ps.w.org\/wp-soundsystem\/assets\/screenshot-9.png?rev=2153458","caption":"Music menu on a BuddyPress profile"}],"raw_content":"<!--section=description-->\n<p><em>WP SoundSystem<\/em> is a complete solution to manage music in WordPress.<\/p>\n\n<p>Import, create and manage tracklists, play tracks, connect to popular music services, and more !<\/p>\n\n<p><a href=\"https:\/\/www.spiff-radio.org\/\">See it working on Spiff Radio<\/a><\/p>\n\n<p>Unlike most plugins, WP SoundSystem is <em>not<\/em> embedding third-party widgets in Wordpress.\nIt goes <em>further<\/em> by using its own <strong>customizable player<\/strong> : no brands, no logos, but <strong>your own data &amp; design<\/strong> !<\/p>\n\n<p>Playing tracks does not rely on a single service, since multiple links can be associated to a track (Youtube, Soundcloud, Spotify, audio files, anything!).<\/p>\n\n<h4>Tracklists<\/h4>\n\n<p>We have two types of tracklists : Playlists, and Radios.<\/p>\n\n<h4>But what the hell are Radios ?<\/h4>\n\n<p>Unlike Playlists, you cannot add, remove or reorder the tracks of a Radio : it is synced with an external URL, and updates seamlessly after a user-defined delay.  This is something very specific to this plugin.<\/p>\n\n<p><a href=\"http:\/\/spiff-radio.org\/?post_type=wpsstm_radio&amp;tag=editors-pick&amp;author=1\">Check some Radios on Spiff Radio<\/a><\/p>\n\n<p>For example, a Radio might be<\/p>\n\n<ul>\n<li>Synced to a station website \"now playing\" page, cached for only 15 minutes since it is updated constantly on the remote side.<\/li>\n<li>Synced to a Spotify playlist, cached for 1 day (or more) since there is only a few chances that its author might have updated it.<\/li>\n<\/ul>\n\n<p>A Radio synced with a Spotify playlist of yours would bring an always up-to-date playlist to your visitors, without having to update your website.<\/p>\n\n<p>You can also create a Radio to fetch a tracklist you like, then convert it to a (static) Playlist so you have a backup of it.<\/p>\n\n<p>Any tracklists can be exported to the standard <a href=\"http:\/\/xspf.org\/\">XSPF<\/a> file format.<\/p>\n\n<h4>Tracks<\/h4>\n\n<p>Tracks can be favorited and shared by your users frontend, or added to a new playlist on-the-fly.\nBackend, you can query details from music services like <a href=\"https:\/\/musicbrainz.org\/\">MusicBrainz<\/a> (The Open Music Encyclopedia) or Spotify.<\/p>\n\n<h4>Tracks Links<\/h4>\n\n<p>You can attach a bunch of links to any track; including links that can stream audio (Youtube, Soundcloud, audio files...) directly to our player!<\/p>\n\n<h4>Autolink (requires an API key)<\/h4>\n\n<p>If you don't attach links to your track manually, you can enable our <em>autolink<\/em> module.\nIt will search for remote links and attach them to your tracks automatically.<\/p>\n\n<h4>Tracklist Importer<\/h4>\n\n<p>Import <a href=\"http:\/\/xspf.org\/\">XSPF playlists<\/a> using the <em>Tracklist Importer<\/em>.<\/p>\n\n<p>If you have an <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\/wiki\/SoundSystem-API\">API key<\/a>, you could also import playlists from various services: <em>Last.fm, Spotify, SoundCloud, Deezer, Musicbrainz, Radionomy, Hypem, 8tracks, BBC, indieshuffle, Online Radio Box, radio.fr, RadioKing, Reddit, SomaFM, Soundsgood,...<\/em><\/p>\n\n<p>Custom setups are also available, if you are somewhat familiar with <a href=\"https:\/\/www.w3schools.com\/cssref\/css_selectors.asp\">CSS selectors<\/a>.<\/p>\n\n<p><a href=\"https:\/\/www.spiff-radio.org\/?p=213\">Frontend Importer on Spiff Radio<\/a><\/p>\n\n<h4>Player<\/h4>\n\n<p>Our player uses of the <a href=\"https:\/\/www.mediaelementjs.com\">MediaElement.js<\/a> library, which is native in WordPress. It supports audio (&amp; video) files, but also links from various services like Youtube or Soundcloud.\nIt has been extended with various features built on top of it, like a tracks queue or a Last.fm scrobbler.\nYou can customize the design of this player the way you like, and extend its functions.<\/p>\n\n<h4>Social<\/h4>\n\n<p><strong>Last.fm<\/strong>\nIn addition of being able to scrobble on <a href=\"https:\/\/www.last.fm\/\">Last.fm<\/a>, every track favorited by a user connected to his account will also be loved on that service.<\/p>\n\n<p><strong>BuddyPress<\/strong>\nUsers profiles will get a new music section that lists the user favorite tracks, tracklists, and the ones he created.\nIt will also fire new <em>BuddyPress activity<\/em> items.<\/p>\n\n<h4>Contribute<\/h4>\n\n<p>WP SoundSystem is dev friendly, and has been designed to be extendable.\nWanna give a hand as developer ? Check the <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\">Github<\/a> repo.<\/p>\n\n<h4>SoundSystem API<\/h4>\n\n<p>The <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\/wiki\/SoundSystem-API\">SoundSystem API<\/a> has been developed in Ruby in parallel of this plugin.\nGet extra features by registering an API key !<\/p>\n\n<p>Some of its feature are:<\/p>\n\n<ul>\n<li>Playlist import from a lot of music services<\/li>\n<li>the Autolink module, which will get audio sources for your tracks automatically.<\/li>\n<\/ul>\n\n<p>Those are optionals, but are nice features to a solid plugin.\nConsider getting one as a nice way to support the work done \u2013hundred of hours\u2013 , and to ensure its durability.<\/p>\n\n<p>Since the API is independent of the plugin, it might also be used by other developers.<\/p>\n\n<p>More informations <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\/wiki\/SoundSystem-API\">here<\/a>.<\/p>\n\n<h4>Donate<\/h4>\n\n<p>Whatever, if you like this plugin, please also consider <a href=\"https:\/\/www.spiff-radio.org\/?p=287871\">making a donation<\/a>.<\/p>\n\n<p>This would be very appreciated \u2014 Thanks !<\/p>\n\n<h4>Dependencies<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/github.com\/matt-oakes\/PHP-Last.fm-API\">PHP Last.fm API<\/a> - Last.fm scrobbling<\/li>\n<li><a href=\"https:\/\/github.com\/abodelot\/jquery.json-viewer\">jQuery json-viewer<\/a> - jQuery plugin for displaying JSON data<\/li>\n<\/ul>\n\n<h4>Contributors<\/h4>\n\n<p>Contributors <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\/contributors\">are listed here<\/a><\/p>\n\n<h4>Bugs\/Development<\/h4>\n\n<p>For feature request and bug reports, please use the <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\/issues\">Github Issues Tracker<\/a>.<\/p>\n\n<p>If you are a plugin developer, <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\">we would like to hear from you<\/a>. Any contribution would be very welcome.<\/p>\n\n<h3>Localization<\/h3>\n\n<!--section=installation-->\n<p>This plugin requires PHP Version 5.4 or later.<\/p>\n\n<ol>\n<li>Upload the plugin to your blog and Activate it.<\/li>\n<li>Go to the settings page and setup the plugin.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<p>See the <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\/wiki\/Frequently-Asked-Questions\">Frequently Asked Questions<\/a> of the Github wiki.<\/p>\n\n<!--section=changelog-->\n<h4>3.4.1<\/h4>\n\n<ul>\n<li>WPSSTM_Post_Tracklist: to_jspf() - new method<\/li>\n<\/ul>\n\n<h4>3.4.0<\/h4>\n\n<ul>\n<li>XSPF file import bugfix<\/li>\n<\/ul>\n\n<h4>3.3.9<\/h4>\n\n<ul>\n<li>API update<\/li>\n<\/ul>\n\n<h4>3.3.7<\/h4>\n\n<ul>\n<li>match updated API<\/li>\n<\/ul>\n\n<h4>3.3.6<\/h4>\n\n<ul>\n<li>tracklists : fixed sort by tracks count \/ sort by favorited count<\/li>\n<li>removed Compass dependencies<\/li>\n<li>some parts of the code cleaned (queuing\/dequeuing tracks, track template)<\/li>\n<li>hook 'wpsstm_love_track' splitted into 'wpsstm_love_track' &amp; 'wpsstm_unlove_track'<\/li>\n<\/ul>\n\n<h4>3.3.5<\/h4>\n\n<ul>\n<li>MAJOR UPDATE !<\/li>\n<li>switch to the <a href=\"https:\/\/github.com\/gordielachance\/wp-soundsystem\/wiki\/SoundSystem-API\">SoundSystem API<\/a><\/li>\n<li>new Importer wizard<\/li>\n<li>new view for playlists : 'Favorite Tracks'<\/li>\n<li>sort radios by Importer name<\/li>\n<li>autolink: limit autolinks to X links --&gt; limit autolinks to X links per host * batch delete autolink timelocks metas<\/li>\n<li>database upgrade: v217<\/li>\n<li>bugfix subtracks table was not created at installation (#153)<\/li>\n<li>bugfix playlist manager was broken (#152)<\/li>\n<li>bugfix add new row to empty tracklist (#148)<\/li>\n<li>bugfix rewrite rules<\/li>\n<\/ul>\n\n<h4>3.2.5<\/h4>\n\n<ul>\n<li>improved plugin settings : maintenance<\/li>\n<li>track links :improved excluded hosts queries<\/li>\n<li>do not delete links alongside with tracks, just remove the post_parent value (faster)<\/li>\n<li>better way to add tracks to a Playlist<\/li>\n<li>added 'wpsstm_populated_tracklist' action hook<\/li>\n<li>improved 'Now Playing' and 'Sitewide favorites'<\/li>\n<li>better code for tracklist options \/ time stuff<\/li>\n<li>database upgrade: v214<\/li>\n<li>fix click on player's track position<\/li>\n<li>fix styles on track displayed in data engines metaboxes<\/li>\n<li>fix get_tracklist_html (cache) when displaying several playlists<\/li>\n<li>fix standalone track shortcode<\/li>\n<li>removed hooks 'wpsstm_init', 'wpsstm_init_post_types', 'wpsstm_init_rewrite'<\/li>\n<li>WPSSTM_Post_Tracklist : new $id property (unique_id)<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>get_static_subtracks() about 4 times faster !<\/li>\n<li>audio player is now a a child node of its tracklist (better for customisation)<\/li>\n<li>JS: a lot of improvements !<\/li>\n<li>new 'tracklist' view in the tracks backend<\/li>\n<li>DO NOT queue a track if it is already part of the tracklist<\/li>\n<li>Radios: better JSON feedback<\/li>\n<li>tracklist\/track\/links actions for unlogged users : use wp_login_url()<\/li>\n<li>new fn batch_delete_duplicate_subtracks()<\/li>\n<li>new fn batch_reindex_subtracks_by()<\/li>\n<li>fixed fn reset_subtrack_order()<\/li>\n<li>use WP_Object_Cache for get_tracklist_html()<\/li>\n<li>new class Wpsstm_Subtrack_List_Table [WIP]<\/li>\n<li>database upgrade: v213<\/li>\n<\/ul>\n\n<h4>3.1.5<\/h4>\n\n<ul>\n<li>removed 'delete_duplicate_links' setting<\/li>\n<li>SQL queries improvements<\/li>\n<li>subtracks : save subtrack author (pinner) in database - will be bot if tracklist is imported<\/li>\n<li>creates a'sitewide favorites' tracklist post<\/li>\n<li>creates a 'now playing' tracklist post with the last tracks played on the website<\/li>\n<li>BP profile metas : now playing + last favorite<\/li>\n<li>Improved importers code<\/li>\n<li>New filter 'wpsstm_get_subtracks'<\/li>\n<li>database upgrade: v212<\/li>\n<li>faster REST import<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Migrated BANGS stuff to wpsstmapi<\/li>\n<li>Improved importer GUI<\/li>\n<li>Improved music datas engines<\/li>\n<li>playlist settings metabox : add 'filter tracks' button<\/li>\n<\/ul>\n\n<h4>3.0.5<\/h4>\n\n<ul>\n<li>musicbrainz\/spotify : new 'Post fill' metabox (only for tracks)<\/li>\n<li>playlists : share track link (autoplay)<\/li>\n<li>enable .xspf file upload in the media library<\/li>\n<li>allow 0-minutes cache for radios<\/li>\n<li>improved rest &amp; import<\/li>\n<li>new fn import_xspf() - extracted out of sync_radio()<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>fix links imported not properly created<\/li>\n<li>JS: do not autolink a track that has playable links<\/li>\n<li>REST route 'import\/?input=\u2026' now returns an import ID, that we then use to get the cached XSPF file API side.<\/li>\n<li>Tracklist importer : new 'Debug log' tab<\/li>\n<li>fix warning notices with PHP 7.3 (#126)<\/li>\n<\/ul>\n\n<h4>2.9.5<\/h4>\n\n<ul>\n<li>renamed API route : \/'import\/url\/?url=...' -&gt; import\/?input=...<\/li>\n<li>fix unable to add new tracklist tracks on post-new.php<\/li>\n<li>Soundcloud : fix settings not saving<\/li>\n<li>Autolink : better GUI<\/li>\n<li>cache (transient) for excluded track links<\/li>\n<li>Removed setting 'Trash excluded hosts links' + new 'Excluded hosts' track links view<\/li>\n<li>Removed setting 'Trash orphan links' + new'Orphan' track links view<\/li>\n<li>Removed setting 'Trash orphan tracks' + new'Orphan' tracks view<\/li>\n<li>Removed setting 'Trash temporary tracklists'<\/li>\n<li>Programmatically create bot user at installation + migrate old setting<\/li>\n<li>Programmatically create import page at installation + migrate old setting<\/li>\n<li>When updating track artist\/album\/title, remove old music term if unique<\/li>\n<li>When deleting a post, remove the music terms attached to it if unique<\/li>\n<li>GUI: jsons now displayed using <a href=\"https:\/\/github.com\/abodelot\/jquery.json-viewer\">jQuery json-viewer<\/a><\/li>\n<\/ul>\n\n<h4>2.9.0<\/h4>\n\n<ul>\n<li>Removed registration call to action (should be handled by a theme, not by this plugin)<\/li>\n<li>JS: Abord tracklist reload when pressing ESC<\/li>\n<li>JS: Ability to add more than one track at once when editing a tracklist<\/li>\n<li>Queue subtracks bug fix<\/li>\n<li>Improve bot user code<\/li>\n<\/ul>\n\n<h4>2.8.5<\/h4>\n\n<ul>\n<li>WPSSTM_Spotify_Endpoints &amp; WPSSTM_Musicbrainz_Endpoints moved from API so we don't need two requests<\/li>\n<li>new metabox 'Tracklist options'<\/li>\n<li>ignore bot tracklists unless author is set in query<\/li>\n<li>JS bugfixes<\/li>\n<\/ul>\n\n<h4>2.8.0<\/h4>\n\n<ul>\n<li>better player JS<\/li>\n<li>allow XSPF tracklist import without the need of an API key<\/li>\n<li>fixed tracklist share<\/li>\n<li>better tracklist header<\/li>\n<li>improve lightbox<\/li>\n<li>remove settings 'importer_enabled' &amp; 'radios_enabled'<\/li>\n<li>fixes regex not passing to API<\/li>\n<\/ul>\n\n<h4>2.7.5<\/h4>\n\n<ul>\n<li>Moved all the import stuff to the API.  Now uses rest route 'wp-json\/wpsstmapi\/v1\/import\/?input=...' (on the API)<\/li>\n<li>store artist,track &amp; album metas as taxonomies instead of post metas; for performance issues (see https:\/\/wordpress.stackexchange.com\/a\/276315\/70449 and https:\/\/wordpress.stackexchange.com\/a\/159012\/70449)<\/li>\n<li>trash orphan links option<\/li>\n<li>trash duplicate links option<\/li>\n<li>improved JS<\/li>\n<li>fix Last.fm scrobbler not working except for first track<\/li>\n<\/ul>\n\n<h4>2.7.0<\/h4>\n\n<ul>\n<li>radios : improved how they are updated<\/li>\n<li>improved REDDIT service<\/li>\n<li>Improved settings page<\/li>\n<li>Improved WPSSTM_Core_User logic<\/li>\n<li>Register Radios post type even if no API key set; but filter post content to display a notice (avoids a 404 error)<\/li>\n<li>Create user favorite tracks playlist only when he tries to favorite a track for the first time<\/li>\n<li>Do not store track data within the subtracks table, always create a track post (fixes issues #88)<\/li>\n<li>Various improvements &amp; bugfixes<\/li>\n<\/ul>\n\n<h4>2.6.5<\/h4>\n\n<ul>\n<li>New track links setting 'Exclude hosts'<\/li>\n<li>JS link\/track\/tracklist reclick fix<\/li>\n<li>Tracklist template : featured image<\/li>\n<li>\"Sources\" renamed to \"Track Links\" (post type, some metas, some filters renamed)<\/li>\n<li>Fixed toggle playable track link<\/li>\n<li>Fixed sort track links<\/li>\n<li>fixed OnlineRadioBox service<\/li>\n<li>fixed bugfix XSPF export<\/li>\n<li>track links JS\/CSS improvements<\/li>\n<li>BuddyPress - improved queue track\/ love tracklist activities<\/li>\n<li>Radio.fr - new service<\/li>\n<li>Spotify: improved playlists regex<\/li>\n<li>new image assets<\/li>\n<li>new 'pre_get_tracklist_by_pulse' function hooked on 'pre_get_posts'<\/li>\n<li>migrate 'remote_delay_min' option from 'scraper option' post meta -&gt; 'wpsstm_cache_min' post meta<\/li>\n<li>database --&gt; 202<\/li>\n<\/ul>\n\n<h4>2.6.0<\/h4>\n\n<ul>\n<li>tracklist expiration bugfix<\/li>\n<li>improved importer and its settings<\/li>\n<li>improved shortcodes<\/li>\n<li>importer debug GUI<\/li>\n<li>bugfix populate links\/autolinks<\/li>\n<li>fix files dependencies when no API key<\/li>\n<li>Last.fm : fix url encoding \/ fix regexes \/ fix importer \/ scrobbler disabled by default<\/li>\n<li>abord autolink if 'wpsstm_autolink_input' returns an error<\/li>\n<li>\n<ul>\n<li>various bug fixes<\/li>\n<\/ul><\/li>\n<li>new class WPSSTM_Data_Engine<\/li>\n<\/ul>\n\n<h4>2.5.0<\/h4>\n\n<ul>\n<li>So much improvements that they cannot even be listed !  More than one year of developpement and 754 commits !<\/li>\n<li>now compatible with the <a href=\"https:\/\/developers.google.com\/web\/updates\/2017\/09\/autoplay-policy-changes\">Autoplay Policy Change<\/a> from Chrome<\/li>\n<li>Code entirely rewritten<\/li>\n<li>HTML : uses HTML5 custom elements<\/li>\n<li>REST API<\/li>\n<li>...<\/li>\n<\/ul>","raw_excerpt":"WP SoundSystem is a complete solution to manage music in WordPress.  Import, create and manage tracklists, play tracks, connect to popular music servi &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/65811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=65811"}],"author":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/grosbouff"}],"wp:attachment":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=65811"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=65811"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=65811"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=65811"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=65811"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=65811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}