Releases: etro-js/etro
Releases · etro-js/etro
v0.12.1
[0.12.1] - 2024-02-19
Fixed
- Importing etro in the client-side code of a NextJS project causing a "module not found" error (#243).
- Keyframes with values that are not numbers no longer result in type mismatches.
TypeError: this.data is undefinedwhen applying aTransformeffect with a dynamic matrix.
v0.12.0
Playback Update
0.11.0 - 2023-08-05
Added
durationoption forMovie#play(#208).
Fixed
- Audio and video layers going silent after the first time recording the movie (#106).
Failed to set the 'currentTime' property on 'HTMLMediaElement'error when seeking audio and video layers (#227).- Seeking while playing not updating the movie's current time (#233).
Security
- Bump word-wrap from 1.2.3 to 1.2.5 (#222).
v0.10.1
Streaming Update
0.10.0 - 2023-04-18
Added
Movie#stream()to stream the movie to aMediaStream.- New
onStartoption forMovie#play()andMovie#record(). - Image, audio and video layers'
sourceproperties now accept urls (#153). - Movies, layers and effects have a new
readygetter, indicating if they are ready to play. - Layers and effects now have an async
whenReadymethod. Movie#seek()method.- Layers have new
seek()andprogress()methods. onceoption forsubscribe.
Changed
- The (deprecated)
'movie.pause'event is now published every time playback stops, regardless of the reason. sourceproperties ofImage,AudioandVideohave been retyped toHTMLImageElement,HTMLAudioElementandHTMLVideoElementrespectively.
Deprecated
etro.applyOptions()andEtroObject#getDefaultOptions()are deprecated. Instead, set each option in the constructor (#131).- The
Movie#currentTimesetter is deprecated. UseMovie#seek()instead. Movie#setCurrentTime()is deprecated. Instead, callseek()andrefresh()separately.- The
'movie.seek'event is deprecated. Override theseek()method on layers instead. - The
'movie.timeupdate'event is deprecated. Override theprogress()method on layers instead. - The
'movie.loadeddata'event is deprecated. - The
'movie.play'event is deprecated. Provide theonStartoption toplay(),stream()orrecord()instead. - The
'movie.pause'event is deprecated. Wait forplay(),stream()orrecord()to resolve instead. - The
'movie.record'event is deprecated. Provide theonStartoption torecord()instead. - The
'movie.recordended'event is deprecated. Wait forrecord()to resolve instead. - The
'movie.ended'event is deprecated.
Removed
Movie#autoRefresh(see #130).changeevents (see #130).watchPublic()andpublicExcludes(see #130).
Fixed
Movie#currentTimeis now reset to 0 when the movie ends.Movie#play()andMovie#record()now wait until all resources are loaded before starting.Movie#pause()no longer stops inactive layers (#203).- Array methods like
unshiftforetro.layer.Visual#effectsandetro.effect.Stack#effectswork properly. AudioSource#playbackRateis now optional.durationoption forAudioandVideolayers is now optional.Videoconstructor now accepts missing options.
v0.9.1
Boring Update
0.9.0 - 2022-07-17
Changed
- Methods in the
Baseeffect now acceptBaselayers instead ofVisuallayers.
Deprecated
Fixed
- Layers no longer trigger infinite loops when their active states change (#127).
- Add missing
VisualSourceoptions toImagelayer (#128). - Layers are now stopped when recording ends.
stop()is no longer called on inactive layers.- Movies no longer publish
'movie.ended'when done recording. AudioandVideolayers not detaching properly.- When done playing or recording, movies only reset their time if they're in repeat mode.
- The
timeupdateevent is no longer fired whencurrentTimeremains the same (due toperformance.now()rounding).