Skip to content

Releases: libass/JavascriptSubtitlesOctopus

4.1.0

Choose a tag to compare

@TheOneric TheOneric released this 04 Dec 16:06
  • update libass to 0.17.0, notably including support for LayoutRes{X,Y} headers among others
  • fix copyright and licence notices
  • deprecate support for manually decompressing brotli subtitles. Might be fully removed in the next release. See 4.1.0’s README.md for what to use instead.
  • add new wasm-blend rendering mode which is faster than the old default of js-blend
  • change default rendering mode to wasm-blend
  • unify rendering mode options into a renderMode setting. Deprecate lossyRender option, this mode can now be selected via the renderMode option.
  • parse and use embedded fonts
  • add fallbackFont to override the default fallback
  • add lazyFileLoading to opt-in to loading files, in particular fonts, lazily; requires a compatible server configuration
  • add prescaleFactor, prescaleHeightLimit and maxRenderHeight options to control performance-quality trade-offs
  • add dropAllAnimations
  • various bugfixes

Version of included libraries:

  • brotli: 1.0.9
  • libexpat: 2.5.0
  • fontconfig: 2.14.1
  • freetype: 2.12.1
  • fribidi: 1.0.12
  • harfbuzz: 5.3.1
  • libass: 0.17.0

Note: the attached libass-wasm-4.1.0.tgz is the binary release identical to what was uploaded to npm.

4.0.0

Choose a tag to compare

@TFSThiagoBR98 TFSThiagoBR98 released this 22 Mar 19:01
147473f

This release include a new Event and Style API, allow manipulation of then at run-time as well all libass API exposed to worker environment.

New functions

Wrapper

  • octopusInstance.createEvent(event)
  • octopusInstance.getEvents() - Print events in console, to get the events, edit this block
  • octopusInstance.setEvent(event, index) - See setStyle
  • octopusInstance.removeEvent()
  • octopusInstance.createStyle(style)
  • octopusInstance.getStyles() - Print Styles in console, to get the styles, edit this block
  • octopusInstance.setStyle(style, index) - it is also possible to set the value of a single property instead of sending all values, eg.: octopusInstance.setStyle({ FontName: "Arial" }, 0) this will only set the font arial to style
  • octopusInstance.removeStyle()

Worker

This most not change at all but now have two new classes, self.octObj - SubtitleOctopus Native Class Wrapper instance, which contains every internal Wasm native functions used by this library and the class libass witch contains every libass public functions.

Native Code

Because of WebIDL, I have switched from C to C++, and now have three files, SubtitleOctopus.cpp (Native Wrapper), libass.cpp (libass Wrapper) and SubOctpInterface.cpp and SubOctpInterface.js - These files are generated by WebIDL bind-gen, from SubtitleOctopus.idl - If you want to modify SubtitleOctopus.cpp and/or libass.cpp you must delete SubOctpInterface.cpp and SubOctpInterface.js and edit SubtitleOctopus.idl.

ASS_Event Object

Property Type
Start Number(Int64)
Duration Number(Int64)
ReadOrder Number
Layer Number
Style Number
Name String
MarginL Number
MarginR Number
MarginV Number
Effect String
Text String

ASS_Style Object

Property Type
Name String
FontName String
FontSize Number
PrimaryColour Number
SecondaryColour Number
OutlineColour Number
BackColour Number
Bold Number
Italic Number
Underline Number
StrikeOut Number
ScaleX Number(Double)
ScaleY Number(Double)
Spacing Number(Double)
Angle Number(Double)
BorderStyle Number
Outline Number(Double)
Shadow Number(Double)
Alignment Number
MarginL Number
MarginR Number
MarginV Number
Encoding Number
treat_fontname_as_pattern Number
Blur Number(Double)
Justify Number

3.0.2

Choose a tag to compare

@TFSThiagoBR98 TFSThiagoBR98 released this 30 Dec 18:15
Bump version to 3.0.2

3.0.1

Choose a tag to compare

@TFSThiagoBR98 TFSThiagoBR98 released this 07 Dec 14:44

Changelog

  • Add Support for Woff2 font files
  • Add Support for Brotli Compressed Subtitle files (.ass.br)
  • Bug fixes

2.2.0

Choose a tag to compare

@TFSThiagoBR98 TFSThiagoBR98 released this 15 Oct 01:08

Changelog

  • Add Suport for Emscripten v1.38.40
  • Fix build script
  • Use CMake to build libexpat

Libraries Version

2.1.0

Choose a tag to compare

@TFSThiagoBR98 TFSThiagoBR98 released this 26 Jun 01:26
Version 2.1.0

2.0.1

Choose a tag to compare

@TFSThiagoBR98 TFSThiagoBR98 released this 02 Mar 17:31
Version 2.0.1