0.3.2 - Feb 23
- Return to happy 0.2.9 times, with minor code tweaks.
0.3.0 / 0.3.1 - Jan 23
- Brave (but unsatisfactory) efforts to change initial sequence so that Supplied Mode only tests one file for each supplied file type --to improve loading times.
0.2.9 - Sep 22
- Bugfix: Initial sequence didn't work as intended after all. Async audio file tests could make MP choose the wrong format before they were done. Fixed (hopefully) with Promises.
- Fix: iPhones were halting execution during audio file test phase. Discovered that Safari doesn't emit canplay events when (just) loading the audio file of an audio element; it only goes as far as loadedmetadata.
- Minor code tweaks.
0.2.8 - Aug 22
- Simplified cleanup of Supplied Array, updated logs and messages.
0.2.7 - Apr 22
- Initial test sequence now works as intended.
- New event: Click on "current time" toggles to "remaining time".
- Added flag to make the removal of volume controls in mobile devices optional.
0.2.6 - Apr 22
- Minor tweaks.
- Bugfix: Track end of last track didn't check for the existence of mp-loop, only for mp-looped class.
- Changed shuffle algorithm to Sattolo's (pure random could produce no change.)
0.2.5 - Apr 22
- Added shuffle functionality.
- Optimized playlistClick(event);
0.2.4 - Mar 22
- Changed classes and variable names. Breaks previous HTML + CSS.
- mp-vslider-cnt -> mp-vol-cnt
- mp-vslider-bar -> mp-vol-bar
- mp-progress-cnt -> mp-seek-cnt
- mp-progress-bar -> mp-seek-bar
- mp-progress-percent -> mp-track-percent
- mp-pl-current -> mp-plist-current
- mp-repeat -> mp-loop
- warning -> mp-warning
- Some code optimization.
- Abandoned element.hidden strategy as it doesn't work with display: flex;
0.2.3 - Mar 22
- Reworked initial sequence of events, when MP checks audio files.
- Previous load system kept as "Supplied Mode".
- Added a "Free Mode" flag that ignores "supplied" property and allows a mixed-format playlist. The script must include the extension in the tracks.file property.
- Improved error messages and console logs.
- Added audio formats to "supplied" list: oga, m4b, m4r, opus and webm.
- Renamed a few variables and functions.
- element.hidden = true/false instead of element.style.display = 'none'/''
- Merged displayToken() and displayImage() in one function (displayToken).
- Bugfix: isMediaReady() -> now testMedia(): Moved audio element creation inside the loop.
Ref: Get extensions. Cut off extensions.
0.2.2 - Oct 21
- Added function to check all media files before showing the player.
- Show warning message if player not ready.
- Reworked initial sequence.
- Noob mistake: didn't need to calculate original display style, could just add inline style with element.style.display = 'none' and remove it after with element.style.display = ''. Good exercise, though.
- Because of that, went back to mp-text-play and mp-text-pause elements (shorter code in JS and HTML.)
- Failed to add buffering bar & percent display (various problems, forget.)
- Added a Volume Max function.
- If no title is provided, playlist file name now includes extension.
- Some code reduction.
0.2.1 - Oct 21
- Bugfix: Lyrics display was thrown off if the lyrics divs had more than one class.
- Renamed a few variables and class names.
- Bugfix: Change display styles failed if there were two players (or +) and one of them didn't feature mp-text- classes. Created external object plObj to asociate the original style of mp-play with the audio element's id.
- Merged mp-text-play & mp-text-pause into one mp-sit-rep, injected by two new playlist object properties, txt_pause and txt_play.
- Removed unnecessary (event) argument from controls.
- Made new function to choose audio format and file extension.
- Reworked controls' change-style functions.
- Changed a few variable names.
0.2.0 - Sep 21
- Improved updateVoData() to take heed of volume_format property when Muted.
- Changed volTxt (.mp-vol-text) to volNum (.mp-vol-number)
- Repurposed volTxt for a custom label when it's not convinient to use ::before & ::after selectors with mp-vol-number. The idea is to be able to remove the element when running on mobile.
- Reinstated .mp-plist-number for further flexibility.
- Optimized position of variables progressBar y volSliderBar (no longer faux global.)
- Created object of lyrics display styles, so that each lyrics element can be restored to its original state in updateLyrics().
- Changed some function names and calls.
0.1.1i - Sep 21
- Reworked style change of mutable controls by reading CSS display property.
- Reworked playlistClick().
- Minor code reductions.
- Moved "loading" message removal to initLoader();
- Changed a few function and variable names.
- Created erase() helper function.
- Improved array loops.
- Turned track properties into arrays (in case there's more than one instance of each in the HTML.) Affects:
- trackNumber
- trackTitle
- trackArtist
- trackExtra
- album
- albumArtist
- poster
- trackImage
0.1.1h - Sep 21
- Unified bar drag action code in one function.
- Removed functions and calls for each bar.
- Removed addEventListener functions for controls, volume and time.
- Updated createListItem().
- Made 2 helper functions for some playlist properties.
- Merged updateVolumeText() and updateVolSliderBar() in one function updateVolData(). Updated relevant function calls.
- Minor code optimization fixes.
- Placed hideLyrics() code inside updateLyrics(), as it's the only place Where it's called.
- Returned updateAudioSource inside loadTrack(). Tweaked functions dependent on fileName (now passed as argument.)
- Removed prependZero() function and moved the code to updateTrackNumber().
- Removed dot from fileExt; rewrote addMimeType() code and moved it inside loadTrack() --bye bye switch statement.
0.1.1g - Sep 21
- Eliminated code for number in playlists (can be done with CSS.)
- Removed plist_numbers object property.
- Added leading_zero object property to optionally prepend a zero to mp-track-number class.
- Event listener for clicked playlist items now toggles between play and pause states.
- If there's no "title" property in the playlist object, MP uses the "file" property instead.
- Added volume_format = 'a, b' property.
- Substituted 'let' for 'const' where appropriate.
- Put stray code within functions.
- Got rid of code repetition in pauseAudio(), call displayControls() instead.
- Moved stop, prev and next declarations into controlsEventListeners().
0.1.1f - Sep 21
- Updated prev and next functions.
- Removed 'playing' variable dependency from playNext() and playPrev().
- Bugfix: Previous/next cross-player bug - player1 'playing' state leaked to player2.
- Added trackEnd() function. 'Ended' event no longer triggers playNext().
- Removed mp-play-state and the op_text_ variables.
- Added play state options as mp- classes.
- Removed 'loop' variable; repeat now works looking at class 'mp-looped'.
0.1.1e and previous
- Single player.
- Basic playlist functionality.