WATERMeDIA

WATERMeDIA

Mod

Library and API for MinecraftForge, NeoForge, Fabric, Quilt using VLC for multimedia integration with Minecraft

Client LibraryUtility

34.7k downloads
24 followers
Createda year ago
Updated7 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...

UPDATE 2.0.62

  • Fixed WM is not properly loading on NeoForge

UPDATE 2.0.61

  • Fixed VLC is not loading on the pre-defined temp path
  • Removed MacOS binaries (fixes crashes attemping to load our broken VLC)
  • Added NeoForge support
  • Fixed crash-reports are not obtained via DT3
  • Fixed game crashes when fails to create a new VLC instance

UPDATE 2.0.60

  • Fixed MacOS + Fabric causes a black screen when WATERMeDIA is installed
  • Stop scanning runtime dir for VLC binaries
  • [BETA] DIAGNOSIS TOOL: Click on WATERMeDIA's JAR will open our new Diagnosis Tool to help us to provide faster support

UPDATE 2.0.58

  • Removed broken VLC argument (prevents proper loading)
  • Fixed videos are not working and the constant ERROR LOG SPAM of OpenGL

UPDATE 2.0.57

  • Use hardware acceleration whenever it is possible
  • Use DirectX xor OpenGL for video output (better performance for users)
  • Added SRT support
  • Fixed VLC binaries for MacOS

UPDATE 2.0.56

  • Fixed image is not rendering

UPDATE 2.0.55

  • Fixed crashes due to non-reset flushed state
  • Deleted FML mockers (moved to modloaders dependency)

UPDATE 2.0.54

  • Fixed PNGs aren't able to load correctly (and instead calls VLC for it)
  • Fixed ImageAPI wasn't able to load images due to no specify it wants an image on headers
  • [VLCJ] Fixed cannot find VLC directory if the root search folder is a symlink
  • [VLCJ] Increased subfolders max number of entries to allow begin scanned
  • Removed VLC binaries for Linux x64 (apparently linux is stupid enough to require VLC begin registered as a "dynamic library")
  • ImageAPI: ImageRenderer now process buffers off-thread and stores the pixels instead of the BufferedImage
  • ImageAPI: Added flush method on ImageCache to safety flush the picture from VRAM to RAM
  • RenderAPI: deprecated applyBuffer methods, use instead getRawImageBuffer and `uploadBufferTexture
  • PlayerAPI: Added getFactorySoundOnly(). It returns a variant of the default factory with no video output

UPDATE 2.0.53

  • Fixed crashes on minecraft versions above 1.16.5

UPDATE 2.0.25

  • Added ease mathematical methods to animate positioning
  • Added scaleTempo methods to calculate in range time scale
  • Rid off DirectSound outside windows
  • Disabled cache on ImageAPI fetch

RELEASE 1.3.43

  • Backported method "isSafeUse"
  • Start/Prepare now synchronize each other
  • Release is now safety ASYNC
  • Added a warning after create a VideoLANPlayer instance (use instead SafeVideoLANPlayer instance)
  • Wait... no... start porting your mod to WATERMeDIA 2.0... don't be lazy dude.

1.3.42

  • Fixed VLC callbacks throw exceptions on native threads caused by MinecraftForge (crashing VLC)

1.3.41

  • Fixed loggers don't get GZIP every start (F for QSMP)
  • Added missing binaries

1.3.40

  • Added missing binaries for Audio processing (fix OGG and MP3 playing)
  • Backported TwitchFixer from 2.0 (into a URLPatch)
  • Backported Fabric support from 2.0
  • Deprecated entire API (new 2.0 is menacing)
  • Dropped non-LTS versions (LTS are 1.12.2, 1.16.5, 1.18.2, 1.19.2 [1.19.4], 1.20.x)

BREAKING UPDATE 2.0.0

This update breaks dependent mods, only update when all mods depending on it releases a compatibility update

IMPORTANT ADVICE

Since NeoForge is menacing, i am considering DROP the entire FABRIC SUPPORT for next versions. Big fabric modders are making (Neo)Forge ports (Like CaffeineMC). I am keeping support for old and new (neo)Forge versions. But fabric is useless if the same alternative exists on NeoForge. LET FABRIC REST IN PEACE.

FEATURES

  • Code ported to JAVA 8
  • Extended support of old versions of Minecraft (Now supported versions are on MinecraftForge 1.12.2 ~ 1.20.x AND FABRIC 1.16.5 ~ 1.20.x)
  • FABRIC support is back (but this time 100%)
  • Enhanced Boostrap

API: FEATURES

  • Rewrite of Image API
    • ImageCache: friendly cache system for already loaded pictures.
    • ImageFetch: Async class to fetch pictures from internet. now uses ExecutorServices to avoid any kind of sync bug
    • ImageRenderer: container of a picture, can be a gif or just a picture.
  • Rewrite of PlayerAPI
    • BasePlayer: VLC Player base. all methods can be used in other threads (do not expect to be 100% stable)
    • VideoPlayer: Extends BasePlayer; includes GL rendering tools to process IntBuffers
    • SyncBasePlayer: A synchro base. all methods should be executed on the instance thread or player thread. Can be executed async task using "submit()"
    • SyncVideoPlayer: Extends SyncBasePlayer; includes GL rendering tools to process IntBuffers
  • WaterMediaAPI: Renamed all methods. Now all starts with category_action(arguments)
  • Removed special VLC failed pictures for Windows users
  • URLFixers: Added NothingSpecialFixers
    • NSFixers are "nothing special." These are disabled by default in our API and other modders should add the capability to enable it by the end user
    • NSFixers can be enabled on PlayerAPI but is restricted on ImageAPI
    • These fixers add compatibility to pages with a not much acceptance by the people. BE AWARE

CHANGES

  • Added more VLC binaries
    • This fixes issues with OGG and MP3 compatibility

BUG FIXES

  • Fixed URLFixer for Twitch, TwitterX.
  • Fixed logger doesn't gzip last log session file of VLC on Bootstrap
    • Check your tmp directory (watermedia/logs/latest.log) and delete it
    • The Current record is 2GB
    • F for QSMP members

DEVELOPMENT CHANGES

  • Dropped Non-LTS versions
    • LTS versions (for us) are versions with a big player base (1.12.2, 1.16.5, 1.18.2, 1.19.2, 1.20.x)
    • Technically API can be loaded in ANY version of Minecraft (in range of 1.12.2~1.20.x)
    • This was decided just to prevent dependent modders being bugged with "why it doesn't exist for 1.17.x ". They can just blame us :)

OTHER CHANGES

I made more stuff internally, but I forgot what features were added who added and (whatever) just enjoy the rewrite


Project members

SrRapero720

Owner

NGoedix

Co-Author


Technical information

License
ARR
Client side
required
Server side
unsupported
Project ID