{"id":357196,"date":"2026-09-09T16:07:48","date_gmt":"2026-09-09T16:07:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/glissando-animated-audio-player\/"},"modified":"2026-09-09T19:23:25","modified_gmt":"2026-09-09T19:23:25","slug":"glissando","status":"publish","type":"plugin","link":"https:\/\/bn.wordpress.org\/plugins\/glissando\/","author":23544969,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.8","stable_tag":"1.2.8","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Glissando \u2013 Animated Audio Player","header_author":"TomGl","header_description":"Glass-style audio player with animated visualizer. Add with [glissando src=\"...\"].","assets_banners_color":"222a41","last_updated":"2026-09-09 19:23:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.8":{"tag":"1.2.8","author":"tomsgl","date":"2026-09-09 19:23:25","revision":3688907}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3688632,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3688632,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3688632,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"glissando\/player":{"name":"glissando\/player","title":"Player"}},"tagged_versions":["1.2.8"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3688907,"resolution":"1","location":"assets","locale":"","width":1168,"height":1102},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3688907,"resolution":"2","location":"assets","locale":"","width":1168,"height":395},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3688907,"resolution":"3","location":"assets","locale":"","width":1168,"height":732},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3688907,"resolution":"4","location":"assets","locale":"","width":1168,"height":534},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3688907,"resolution":"5","location":"assets","locale":"","width":1168,"height":711},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3688907,"resolution":"6","location":"assets","locale":"","width":1170,"height":1626}},"screenshots":{"1":"Artwork preset, dark theme, mid-playback - the same player at four column widths.","2":"Compact preset - from full width down to a narrow sidebar, controls collapsing as the column shrinks.","3":"Dark and light theme, same track.","4":"Adjustable bar count and per-player colours.","5":"Elementor widget controls - the same settings exist in the block sidebar and the shortcode.","6":"What the separately sold Pro version adds - not included in this free plugin."}},"plugin_section":[],"plugin_tags":[452,4702,708,1494,5643],"plugin_category":[50],"plugin_contributors":[78154,279965],"plugin_business_model":[],"class_list":["post-357196","plugin","type-plugin","status-publish","hentry","plugin_tags-audio","plugin_tags-audio-player","plugin_tags-mp3","plugin_tags-music-player","plugin_tags-visualizer","plugin_category-media","plugin_contributors-freemius","plugin_contributors-tomsgl","plugin_committers-tomsgl"],"banners":{"banner":"https:\/\/ps.w.org\/glissando\/assets\/banner-772x250.png?rev=3688632","banner_2x":"https:\/\/ps.w.org\/glissando\/assets\/banner-1544x500.png?rev=3688632","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/glissando\/assets\/icon-256x256.png?rev=3688632","icon_2x":"https:\/\/ps.w.org\/glissando\/assets\/icon-256x256.png?rev=3688632","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/glissando\/assets\/screenshot-1.png?rev=3688907","caption":"Artwork preset, dark theme, mid-playback - the same player at four column widths."},{"src":"https:\/\/ps.w.org\/glissando\/assets\/screenshot-2.png?rev=3688907","caption":"Compact preset - from full width down to a narrow sidebar, controls collapsing as the column shrinks."},{"src":"https:\/\/ps.w.org\/glissando\/assets\/screenshot-3.png?rev=3688907","caption":"Dark and light theme, same track."},{"src":"https:\/\/ps.w.org\/glissando\/assets\/screenshot-4.png?rev=3688907","caption":"Adjustable bar count and per-player colours."},{"src":"https:\/\/ps.w.org\/glissando\/assets\/screenshot-5.png?rev=3688907","caption":"Elementor widget controls - the same settings exist in the block sidebar and the shortcode."},{"src":"https:\/\/ps.w.org\/glissando\/assets\/screenshot-6.png?rev=3688907","caption":"What the separately sold Pro version adds - not included in this free plugin."}],"raw_content":"<!--section=description-->\n<p>Glissando is a glass-style audio player with a real-time animated visualizer. Add players anywhere with the Gutenberg block, the Elementor widget, or the <code>[glissando]<\/code> shortcode.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Artwork and Compact player presets<\/li>\n<li>Dark and light themes, six color palettes, custom colors<\/li>\n<li>Solid visualizer bars with adjustable bar count<\/li>\n<li>Visualizer tuning: animation speed, frequency range, low cut<\/li>\n<li>Card styling: hover and glass tint colors, corner radius, shadows, background opacity<\/li>\n<li>Download button (icon\/text styles, second file, download counter)<\/li>\n<li>Gutenberg block, Elementor widget and <code>[glissando]<\/code> shortcode<\/li>\n<li>Scalable<\/li>\n<\/ul>\n\n<p><strong>Everything you can tweak<\/strong><\/p>\n\n<p>Every setting below has a control in the block sidebar, the Elementor widget and\nthe shortcode. Settings - Glissando holds the site-wide defaults that new\nplayers start from, and any player can override them.<\/p>\n\n<p><em>Audio and text<\/em><\/p>\n\n<ul>\n<li>Track from the media library or any external URL<\/li>\n<li>Title and artist, filled in automatically from the media metadata<\/li>\n<li>Album artwork, square or 16:9, with zoom (1-2.5x) and vertical position<\/li>\n<\/ul>\n\n<p><em>Layout<\/em><\/p>\n\n<ul>\n<li>Artwork or Compact preset<\/li>\n<li>Alignment: left, center or right in its column<\/li>\n<li>Adapts to the column it sits in - scalable<\/li>\n<\/ul>\n\n<p><em>Colors<\/em><\/p>\n\n<ul>\n<li>Dark or light theme<\/li>\n<li>Six visualizer palettes: aurora, sunset, fire, candy, ocean, mono<\/li>\n<li>Multi-color gradients of your own<\/li>\n<li>Glass tint color and button hover color<\/li>\n<\/ul>\n\n<p><em>Visualizer<\/em><\/p>\n\n<ul>\n<li>Bar count from 32 to 160<\/li>\n<li>Animation speed, from real time to slow drift<\/li>\n<li>Frequency range and low cut - trim the deep bass off the left edge<\/li>\n<\/ul>\n\n<p><em>Card customization settings<\/em><\/p>\n\n<ul>\n<li>Background opacity<\/li>\n<li>Corner radius<\/li>\n<li>Shadow size and strength<\/li>\n<\/ul>\n\n<p><em>Downloads<\/em><\/p>\n\n<ul>\n<li>Download button on or off<\/li>\n<li>Icon, text or both, with your own label<\/li>\n<li>A second downloadable file (e.g. instrumental) with its own label<\/li>\n<li>Download counter per track<\/li>\n<\/ul>\n\n<p><em>Accessibility<\/em><\/p>\n\n<ul>\n<li>Keyboard-operable play, seek and volume, with visible focus rings<\/li>\n<li>Respects the system \"reduce motion\" accessibility setting<\/li>\n<\/ul>\n\n<p>A separately sold Pro version adds further player layouts (Standard, Minimal,\nRadial), playlists, the LED and Dots bar styles and a share button.<\/p>\n\n<h3>Source code<\/h3>\n\n<p>None of this plugin's own code is minified, compiled or obfuscated. Every PHP,\nJavaScript and CSS file I wrote is the original human-readable source, and it\nuses no third-party JavaScript libraries.<\/p>\n\n<p>There is one generated value: the <code>GLISSANDO_CSS<\/code> string near the top of\n    assets\/glissando.js. The player renders inside a Shadow DOM so that themes\ncannot break it, and a Shadow DOM cannot see enqueued stylesheets, so the\nstylesheet has to be injected as a string.<\/p>\n\n<p>The readable source for that string is bundled with the plugin, uncompressed, at\n    assets\/glissando.css. <code>GLISSANDO_CSS<\/code> is that same stylesheet encoded as a\nJavaScript string literal - the rules, selectors, comments and formatting are\nidentical, so the two can be read side by side.<\/p>\n\n<p>The build step is bundled too, as <code>bake-css.js<\/code> in the plugin folder. It needs\nNode.js and nothing else: no npm install, no dependencies, no bundler. After\nediting <code>assets\/glissando.css<\/code>, run this from the plugin folder to regenerate\nthe string:<\/p>\n\n<pre><code>node bake-css.js&lt;h3&gt;External services&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>This plugin uses Freemius to handle licensing, plugin updates and optional\nusage diagnostics.<\/p>\n\n<p>No data is sent unless you opt in. Freemius is contacted when you accept its\nopt-in prompt on activation, or if you later connect a Pro licence or start a\ntrial. When that happens it sends your site URL, the WordPress and PHP\nversions, this plugin's version, and the email address of the account you\nconnect with. Declining the prompt leaves the plugin fully functional.<\/p>\n\n<p>Service provider: Freemius, Inc. \u2014 https:\/\/freemius.com\nTerms of Service: https:\/\/freemius.com\/terms\/\nPrivacy Policy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP via Plugins \u2192 Add New \u2192 Upload, or unzip into <code>wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Add the Glissando Player block (or Elementor widget), or use <code>[glissando id=\"123\"]<\/code> \/ <code>[glissando src=\"https:\/\/example.com\/track.mp3\"]<\/code>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20any%20theme%3F\"><h3>Does it work with any theme?<\/h3><\/dt>\n<dd><p>Yes. The player renders in a Shadow DOM, so theme styles cannot break it.<\/p><\/dd>\n<dt id=\"do%20i%20have%20to%20set%20every%20option%20on%20every%20player%3F\"><h3>Do I have to set every option on every player?<\/h3><\/dt>\n<dd><p>No. Settings - Glissando holds the defaults for the whole site; a player only\ncarries the settings you change on it.<\/p><\/dd>\n<dt id=\"does%20it%20fit%20in%20a%20narrow%20sidebar%20column%3F\"><h3>Does it fit in a narrow sidebar column?<\/h3><\/dt>\n<dd><p>Yes. The player measures the column it is in, not the browser window, so it\nlays out the same in a 300px sidebar on a desktop as it does on a phone.<\/p><\/dd>\n<dt id=\"can%20visitors%20download%20the%20track%3F\"><h3>Can visitors download the track?<\/h3><\/dt>\n<dd><p>If you turn the download button on. You can label it, show it as an icon, text\nor both, offer a second file alongside it, and show how many times each track\nhas been downloaded.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>The plugin icon now shows on the Plugins and Dashboard - Updates screens instead of a placeholder.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>The actions button no longer appears when both downloads and share are off \u2014 it used to open an empty bubble.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Narrow columns: the volume slider now hides by column width, not viewport width, so the actions button stops wrapping to a second line in a narrow Elementor column.<\/li>\n<li>Radial preset: download\/share collapse behind the actions button like every other preset, so nothing spills outside the card at small sizes.<\/li>\n<li>Radial preset: artwork vertical position slider now applies (and shows up in the Elementor widget).<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>First release on WordPress.org.<\/li>\n<\/ul>","raw_excerpt":"Glass-style audio player with animated visualizer. Gutenberg block, Elementor widget and shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=357196"}],"author":[{"embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tomsgl"}],"wp:attachment":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357196"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357196"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357196"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357196"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357196"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}