Giter Site home page Giter Site logo

10up / retro-winamp-block Goto Github PK

View Code? Open in Web Editor NEW
32.0 49.0 6.0 6.99 MB

A Winamp-styled audio block for all your retro music player needs.

Home Page: https://wordpress.org/plugins/retro-winamp-block

License: GNU General Public License v2.0

PHP 13.01% JavaScript 82.77% SCSS 3.73% Shell 0.50%
webamp winamp mp3 music audio player playlist equalizer wordpress block

retro-winamp-block's Introduction

Winamp Block for WordPress

A Winamp-styled audio block for all your retro music player needs.

Support Level Release Version WordPress tested up to version GPLv2 License

E2E test JS and CSS lint PHPCS PHP Compatibility

Overview

Do you miss the days of filling up your computer's harddrive with MP3 files, burning CDs with your favorite party mixes, the glam and grunge fashion styles, waiting every week for the latest episodes of Friends and Sex and the City (sorry, no binging on streaming episodes), and all that came with the 90s? Do you wish the WordPress core blocks offered you more styles to match your interests? Then look no further, because this plugin transforms a bland audio block into a llama-riffic Winamp-stlyed audio block!

Disclaimer: Winamp and the Winamp logo are property of Nullsoft Inc. and its owner Radionomy Group (now defunct). This project also leverages the MIT-licensed Webamp player, many thanks to Jordan Eldredge for his efforts there.

Winamp Block

Winamp Milkdrop visualisations

Requirements

Installation

  1. Install the plugin via the plugin installer, either by searching for it or uploading a ZIP file.
  2. Activate the plugin.
  3. Use a Winamp-styled audio player block on your site; what retro fun!

Changing Player Skins

There are four default skins included in the plugin, these can be selected via the visual options in the "Winamp Player Skin" block sidebar option.

Winamp player skin selector

In order to select alternate player skins, browse the Winamp Skin Museum and find a preferred skin, copy the URL of the specific skin (e.g., https://skins.webamp.org/skin/bb0bf8064d108271afea419308dcb6ea/NES_Duck_Hunt.wsz/), enable the "Use Custom Skin?" option, and paste the URL in the Skin URL field in the Winamp Block Skin settings.

Winamp Block settings

Frequently Asked Questions

This is amazing, how can I help contribute to this plugin?

Great question and I could not agree with you more! You can help contribute to this Winamp Block plugin on GitHub or to the Webamp project on GitHub.

Ok this is making me nostalgic, how can I submit a new skin for the player?

Details on how to create a new skin is available here. We recommend downloading the base Winamp skin, renaming the file extension from .WSZ to .ZIP, unzipping that file and inspecting all the bitmap and textfiles. Then use your favorite design program to craft a skin design, cut it up into the component bitmap parts, add your info to the relevant textfiles, then ZIP all that up and rename the extension to WSZ. Finally, upload your custom skin to the Winamp Skin Museum and once its accepted you'll be able to reference it within the Winamp Block's Skin settings. Good luck!

Support Level

Stable: 10up is not planning to develop any new features for this, but will still respond to bug reports and security concerns. We welcome PRs, but any that include new features should be small and easy to integrate and should not include breaking changes. We otherwise intend to keep this tested up to the most recent version of WordPress.

Changelog

A complete listing of all notable changes to Winamp Block for WordPress are documented in CHANGELOG.md.

Contributing

Please read CODE_OF_CONDUCT.md for details on our code of conduct, CONTRIBUTING.md for details on the process for submitting pull requests to us, and CREDITS.md for a listing of maintainers of, contributors to, and libraries used by Winamp Block for WordPress.

Like what you see?

Work with us at 10up

retro-winamp-block's People

Contributors

barneyjeffries avatar cadic avatar dependabot[bot] avatar dinhtungdu avatar dkotter avatar fabiankaegy avatar faisal-alvi avatar iamdharmesh avatar iansvo avatar jayedul avatar jeffpaul avatar kmgalanakis avatar mitogh avatar peterwilsoncc avatar psorensen avatar ravinderk avatar sidsector9 avatar zamanq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retro-winamp-block's Issues

Craft custom Winamp skin, submit to Winamp Museum

Base set of skins via Winamp Skin Museum:

Inspiration for custom skin(s):

Details on creating skins:

Easiest approach is probably extracting an existing skin, seeing what components it is made with, and then ensuring we're able to cut up any custom design into those relevant components (which are described in the two PDFs above).

Improve the content blocking view of Winamp block

Describe the bug

There are couple of items that can be improved with Winamp block:

  • With Winamp block in admin, when I click on "Preview Player" then the player always sticks to the top making it really hard for the first time user to get back to normal player mode until the user refreshes the page or try scrolling as the player it sticked at the top scrolling helps to show the option and then we can change it to normal player mode from preview. The editorial experience around this needs some improvement See screenshot: Screenshot 2023-01-22 at 7 52 21 AM
  • The player in the frontend looks good. However, I feel there are couple of things that might need improvement:
    • The player buttons looks disabled irrespective of it being enabled/disabled
    • The player can be moved around on the page overlapping the content but that leaves a space where it was originally placed. So, wondering if moving around of player is a feature then can we make the whitespace to be moved around along with it? πŸ’­

Screenshot 2023-01-22 at 8 00 36 AM

Note: I think all the items I mentioned should not be a problem. But, just wanted to add my experience being a new user.

Steps to Reproduce

  1. Add a Winamp block
  2. Add some other paragraph block with some content
  3. Click on "Preview" to preview the Winamp block
  4. You will see there is no way to go back to the editing of Winamp block

Screenshots, screen recording, code snippet

No response

Environment information

No response

WordPress information

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Add phpcs config file to project.

Is your enhancement related to a problem? Please describe.

To allow for IDEs to pick up the phpcs config automatically, it would be lovely to add a .phpcs.xml.dist file to the root directory.

From 10up/simple-page-ordering

<?xml version="1.0"?>
<ruleset name="Project Rules">
	<rule ref="10up-Default" />
</ruleset>

Designs

N/A

Describe alternatives you've considered

N/A

Code of Conduct

  • I agree to follow this project's Code of Conduct

Update Support Level from Active to Stable

Is your enhancement related to a problem? Please describe.

Once the following are completed:

... we can then work to update the support level for this plugin from Active to Stable as we can generally consider the optimal feature set of the plugin complete. Tasks to complete this change:

Designs

n/a

Describe alternatives you've considered

n/a

Code of Conduct

  • I agree to follow this project's Code of Conduct

Console error in the Editor and FE when previewing the Winamp Player

Describe the bug

Once I add the Winamp Block in the editor and try to preview the Winamp Player in the editor I get a few console errors.

Steps to Reproduce

  • Add the Winamp Block to the page/post in the editor.
  • Add audio to the Winamp Block
  • Click on Preview Player option in the block toolbar
  • You can now see the console error in your browser console window.

Screenshots, screen recording, code snippet

Screen Recording:
https://share.getcloudapp.com/lluE8rB1

Editor:
Screenshot 2022-04-20 at 4 08 54 PM

Front End:
Screenshot 2022-04-20 at 4 09 20 PM

Environment information

Macbook: 12.3.1
Google Chrome: Version 100.0.4896.127 (Official Build) (x86_64)

WordPress information

`

wp-core

version: 5.9.3
site_language: en_US
user_language: en_US
timezone: +00:00
permalink: /%postname%/
https_status: true
multisite: false
user_registration: 0
blog_public: 1
default_comment_status: open
environment_type: production
user_count: 1
dotorg_communication: true

wp-paths-sizes

wordpress_path: /var/www/html
wordpress_size: loading...
uploads_path: /var/www/html/wp-content/uploads
uploads_size: loading...
themes_path: /var/www/html/wp-content/themes
themes_size: loading...
plugins_path: /var/www/html/wp-content/plugins
plugins_size: loading...
database_size: loading...
total_size: loading...

wp-dropins (1)

db.php: true

wp-active-theme

name: Twenty Twenty-One (twentytwentyone)
version: 1.4 (latest version: 1.5)
author: the WordPress team
author_website: https://wordpress.org/
parent_theme: none
theme_features: core-block-patterns, widgets-block-editor, automatic-feed-links, title-tag, post-formats, post-thumbnails, menus, html5, custom-logo, customize-selective-refresh-widgets, wp-block-styles, align-wide, editor-styles, editor-style, editor-font-sizes, custom-background, editor-color-palette, editor-gradient-presets, responsive-embeds, custom-line-height, experimental-link-color, custom-spacing, custom-units, widgets
theme_path: /var/www/html/wp-content/themes/twentytwentyone
auto_update: Disabled

wp-themes-inactive (10)

10up Theme: version: 0.1.0, author: 10up, Auto-updates disabled
Astra: version: 3.7.3, author: Brainstorm Force (latest version: 3.7.10), Auto-updates disabled
Newspack Joseph: version: 1.50.0, author: Automattic, Auto-updates disabled
Newspack Katharine: version: 1.50.0, author: Automattic, Auto-updates disabled
Newspack Nelson: version: 1.50.0, author: Automattic, Auto-updates disabled
Newspack Sacha: version: 1.50.0, author: Automattic, Auto-updates disabled
Newspack Scott: version: 1.50.0, author: Automattic, Auto-updates disabled
Newspack: version: 1.50.0, author: Automattic, Auto-updates disabled
Twenty Twenty: version: 1.8, author: the WordPress team (latest version: 1.9), Auto-updates disabled
Twenty Twenty-Two: version: 1.1, author: the WordPress team, Auto-updates disabled

wp-mu-plugins (1)

10up Plugin Scaffold: version: 0.1.0, author: 10up

wp-plugins-active (6)

Ad Refresh Control: version: 1.0.5, author: 10up, Auto-updates disabled
ClassifAI: version: 1.7.0, author: 10up, Auto-updates disabled
Debug Bar: version: 1.1.2, author: wordpressdotorg, Auto-updates disabled
Insert Special Characters: version: 1.0.3, author: 10up (latest version: 1.0.4), Auto-updates disabled
Query Monitor: version: 3.8.1, author: John Blackbourn (latest version: 3.9.0), Auto-updates disabled
Retro Winamp Block: version: 1.0.1, author: 10up, Auto-updates disabled

wp-plugins-inactive (6)

Akismet Anti-Spam: version: 4.1.12, author: Automattic (latest version: 4.2.2), Auto-updates disabled
Block for Apple Maps: version: 1.0.1, author: 10up (latest version: 1.0.2), Auto-updates disabled
Hello Dolly: version: 1.7.2, author: Matt Mullenweg, Auto-updates disabled
Insecure Content Warning: version: 1.0.0, author: 10up (latest version: 1.0.1), Auto-updates disabled
Publisher Media Kit: version: 1.0.0, author: 10up (latest version: 1.1.0), Auto-updates disabled
Simple Podcasting: version: 1.2.0, author: 10up (latest version: 1.2.2), Auto-updates disabled

wp-media

image_editor: WP_Image_Editor_Imagick
imagick_module_version: 1692
imagemagick_version: ImageMagick 6.9.12-19 Q16 x86_64 2021-07-18 https://imagemagick.org
imagick_version: 3.5.1
file_uploads: File uploads is turned off
post_max_size: 150m
upload_max_filesize: 150m
max_effective_size: 150 MB
max_file_uploads: 20
imagick_limits:
imagick::RESOURCETYPE_AREA: 12 GB
imagick::RESOURCETYPE_DISK: 9.2233720368548E+18
imagick::RESOURCETYPE_FILE: 786432
imagick::RESOURCETYPE_MAP: 12 GB
imagick::RESOURCETYPE_MEMORY: 6 GB
imagick::RESOURCETYPE_THREAD: 1
imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV
gd_version: 2.2.5
gd_formats: GIF, JPEG, PNG, WebP, BMP, XPM
ghostscript_version: not available

wp-server

server_architecture: Linux 5.10.76-linuxkit x86_64
httpd_software: nginx/1.21.1
php_version: 7.3.29 64bit
php_sapi: fpm-fcgi
max_input_variables: 1000
time_limit: 30
memory_limit: 128M
admin_memory_limit: 256M
max_input_time: 60
upload_max_filesize: 150m
php_post_max_size: 150m
curl_version: 7.61.1 OpenSSL/1.1.1g
suhosin: false
imagick_availability: true
pretty_permalinks: true

wp-database

extension: mysqli
server_version: 10.3.32-MariaDB-1:10.3.32+maria~focal
client_version: mysqlnd 5.0.12-dev - 20150407 - $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $
max_allowed_packet: 16777216
max_connections: 100

wp-constants

WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /var/www/html/wp-content
WP_PLUGIN_DIR: /var/www/html/wp-content/plugins
WP_MEMORY_LIMIT: 40M
WP_MAX_MEMORY_LIMIT: 256M
WP_DEBUG: false
WP_DEBUG_DISPLAY: true
WP_DEBUG_LOG: false
SCRIPT_DEBUG: false
WP_CACHE: false
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_ENVIRONMENT_TYPE: Undefined
DB_CHARSET: utf8
DB_COLLATE: undefined

wp-filesystem

wordpress: writable
wp-content: writable
uploads: writable
plugins: writable
themes: writable
mu-plugins: writable

classifai

0: 1.7.0
1: no
2: undefined
3:
Configured: no
API URL:
API username:
Post types:
Features: {"category":null, "keyword":null, "entity":null, "concept":null}
Latest response: N/A
4:
Authenticated: no
API URL:
Caption threshold: 75
Latest response - Image Scan: N/A
Latest response - Smart Cropping: N/A
Latest response - OCR: N/A

`

Code of Conduct

  • I agree to follow this project's Code of Conduct

Release version 1.0.0

This issue is for tracking changes for the 1.0.0 release. Target release date: 18 November 2021.

Pre-release steps

  • Review/update/merge: #19
  • #3

Release steps

  • Branch: Starting from develop, cut a release branch named release/1.0.0 for your changes.
  • Version bump: Bump the version number in webamp-block.php, readme.txt, and package.json if it does not already reflect the version being released. Update both the plugin "Version:" property and the plugin WEBAMP_BLOCK_VERSION constant in webamp-block.php.
  • Changelog: Add/update the changelog in CHANGELOG.md and readme.txt.
  • Props: update CREDITS.md file with any new contributors, confirm maintainers are accurate.
  • New files: Check to be sure any new files/paths that are unnecessary in the production version are included in .distignore.
  • Readme updates: Make any other readme changes as necessary. README.md is geared toward GitHub and readme.txt contains WordPress.org-specific content. The two are slightly different.
  • Merge: Make a non-fast-forward merge from your release branch to develop (or merge the pull request), then do the same for develop into trunk (git checkout trunk && git merge --no-ff develop). trunk contains the stable development version.
  • Push: Push your trunk branch to GitHub (e.g. git push origin trunk).

PAUSE, EXHALE

  • Rename repo to retro-winamp-block, make repo public, re-enable GitHub Actions, double-check release instructions are accurate to new file names noting we can likely remove Wait For Build step, and ensure all actions that get triggered are passing :woot:
  • Release: Create a new release, naming the tag and the release with the new version number, and targeting the trunk branch. Paste the changelog from CHANGELOG.md into the body of the release and include a link to the closed issues on the milestone.
  • SVN: Wait for the GitHub Action to finish deploying to the WordPress.org repository. If all goes well, users with SVN commit access for that plugin will receive an emailed diff of changes.
  • Check WordPress.org: Ensure that the changes are live on https://wordpress.org/plugins/retro-winamp-block/. This may take a few minutes.
  • Close milestone: Edit the milestone with release date (in the Due date (optional) field) and link to GitHub release (in the Description field), then close the milestone.
  • Punt incomplete items: If any open issues or PRs which were milestoned for 1.0.0 do not make it into the release, update their milestone to1.1.0 or Future Release.

Webamp player can move around the page, some issues stem from that

Is your enhancement related to a problem? Please describe.
From @dkotter in #6:

The WinAmp player is meant to be moved around the page, which is fine though does get weird in the admin (I don't see any option to turn this off). But currently having a bigger issue (I'm guessing some styling conflict with core Gutenberg styles) where the player scrolls with the window. This needs fixed but I couldn't figure it out

Describe the solution you'd like
Review the work in #6, the current state of the develop branch, and what approach should (if any) be taken to resolve this issue.

Designs

Describe alternatives you've considered

Additional context

Upgrade Cypress to version 13

Is your enhancement related to a problem? Please describe.

Cypress 13 was recently released, and Cypress 12 contains some breaking changes as listed below. We need to update our tests to make them work with the latest version and fix any issues that may arise.

  • Upgrade cypress to 13.0.0 (or latest version at the time of working on this)
  • Upgrade @10up/cypress-wp-utils to 0.2.0
  • Replace legacy API usage such as Cookies.defaults with the new replacements.

Breaking changes we need to be aware of

  • Cypress dropped support for Node.js 12
  • In Cypress 12, we enforce running tests in a clean browser context through test isolation.
  • The Cookies.defaults and Cookies.preserveOnce APIs have been removed. Use the new cy.session() command to preserve cookies between tests.

Designs

No response

Describe alternatives you've considered

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

preview doesn't work anymore

Describe the bug

PR #56 introduced a minor bug which prevents the player from being visible during 'Preview'.

Steps to Reproduce

  1. Switch to develop.
  2. Add the Winamp block and click preview.
  3. Notice the player is not visible.

Screenshots, screen recording, code snippet

No response

Environment information

No response

WordPress information

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Generate plugin assets

Could play off Winamp historical design and utilize a ⚑ icon within the plugin assets:

  • banner-1544x500.(jpg|png)
  • banner-772x250.(jpg|png)
  • icon-256x256.(png|jpg)
  • icon-128x128.(png|jpg)
  • icon.svg
  • opengraph-1280Γ—640.(png|jpg)
  • screenshot-1.(png|jpg)
  • screenshot-2.(png|jpg)

page loading at the bottom

Describe your question

hi thanks so much for this plugin! I'm coming across an issue of my page loading at the bottom (where the player is located) but I need the page to load at the top. Do you know what I could do to fix this?

Code of Conduct

  • I agree to follow this project's Code of Conduct

Test against WordPress 5.9

Is your enhancement related to a problem? Please describe.

Describe the solution you'd like

  • test WP New Relic on WordPress 5.9
  • open issues for any incompatibilities noted in testing
  • resolve issues identified in testing
  • bump "tested up to" version
  • if code changes needed due to incompatibilities, ship a plugin release, otherwise use "Plugin asset/readme update" action to update "tested up to" version on .org repo

Designs
n/a

Describe alternatives you've considered
None

Additional context

Improve UX on playing audio files

Is your enhancement related to a problem? Please describe.
From @dkotter in #6:

Some weirdness between the audio blocks and the WebAmp player, where if you click the start button on the Audio block it seems to start the player instead (which may be fine) and if you remove an Audio block, it sometimes starts playing the next song in the player

Describe the solution you'd like
Review the work in #6, the current state of the develop branch, and what approach should (if any) be taken to resolve this issue.

Designs

Describe alternatives you've considered

Additional context

When should the Webamp player load?

Is your enhancement related to a problem? Please describe.
From @dkotter in #6:

I had debated on when the WebAmp player should load: if we only show that when the block isn't selected; if we have a preview toggle like some other core blocks use that renders that; some other approach? Right now that will render as soon as media items have been added, whether the block is selected or not. Need to decide if that is the right approach

Describe the solution you'd like
Review the work in #6, the current state of the develop branch, and what approach should (if any) be taken to resolve this issue.

Designs

Describe alternatives you've considered

Additional context

Release 1.3.0

Is your enhancement related to a problem? Please describe.

This issue is for tracking changes for the 1.3.0 release. Target release date: TBD.

  • Branch: Starting from develop, cut a release branch named release/1.3.0 for your changes.
  • Version bump: Bump the version number in package-lock.json, package.json, readme.txt, and retro-winamp-block.php if it does not already reflect the version being released.
  • Changelog: Add/update the changelog in CHANGELOG.md and readme.txt.
  • Props: update CREDITS.md with any new contributors, confirm maintainers are accurate.
  • New files: Check to be sure any new files/paths that are unnecessary in the production version are included in .distignore.
  • Readme updates: Make any other readme changes as necessary. README.md is geared toward GitHub and readme.txt contains WordPress.org-specific content. The two are slightly different.
  • Merge: Make a non-fast-forward merge from your release branch to develop (or merge the pull request), then do the same for develop into trunk (git checkout trunk && git merge --no-ff develop). trunk contains the stable development version.
  • Test: Run through common tasks while on trunk to be sure it functions correctly. Don't forget to build.
  • Push: Push your trunk branch to GitHub (e.g. git push origin trunk).
  • Test the pre-release ZIP locally by downloading it from the Build release zip action artifact to ensure the plugin doesn't break after release.
  • Release: Create a new release, naming the tag and the release with the new version number, and targeting the trunk branch. Paste the changelog from CHANGELOG.md into the body of the release and include a link to the closed issues on the milestone.
  • SVN: Wait for the GitHub Action to finish deploying to the WordPress.org repository. If all goes well, users with SVN commit access for that plugin will receive an emailed diff of changes.
  • Check WordPress.org: Ensure that the changes are live on https://wordpress.org/plugins/retro-winamp-block/. This may take a few minutes.
  • Close the milestone: Edit the X.Y.Z milestone with release date (in the Due date (optional) field) and link to GitHub release (in the Description field), then close the milestone.
  • Punt incomplete items: If any open issues or PRs which were milestoned for X.Y.Z do not make it into the release, update their milestone to 2.0.0, 1.4.0, 1.3.1, or Future Release

Code of Conduct

  • I agree to follow this project's Code of Conduct

Release version 1.0.1

This issue is for tracking changes for the 1.0.1 release. Target release date: 8 December 2021.

Pre-release steps

  • n/a

Release steps

  • Branch: Starting from develop, cut a release branch named release/1.0.1 for your changes.
  • Version bump: Bump the version number in package-lock.json, package.json, readme.txt, and retro-webamp-block.php if it does not already reflect the version being released.
  • Changelog: Add/update the changelog in CHANGELOG.md and readme.txt.
  • Props: update CREDITS.md file with any new contributors, confirm maintainers are accurate.
  • New files: Check to be sure any new files/paths that are unnecessary in the production version are included in .distignore.
  • Readme updates: Make any other readme changes as necessary. README.md is geared toward GitHub and readme.txt contains WordPress.org-specific content. The two are slightly different.
  • Merge: Make a non-fast-forward merge from your release branch to develop (or merge the pull request), then do the same for develop into trunk (git checkout trunk && git merge --no-ff develop). trunk contains the stable development version.
  • Push: Push your trunk branch to GitHub (e.g. git push origin trunk).
  • Release: Create a new release, naming the tag and the release with the new version number, and targeting the trunk branch. Paste the changelog from CHANGELOG.md into the body of the release and include a link to the closed issues on the milestone.
  • SVN: Wait for the GitHub Action to finish deploying to the WordPress.org repository. If all goes well, users with SVN commit access for that plugin will receive an emailed diff of changes.
  • Check WordPress.org: Ensure that the changes are live on https://wordpress.org/plugins/retro-winamp-block/. This may take a few minutes.
  • Close milestone: Edit the milestone with release date (in the Due date (optional) field) and link to GitHub release (in the Description field), then close the milestone.
  • Punt incomplete items: If any open issues or PRs which were milestoned for 1.0.1 do not make it into the release, update their milestone to1.1.0 or Future Release.

Release version 1.3.1

This issue is for tracking changes for the 1.3.1 release. Target release date: October 2023.

  • Branch: Starting from develop, cut a release branch named release/1.3.1 for your changes.
  • Version bump: Bump the version number in package-lock.json, package.json, readme.txt, and retro-winamp-block.php if it does not already reflect the version being released.
  • Changelog: Add/update the changelog in CHANGELOG.md and readme.txt.
  • Props: update CREDITS.md with any new contributors, confirm maintainers are accurate.
  • New files: Check to be sure any new files/paths that are unnecessary in the production version are included in .distignore.
  • Readme updates: Make any other readme changes as necessary. README.md is geared toward GitHub and readme.txt contains WordPress.org-specific content. The two are slightly different.
  • Merge: Make a non-fast-forward merge from your release branch to develop (or merge the pull request), then do the same for develop into trunk ensuring you pull the most recent changes into develop first (git checkout develop && git pull origin develop && git checkout trunk && git merge --no-ff develop). trunk contains the stable development version.
  • Push: Push your trunk branch to GitHub (e.g. git push origin trunk).
  • Compare trunk to develop to ensure no additional changes were missed.
  • Test the pre-release ZIP locally by downloading it from the Build release zip action artifact to ensure the plugin doesn't break after release.
  • Release: Create a new release, naming the tag and the release with the new version number, and targeting the trunk branch. Paste the changelog from CHANGELOG.md into the body of the release and include a link to the closed issues on the milestone.
  • SVN: Wait for the GitHub Action to finish deploying to the WordPress.org repository. If all goes well, users with SVN commit access for that plugin will receive an emailed diff of changes.
  • Check WordPress.org: Ensure that the changes are live on https://wordpress.org/plugins/retro-winamp-block/. This may take a few minutes.
  • Close the milestone: Edit the 1.3.1 milestone with release date (in the Due date (optional) field) and link to GitHub release (in the Description field), then close the milestone.
  • Punt incomplete items: If any open issues or PRs which were milestoned for 1.3.1 do not make it into the release, update their milestone to 1.3.2, 1.4.0, or Future Release

Improve UX for initial loading on site frontend

Is your enhancement related to a problem? Please describe.
From @dkotter in #6:

On the FE, right now it renders out the audio players and then those get replaced with the WebAmp player. Thinking some basic styling here where those players get hidden and maybe some sort of placeholder container, so once the player loads in it's not shifting the page contents around

Describe the solution you'd like
Review the work in #6, the current state of the develop branch, and what approach should (if any) be taken to resolve this issue.

Designs

Describe alternatives you've considered

Additional context

Add ability to change skin on player

Is your enhancement related to a problem? Please describe.
This is probably best left as a block setting and not something we'd need to worry about supporting on the site front-end. We should be able to test with available skins in the Winamp Skin Museum, but will want to determine if the way the webamp player works is that it expects skins to be in the Winamp Skin Museum or if they can be provided from within the same domain that the webamp player is rendered on (i.e., the site this plugin will be installed on and thus whether the plugin needs to be bundled with the skins or if the skins can be selected / linked from the Winamp Skin Museum).

Describe the solution you'd like

  • figure out how to switch a skin within the current player
  • figure out whether skins have to be on the remote Winamp Skin Museum, have to be available on the same domain the webamp player is rendered on, or both (or something else perhaps?)
  • figure out how to allow a custom skin to be displayed on the player if we're unable to get our custom skin added to the Winamp Skin Museum

Designs
See #1

Describe alternatives you've considered
Only provide initial support for a single, default skin.

Additional context
n/a

Default block considerations

Is your enhancement related to a problem? Please describe.

As discussed in #116 (comment) (and further in that PR), let's discuss the following:

  • updating default from Audio List to Preview Player within the editor so that an author/editor can see how the player would load on the frontend?
  • determine if that Audio List / Preview Player toggle is better handled outside the block toolbar and instead in the block sidebar panel settings pane?

Designs

n/a

Describe alternatives you've considered

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Release 1.2.0

This issue is for tracking changes for the 1.2.0 release. Target release date: 25th January 2023.

  • Branch: Starting from develop, cut a release branch named release/1.2.0 for your changes.
  • Version bump: Bump the version number in package-lock.json, package.json, readme.txt, and retro-winamp-block.php if it does not already reflect the version being released.
  • Changelog: Add/update the changelog in CHANGELOG.md and readme.txt.
  • Props: update CREDITS.md with any new contributors, confirm maintainers are accurate.
  • New files: Check to be sure any new files/paths that are unnecessary in the production version are included in .distignore.
  • Readme updates: Make any other readme changes as necessary. README.md is geared toward GitHub and readme.txt contains WordPress.org-specific content. The two are slightly different.
  • Merge: Make a non-fast-forward merge from your release branch to develop (or merge the pull request), then do the same for develop into trunk (git checkout trunk && git merge --no-ff develop). trunk contains the stable development version.
  • Test: Run through common tasks while on trunk to be sure it functions correctly. Don't forget to build.
  • Push: Push your trunk branch to GitHub (e.g. git push origin trunk).
  • Test the pre-release ZIP locally by downloading it from the Build release zip action artifact to ensure the plugin doesn't break after release.
  • Release: Create a new release, naming the tag and the release with the new version number, and targeting the trunk branch. Paste the changelog from CHANGELOG.md into the body of the release and include a link to the closed issues on the milestone.
  • SVN: Wait for the GitHub Action to finish deploying to the WordPress.org repository. If all goes well, users with SVN commit access for that plugin will receive an emailed diff of changes.
  • Check WordPress.org: Ensure that the changes are live on https://wordpress.org/plugins/retro-winamp-block/. This may take a few minutes.
  • Close the milestone: Edit the X.Y.Z milestone with release date (in the Due date (optional) field) and link to GitHub release (in the Description field), then close the milestone.
  • Punt incomplete items: If any open issues or PRs which were milestoned for X.Y.Z do not make it into the release, update their milestone to 2.0.0, 1.3.0, 1.2.1, or Future Release

Designs

No response

Describe alternatives you've considered

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Block crashes after selecting audio file(s)

Describe the bug
After inserting the block and picking one or more audio files, I get the dreaded "this block has encountered an error" message and TypeError: l.__experimentalUseInnerBlocksProps is not a function in my console. I have a feeling this is related to my particular install, specifically that I am on WP nightly and perhaps because I have Gutenberg active.

Steps to Reproduce

  1. Insert Winamp block
  2. Choose one or more items from the media library
  3. See errors

Expected behavior
A working block :)

Screenshots

Environment information

  • Device: Mac Mini
  • OS: MacOS 11.6
  • Browser and version: Firefox 95.0b4
  • WordPress version: Nightly (currently 5.9-alpha-52211)
  • Plugins and version: Gutenberg 11.9.1
  • Theme and version: Tove (FSE)
  • Site Health Info:

Additional context

Release version 1.1.0

Describe your question

This issue is for tracking changes for the 1.1.0 release. Target release date: 8 December 2021.

Release steps

  • Branch: Starting from develop, cut a release branch named release/1.1.0 for your changes.
  • Version bump: Bump the version number in package-lock.json, package.json, readme.txt, and retro-webamp-block.php if it does not already reflect the version being released.
  • Changelog: Add/update the changelog in CHANGELOG.md and readme.txt.
  • Props: update CREDITS.md file with any new contributors, confirm maintainers are accurate.
  • New files: Check to be sure any new files/paths that are unnecessary in the production version are included in .distignore.
  • Readme updates: Make any other readme changes as necessary. README.md is geared toward GitHub and readme.txt contains WordPress.org-specific content. The two are slightly different.
  • Merge: Make a non-fast-forward merge from your release branch to develop (or merge the pull request), then do the same for develop into trunk (git checkout trunk && git merge --no-ff develop). trunk contains the stable development version.
  • Push: Push your trunk branch to GitHub (e.g. git push origin trunk).
  • Release: Create a new release, naming the tag and the release with the new version number, and targeting the trunk branch. Paste the changelog from CHANGELOG.md into the body of the release and include a link to the closed issues on the milestone.
  • SVN: Wait for the GitHub Action to finish deploying to the WordPress.org repository. If all goes well, users with SVN commit access for that plugin will receive an emailed diff of changes.
  • Check WordPress.org: Ensure that the changes are live on https://wordpress.org/plugins/retro-winamp-block/. This may take a few minutes.
  • Close milestone: Edit the milestone with release date (in the Due date (optional) field) and link to GitHub release (in the Description field), then close the milestone.
  • Punt incomplete items: If any open issues or PRs which were milestoned for 1.1.0 do not make it into the release, update their milestone to1.2.0 or Future Release.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Test against WordPress 6.0

Is your enhancement related to a problem? Please describe.
Once WordPress 6.0 is released, we'll want to test Retro Winamp Block to see if any incompatibility issues arise.

Describe the solution you'd like

  • test Retro Winamp Block on WordPress 6.0
  • open issues for any incompatibilities noted in testing
  • resolve issues identified in testing
  • bump "tested up to" version
  • if code changes needed due to incompatibilities, ship a plugin release, otherwise use "Plugin asset/readme update" action to update "tested up to" version on .org repo

Designs
n/a

Describe alternatives you've considered
none

Additional context
Related: #34

Unable to save the post in WordPress 5.8

Describe the bug

When WinAmp plugin is active, the post could not be saved in WordPress 5.8 with the error Publishing failed.

Also, it's not possible to open any existing post for edit:

There has been a critical error on this website. Please check your site admin email inbox for instructions.

Works fine with the current WordPress 6.1.1 and 6.2-RC

Steps to Reproduce

  1. Set up WordPress 5.8
  2. Install Retro WinAmp Block 1.2.0
  3. Try to create new post

Screenshots, screen recording, code snippet

WinAmp.save.post.mp4

Environment information

No response

WordPress information

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Add PHP8 Compatibility testing workflow

Is your enhancement related to a problem? Please describe.

  • Add workflow for PHP8 Compatibility testing
  • Perform a round of manual testing to verify the plugin doesn't break on PHP8

Designs

No response

Describe alternatives you've considered

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Add block preview

Is your enhancement related to a problem? Please describe.
Clicking the + (Toggle block inserter) in the top left of the block editor and searching for Webamp you see the block and its associated description but a blank preview.

Screen Shot 2021-11-15 at 3 42 33 PM

Describe the solution you'd like
Could we generate a preview image showing the base Winamp player to use in that slot (maybe just the player window and not the associated equalizer and playlist windows)?

Designs

Describe alternatives you've considered

Additional context

Bump WordPress and PHP minimums

Bump WP & PHP Minimums to the following

  • WordPress to 5.7
  • PHP to 7.4
  • Remove any no-longer-needed conditional code for older version support.
  • Take a look at adjusting our testing matrices, if applicable.
  • Bump the minimums in plugin documentation and header fields.

Add support for drag and drop

Is your enhancement related to a problem? Please describe.
From @dkotter in #6:

Drag and drop of media items isn't working properly. They upload fine but it breaks the block

Describe the solution you'd like
Review the work in #6, the current state of the develop branch, and what approach should (if any) be taken to resolve this issue.

Designs

Describe alternatives you've considered

Additional context

Improve audio file selection for the playlist

Is your enhancement related to a problem? Please describe.
From @dkotter in #6:

You can currently select multiple audio files but you have to do the command+click or shift+click, otherwise it deselects whatever you have. There is an audio playlist media modal but as far as I can tell, that is not supported yet in the mediaPlaceholder component (you can get to this flow using the Classic block). This may be as good as it gets until support is added for that

Describe the solution you'd like
Review the work in #6, the current state of the develop branch, and what approach should (if any) be taken to resolve this issue. This may require some upstream work in Gutenberg to enable further progress on this issue.

Designs

Describe alternatives you've considered

Additional context

Running PHP 5.6 the plugin fatals before the PHP requirements check runs

Describe the bug

The plugin includes a requirements check to ensure the PHP version installed is above PHP 7.4

Due to the return type definition on the function for the minimum supported version of PHP the plugin throws a fatal error on older versions of PHP

function minimum_php_requirement(): string {
return '7.4';
}

I suggest:

  • Removing the type hinting on the version check functions
  • Moving the main functionality of the plugin to another file
  • Only including the plugin functionality if the version check passes

Steps to Reproduce

  1. Activate the plugin running WP 6.2 and PHP 7.4
  2. Change the version of PHP to 5.6
  3. Reload the WP dashboard
  4. Observe the fatal error

Screenshots, screen recording, code snippet

[19-Sep-2023 00:16:41 UTC] PHP Parse error:  syntax error, unexpected ':', expecting '{' in /vagrant/content/plugins/retro-winamp-block/retro-webamp-block.php on line 27
[19-Sep-2023 00:16:41 UTC] PHP Stack trace:
[19-Sep-2023 00:16:41 UTC] PHP   1. {main}() /vagrant/wp-build/wp-admin/plugins.php:0
[19-Sep-2023 00:16:41 UTC] PHP   2. require_once() /vagrant/wp-build/wp-admin/plugins.php:10
[19-Sep-2023 00:16:41 UTC] PHP   3. require_once() /vagrant/wp-build/wp-admin/admin.php:34
[19-Sep-2023 00:16:41 UTC] PHP   4. require_once() /vagrant/wp-build/wp-load.php:55
[19-Sep-2023 00:16:41 UTC] PHP   5. require_once() /vagrant/wp-config.php:146

Environment information

No response

WordPress information

WordPress 6.2
PHP 5.6

Code of Conduct

  • I agree to follow this project's Code of Conduct

Setup Cypress for E2E testing

Is your enhancement related to a problem? Please describe.

See overall concept in the OSBP guide and example setups on Simple Podcasting, Restricted Site Access, and 10up/ElasticPress#2446.

Describe the solution you'd like

  • add base GitHub Action
  • add .wp-env.json
  • add base docker files
  • update package.json / package lock files
  • add cypress tests
  • remove any WP Acceptance components

Designs

n/a

Describe alternatives you've considered

n/a

Additional context

https://github.com/10up/cypress-wp-setup/ && https://github.com/10up/cypress-wp-utils will be helpful in getting this spun up and some initial test commands to leverage.

add support for Milkdrop visualizations

Is your enhancement related to a problem? Please describe.

As noted by Justin Tadlock here: https://wptavern.com/a-throwback-to-the-past-retro-winamp-block?utm_source=rss&utm_medium=rss&utm_campaign=a-throwback-to-the-past-retro-winamp-block

If I had one wish for this plugin, it would be to see the addition of Milkdrop, the popular Winamp visualizer add-on.

We'll need to assess if this is available in Webamp and how that might render on mobile layouts, plus how you might change the various visualizations available (and whether that might be another block setting or not).

Designs

image

Describe alternatives you've considered

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Updated playlist handling via new custom block or styling existing "core" playlist block

Is your enhancement related to a problem? Please describe.
From @dkotter in #6:

Do we want to style the individual Audio blocks differently? I'd love to have these show up more as a playlist, with song title and artist but currently the Audio block doesn't store that information. This could be a reason to add our own custom block instead of using the core block (otherwise maybe some filtering would be needed)

Describe the solution you'd like
Review the work in #6, the current state of the develop branch, and what approach should (if any) be taken to resolve this issue.

Designs

Describe alternatives you've considered

Additional context

General concept

Overview

Craft a plugin that styles the core audio block to make it look like the retro WinAmp player. Ship with a couple skins available to select as an option plus a custom color one (called β€œHelen” perhaps). Can use some sample MP3 files to test within the core Audio block. Uncertain if we'd be able to get super fancy and pull in components from the captbaritone/webamp project. An item to consider is whether this would affect the styling of ALL audio blocks on a site or just a specific audio block (in which case this would have to be what a block style specific to that audio block or even a new block altogether?).

Basic layout

Screen Shot 2021-11-03 at 2 17 31 PM

  • 1. Play / Pause buttons
  • 2. Time in (note two locations in main "window")
  • 3. Total time (note two locations, one in main "window" and second in playlist "window")
  • 4. Volume
  • 5. Loop (relates to existing Audio block Audio settings: Loop)
  • 6. Track name (no concept for this in existing block, would presumably show audio file "Title" or if a link to audio file then the "File name"?)
  • 7. Equalizer (note the two toggles, one in the main "window" that enables/disables, and the close/x in the equalizer "window" that disables) Could also have a block setting to show/hide this by default
  • 8. Playlist (note the two toggles, one in the main "window" that enables/disables, and the close/x in the playlist "window" that disables) Could also have a block setting to show/hide this by default

Uploading media file breaks the block

Describe the bug
From @dinhtungdu in #6 (review):

The block works with audio files in the library. But it doesn't work if I upload the media file directly. I think that should be fixed because it's a bug, other enhancements can be implemented later.

Steps to Reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

Screenshots

Environment information

  • Device:
  • OS:
  • Browser and version:
  • WordPress version:
  • Plugins and version:
  • Theme and version:
  • Site Health Info:

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.