Play your Musics in Your Discord Music Bot | Discord.js V13 Only
Framework-agnostic video player engine powering @vue-player/vue
React audio library player engine (catalog, playback, offline, themes)
Lumra headless media player engine
Midi parser & player engine for browser or Node. Works well with single or multitrack MIDI files.
YouTube IFrame Player engine for OpenPlayerJS
Core player engine, plugin system and public API for OpenPlayerJS
MP4E React Player - Engine-powered interactive video player
Headless, framework-agnostic, plugin-driven video player engine. Powers the @f8team/reel-* adapters.
Client-side video player engine. Plays MKV, MP4, WebM with full subtitle, audio track, and chapter support. No server required.
Headless HLS player engine — framework-agnostic playback core with HLS.js integration, quality management, token authentication, and fullscreen handling.
Midi parser & player engine for browser or Node. Works well with single or multitrack MIDI files.
Framework-agnostic HLS video player engine
Midi parser & player engine for browser or Node. Works well with single or multitrack MIDI files.
Web Audio player engine.
An open source Mux player web component that Just Works™
An open source Mux player for React that Just Works™
Interact with and control an embedded Vimeo Player.
YouTube IFrame Player API abstraction.
A React component for playing a variety of URLs, including file paths, Mux, YouTube, Vimeo, and Wistia
Unified Media Player Engine — adaptive streaming, PiP, offline download, DRM, Hotstar/Netflix style
React component for embedding a Remotion preview into your app
Lottie web player wrapper for React
An embeddable wistia-player web component and React wrapper to add responsive, lightweight, and SEO-friendly videos to your site.
Contains all the logic necessary to play a one or two player game of checkers
unbeateable tic tac toe ai engine
SeedList is designed for Rails-powered tournament engines that need to persist a 1-indexed ordered list of players (ranked low-to-high by skill or past performance) and then match them up appropriately in the first round of a bracket.
PCN (Portable Chess Notation) provides a comprehensive, JSON-based format for representing complete chess game records across variants. This gem implements the PCN Specification v1.0.0 with a modern Ruby interface featuring immutable game objects and functional programming principles. PCN integrates the Sashité ecosystem specifications (PMN for moves, FEEN for positions, and SNN for style identification) to create a unified, rule-agnostic game recording system. Supports traditional single-variant games and cross-variant scenarios where players use different game systems, with complete metadata tracking including player information, tournament context, and game status. Perfect for game engines, database storage, game analysis tools, and archival systems requiring comprehensive game record management across diverse abstract strategy board games.
STN (State Transition Notation) provides a rule-agnostic format for describing state transitions in abstract strategy board games. This gem implements the STN Specification v1.0.0 with a modern Ruby interface featuring immutable transition objects and functional programming principles. STN captures net changes between game positions by recording modifications in piece locations, hand/reserve contents, and active player status using standardized CELL coordinates and QPI piece identification. Perfect for game engines, position diff tracking, undo/redo systems, and network synchronization requiring efficient state delta representation across multiple game types and traditions.
A Rack middleware to make URLs in one-page webapps easier. In a couple of recent projects, I've needed to avoid full page refreshes as much as possible. In the first, I wanted to keep an embedded music player active while the user was browsing. In the second, I just wanted fancier transitions between pages. It's possible to do this in an ad-hoc way, but I very quickly got tired of hacking things together. Enter Onesie. Onesie congealed from these requirements: * I want a one-page web app, * But I want the back button to work, * And I want search engines to still index some stuff, * And I (mostly) don't want to change the way I write a Rails/Sinatra app. If someone visits <tt>http://example.org/meta/contact</tt>, I want them to be redirected to <tt>http://example.org/blah/#/meta/contact</tt>, but after the redirection I still want the original route to be rendered for search engine indexing, etc. When Onesie gets a request, it looks to see if under your preferred one-page app path ("blah" in the example above). If it's not, Onesie sets the current request's path in the session and redirects to your app path. If a request is under the one-page app path, the "real" request's path is retrieved from the session and used for subsequent routing and rendering. This means that, as above, a request for http://example.org/meta/contact Will be redirected to http://example.org/blah/#/meta/contact But still render the correct action in the wrapped app, even though URL fragments aren't passed to the server. This is a terrible explanation. I'll write a sample app or something soon.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.