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 +33 -4
- package/CONTRIBUTING.md +3 -3
- package/README.md +23 -11
- package/dist/etro-cjs.js +3438 -0
- package/dist/{etro.js → etro-iife.js} +127 -83
- package/examples/introduction/export.html +10 -4
- package/karma.conf.js +1 -1
- package/package.json +5 -3
- package/rollup.config.js +6 -1
- package/scripts/gen-effect-samples.html +1 -1
- package/spec/layer.spec.js +22 -0
- package/spec/movie.spec.js +8 -0
- package/src/effect.js +11 -8
- package/src/layer.js +83 -61
- package/src/movie.js +14 -13
- package/src/util.js +19 -1
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
|
-
[
|
|
104
|
-
[0.
|
|
105
|
-
[0.
|
|
106
|
-
[0.
|
|
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
|
|
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
|
-
###
|
|
135
|
+
### Etro concepts
|
|
136
136
|
|
|
137
137
|
#### Pub/sub system
|
|
138
138
|
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|

|
|
9
9
|
|
|
10
|
-
Etro is a completely in-browser video-editing
|
|
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="
|
|
36
|
+
<script src="node_modules/etro/dist/etro-iife.js"></script>
|
|
25
37
|
```
|
|
26
38
|
|
|
27
|
-
Then, to create a movie (
|
|
39
|
+
Then, to create a movie (a Etro "project")
|
|
28
40
|
```js
|
|
29
|
-
|
|
41
|
+
var movie = new etro.Movie(canvas);
|
|
30
42
|
```
|
|
31
43
|
|
|
32
44
|
Then, add layers
|
|
33
45
|
```js
|
|
34
46
|
movie
|
|
35
|
-
// add
|
|
36
|
-
.addLayer(new etro.layer.
|
|
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
|
-
|
|
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.
|