feat: add danmuku plugin and i18n setup documentation
- Introduced a new danmuku plugin with multiple run code options in the documentation.
- Added language settings documentation for i18n, including default languages, import instructions, and examples for adding and modifying languages.
- Implemented input handling for media sources in the artplayer-proxy-mediabunny package, supporting various formats including HLS.
- Created m3u8 control functionalities for managing audio and video quality settings in the player.
Update mediabunny.js
- Created a new documentation file for the danmuku plugin with code examples.
- Added a comprehensive guide for language settings (i18n) including default languages, importing languages, adding new languages, and modifying existing languages.
- Included code snippets for initializing the Artplayer with different language settings.
feat: implement safe area insets for improved video rotation handling
feat: add console log for safe area insets in autoOrientation plugin
feat: enhance mobile meta tags for better web app support
- Removed the old ArtplayerPluginIframe implementation.
- Added ArtplayerToolIframe class with methods for iframe communication.
- Implemented postMessage and onMessage methods for message handling.
- Created a new TypeScript definition file for ArtplayerToolIframe.
- Updated documentation links to point to the new iframe tool.
- Added npm ignore file and README for the new package.
- Included compiled and uncompiled versions of the new iframe tool.
- Updated package.json with relevant metadata and exports.
- Created a new documentation file for the danmuku plugin with code examples.
- Added a comprehensive guide for language settings (i18n) including default languages, importing languages, adding new languages, and modifying existing languages.
- Included code snippets for initializing the Artplayer with different language configurations.
- Implemented methods for initializing the upscaling process, loading weights, and processing images and videos.
- Added support for real-time video upscaling using OffscreenCanvas and Web Workers.
- Included utility functions for loading image and video metadata, handling blob responses, and managing network configurations.
- Introduced methods for downloading upscaled content and managing GPU capabilities.
- Added error handling and progress tracking for the upscaling process.
- Created a new documentation file for the danmuku plugin with code examples.
- Added a new documentation file for language settings (i18n) with detailed instructions on language imports, default languages, and how to add or modify languages.
Remove debugging border from the websr plugin's styling
Enhance canvas sizing logic in artplayer-plugin-websr
- Updated canvas positioning to center it within the player.
- Introduced a new function to calculate canvas size based on the video aspect ratio.
- Adjusted canvas dimensions during initialization and on resize events to maintain aspect ratio.
- Ensured canvas styles are updated to reflect the calculated dimensions.
feat: add comparison mode to artplayer-plugin-websr
- Updated README.md to reflect new comparison feature and simplified content.
- Modified package.json to remove unnecessary keywords.
- Enhanced index.js to implement comparison functionality, allowing users to compare original and upscaled video.
- Added new methods for enabling, disabling, and toggling comparison mode, as well as setting and getting the comparison position.
- Updated TypeScript definitions to include new comparison options and methods.
- Deleted the plugin files including JavaScript, CSS, README, and type definitions.
- Removed references to the plugin from the documentation.
- Cleaned up the package structure by removing the .npmignore and package.json files related to the plugin.
- Created a new documentation file for the danmuku plugin with code examples.
- Added comprehensive language settings documentation, including default languages, import instructions, and examples for adding and modifying languages.
- Updated the i18n documentation to reflect changes in language handling and provide clear examples for users.
feat: add JASSUB type definitions and update common.js references
feat: add JASSUB plugin for advanced subtitle rendering in HTML5 video
- Implemented a new JASSUB class for handling subtitle rendering with options for video and canvas targets.
- Added support for both synchronous and asynchronous rendering modes.
- Integrated Web Worker for offloading rendering tasks, improving performance.
- Included methods for managing subtitle tracks, styles, and events.
- Added color space verification and handling to ensure accurate subtitle display.
- Implemented local font access for enhanced typography options in subtitles.
- Introduced a benchmarking feature to assess rendering performance.
refactor: update README and type definitions for artplayer-plugin-jassub
- Removed installation and usage instructions from README.md for clarity.
- Updated index.js to remove direct assignment of jassub instance to art.
- Enhanced type definitions in artplayer-plugin-jassub.d.ts to include detailed JassubOption and JassubInstance interfaces.
- Implemented a React template with Vite, including ESLint configuration and necessary dependencies.
- Created a Vue template with Vite, including setup for Artplayer and plugins.
- Added internationalization support in both React and Vue examples.
- Included sample video and Danmuku plugin integration in both frameworks.
- Established project structure with appropriate configuration files and README documentation.
- Implemented the audio track plugin for ArtPlayer, allowing audio to be synchronized with video playback.
- Added main functionality in `src/index.js` to handle audio playback, synchronization, and event listeners for play, pause, seek, and volume changes.
- Created TypeScript definitions for the plugin in `types/artplayer-plugin-audio-track.d.ts`.
- Included necessary build files in `dist/` for various module formats (CommonJS, ES Module, and legacy).
- Updated package metadata in `package.json` and added a README for documentation.
- Added `.npmignore` to exclude unnecessary files from the package.
Added a flag to manage the fetching state of video frames in the VideoEngine class. This change ensures that the updateNextFrame method does not attempt to fetch new frames while a previous fetch is still in progress, preventing potential race conditions and improving stability during playback.
- Updated the way properties from the shim instance and its prototype are retrieved.
- Replaced the for-in loop with a Set to ensure all properties, including inherited ones, are considered.
- Excluded the 'constructor' property from being added to the canvas.
refactor: remove unused utility functions and streamline event handling
- Deleted `videoEvents.js`, `clamp.js`, and `sleep.js` as they were not utilized.
- Introduced a new `EventTarget` class to manage event listeners more efficiently.
- Enhanced `MediaBunnyEngine`, `AudioEngine`, `VideoEngine`, and `VideoShim` to utilize the new event system.
- Updated type definitions in `artplayer-proxy-mediabunny.d.ts` to include new configuration options.
- Added comprehensive architecture documentation to clarify the structure and flow of the MediaBunny engine.
- Refactored the codebase for improved readability and maintainability, including better naming conventions and JSDoc comments.
- Created a new documentation file for language settings in i18n.
- Added examples for setting default languages and importing additional languages.
- Included instructions for adding and modifying languages in the ArtPlayer plugin.
- Introduced a new plugin: artplayer-plugin-liquid-glass with various build formats (legacy, mjs, etc.).