etro 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.7.0] - 2020-12-17
4
+ ### Added
5
+ - Importing with CommonJS syntax.
6
+ - MIME type option for `record`.
7
+
8
+ ### Changed
9
+ - Movies are no longer hidden and silent when exporting.
10
+ - Media layers' audio nodes can now be reconnected to other audio nodes.
11
+ - `refresh` can be called when the movie is playing or recording to force render.
12
+
13
+ ### Removed
14
+ - Image layers' `imageX`, `imageY`, `imageWidth` and `imageHeight` properties. Every image is now rendered over its entire layer.
15
+ - Video layers' `mediaX`, `mediaY`, `mediaWidth` and `mediaHeight` properties. Every video is now rendered over its entire layer.
16
+
17
+ ### Fixed
18
+ - Fix recording with only video or only audio.
19
+ - Video layers' `clipWidth` and `clipHeight` are no longer treated as invalid options.
20
+ - Image layers' `clipWidth` and `clipHeight` are no longer set in the constructor, so if the `clipWidth` option is not supplied and the layer's `width` changes `clipWidth` uses the new `width`.
21
+ - Video and image layers' `width` and `height` default to their `clipWidth` and `clipHeight` respectively.
22
+ - Elliptical mask effect throwing `TypeError: path.split is not a function`.
23
+ - In shader effects, textures whose dimensions are not powers of two accept interpolation filters.
24
+ - No longer ignore video layers' `mediaWidth` option.
25
+ - Treat layers' `enabled` property as dynamic (allowing for keyframes and functions).
26
+ - Make each media layer's duration depend on its playback rate.
27
+
28
+ ### Security
29
+ - Update vulnerable dependencies.
30
+
3
31
  ## [0.6.0] - 2019-12-26
4
32
  ### Added
5
33
  - Add [API documentation](https://etrojs.dev/).
@@ -100,10 +128,11 @@
100
128
  - Gaussian blur
101
129
  - Transform
102
130
 
103
- [0.6.0]: https://github.com/etro-js/etro/compare/v0.6...HEAD
104
- [0.5.0]: https://github.com/etro-js/etro/compare/v0.5...v0.6
105
- [0.4.0]: https://github.com/etro-js/etro/compare/v0.4...v0.5
106
- [0.3.0]: https://github.com/etro-js/etro/compare/v0.3...v0.4
131
+ [Unreleased]: https://github.com/etro-js/etro/compare/v0.7...HEAD
132
+ [0.7.0]: https://github.com/etro-js/etro/compare/v0.6...v0.7
133
+ [0.6.0]: https://github.com/etro-js/etro/compare/v0.5...v0.6
134
+ [0.5.0]: https://github.com/etro-js/etro/compare/v0.4...v0.5
135
+ [0.4.0]: https://github.com/etro-js/etro/compare/v0.3...v0.4
107
136
  [0.3.0]: https://github.com/etro-js/etro/compare/v0.2...v0.3
108
137
  [0.2.0]: https://github.com/etro-js/etro/compare/v0.1...v0.2
109
138
  [0.1.0]: https://github.com/etro-js/etro/releases/tag/v0.1
package/CONTRIBUTING.md CHANGED
@@ -10,7 +10,7 @@ Thank you for considering contributing to Etro! There are many ways you can cont
10
10
 
11
11
  #### Step 0: Dependencies
12
12
 
13
- - You will need `git`, `node` and `npm`
13
+ - You will need Git, Node, NPM and Chrome (for headless unit testing) installed
14
14
 
15
15
  #### Step 1: Fork
16
16
 
@@ -54,7 +54,7 @@ Thank you for considering contributing to Etro! There are many ways you can cont
54
54
  $ npm test
55
55
  ```
56
56
 
57
- to lint the code, generate the [dist](dist) files and run unit tests on them.
57
+ to lint the code, generate the [dist](dist) files and run unit tests on them. It may be helpful to put these commands in a pre-commit hook.
58
58
 
59
59
  - Commit your changes
60
60
  - Please avoid squashing all your commits into one; we try to keep each commit atomic in the `master` branch
@@ -132,7 +132,7 @@ The base etro objects are the following:
132
132
  * `layer.Base` - the root type of layer
133
133
  * `effect.Base` - the root type of visual effect
134
134
 
135
- ### Concepts
135
+ ### Etro concepts
136
136
 
137
137
  #### Pub/sub system
138
138
 
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ![Screenshot](screenshots/2019-08-17_0.png)
9
9
 
10
- Etro is a completely in-browser video-editing library. Similar to conventional video-editing software, it lets you layer media and other content on a timeline. Audio, image, video and other tracks are supported, along with powerful video and audio manipulation to existing tracks. Being very flexible and extendable, you can choose to only use the core components or define your own.
10
+ Etro is a completely in-browser video-editing framework. Similar to GUI-based video-editing software, it lets you layer media and other content on a timeline. Audio, image, video and other tracks are supported, along with powerful video and audio manipulation to existing tracks. Being very flexible and extendable, you can choose to only use the core components or define your own.
11
11
 
12
12
  ## Features
13
13
 
@@ -18,35 +18,43 @@ Etro is a completely in-browser video-editing library. Similar to conventional v
18
18
  - Built-in hardware accelerated visual effects
19
19
  - More coming soon
20
20
 
21
+ ## Installation
22
+
23
+ ```
24
+ npm install etro
25
+ ```
26
+
21
27
  ## Usage
22
28
 
29
+ You can use CommonJS syntax:
30
+ ```js
31
+ import etro from 'etro'
32
+ ```
33
+
34
+ Or include it as a global `etro`:
23
35
  ```html
24
- <script src="https://unpkg.com/etro@latest/dist/etro.js"></script>
36
+ <script src="node_modules/etro/dist/etro-iife.js"></script>
25
37
  ```
26
38
 
27
- Then, to create a movie (which is a project)
39
+ Then, to create a movie (a Etro "project")
28
40
  ```js
29
- const movie = new etro.Movie(canvas);
41
+ var movie = new etro.Movie(canvas);
30
42
  ```
31
43
 
32
44
  Then, add layers
33
45
  ```js
34
46
  movie
35
- // add an empty blue layer starting at 0s and lasting 3s and filling the entire screen
36
- .addLayer(new etro.layer.Base(0, 3, {background: 'blue'}))
47
+ // add a solid blue layer starting at 0s and lasting 3s and filling the entire screen
48
+ .addLayer(new etro.layer.Visual(0, 3, {background: 'blue'}))
37
49
  // add a cropped video layer starting at 2.5s
38
50
  .addLayer(new etro.layer.Video(2.5, video, {mediaX: 10, mediaY: -25}));
39
51
  ```
40
52
 
41
- To start the movie, just like any ol' `<video>` or `<audio>`, use `.play()`
53
+ Finally, start the movie
42
54
  ```js
43
55
  movie.play();
44
56
  ```
45
57
 
46
- ## License
47
-
48
- Distributed under GNU General Public License v3. See `LICENSE` for more information.
49
-
50
58
  ## Further Reading
51
59
 
52
60
  - [Documentation](https://etrojs.dev)
@@ -55,3 +63,7 @@ Distributed under GNU General Public License v3. See `LICENSE` for more informat
55
63
  ## Contributing
56
64
 
57
65
  See the [contributing guide](CONTRIBUTING.md)
66
+
67
+ ## License
68
+
69
+ Distributed under GNU General Public License v3. See `LICENSE` for more information.