Skip to content

Commit

Permalink
Modernization (5.0.0) (#27)
Browse files Browse the repository at this point in the history
This commit represents a complete port of the codebase to TypeScript, refactored to modern ESM standards. This repository is now a monorepo which includes the core moviemasher.js NPM package. The related angular-moviemasher and moviemasher.rb repositories have been retired, with similar functionality now provided by the included client-react and server-express packages. Rudimentary support for streaming has been added, though not yet directly exposed in the demos.
  • Loading branch information
syntropo authored Mar 27, 2022
1 parent 1a3a7f0 commit 343d247
Show file tree
Hide file tree
Showing 1,656 changed files with 91,422 additions and 60,346 deletions.
8 changes: 8 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.bundle*
.DS_Store
.git/*
.vscode/*
**/dist*
node_modules
temporary/*
**/package-lock.json
43 changes: 43 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
jest: true,
},
extends: ['plugin:@typescript-eslint/recommended'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 12,
ecmaFeatures: { jsx: true },
sourceType: 'module',
},
plugins: [
'@typescript-eslint/eslint-plugin',
'eslint-plugin-tsdoc'
],
rules: {
"tsdoc/syntax": "warn",
"quotes": 0,
"semi": 0,
"no-console": 0,
"comma-dangle": 0,
"no-underscore-dangle": 0,
"import/prefer-default-export": 0,
"arrow-parens": 0,
"no-undef": 0,
"class-methods-use-this": 0,
"object-curly-newline": 0,
"no-unused-vars": "off",
"radix": 0,
"@typescript-eslint/no-empty-interface": 0,
"@typescript-eslint/no-unused-vars": 0,
"@typescript-eslint/no-empty-function": 0,
},
settings: {
"import/resolver": {
node: { extensions: [".js", ".jsx", ".ts", ".tsx"] }
}
},
ignorePatterns: ['.eslintrc.js', "rollup.config.js", "test/jest.config.js"],
};
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
.DS_Store
config/docker/node/node_modules*
node_modules*
**/dist*
temporary*
*.test.*
**/__image_snapshots__*
*.cache/*
**/raw/*
.vscode/*
5 changes: 3 additions & 2 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.DS_Store
node_modules/
config/docker/node/node_modules*
node_modules*
develop*
.git*
Empty file removed .npmrc
Empty file.
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "pwa-chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
}
]
}
112 changes: 112 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
version 5.0.0:

- modernize codebase
- port to typescript
- remove all dependencies
- switch to rollup bundler
- provide Universal module (UMD)
- provide CommonJS module (CJS)
- provide ES module (ESM)
- automatically register standard filters
- add jest tests, including snapshots
- add Video.mute property
- change Video.video_rate to Video.fps
- add support for transparency in mash.backcolor
- Masher now called MashEditor
- restrict MashEditor.mash setter to Mash objects
- base MashEditor.add's track type on type key in 1st parameter (definition type)
- remove MashEditor.add's 2nd parameter (track type)
- MashEditor.canvas_context now called canvasRenderingContext2D
- MashEditor.buffertime now called buffer

version 4.0.25:

- fix audio buffer source security issue in safari

version 4.0.23:

- update dependencies

version 4.0.22:

- use npm instead of bower

version 4.0.21:

- support for npm installation
- fixed example

version 4.0.20:

- all classes now accessible from MovieMasher export

version 4.0.19:

- fixed issues related to split functionality
- fixed issues related to trim functionality

version 4.0.18:

- new blend filter suports merging with blend modes
- added support for values that are objects in constant types
- fixed issues related to split functionality
- fixed several issues related to audio playback

version 4.0.17:

- fixed issue undoing moves from track to track in timeline
- fixed issue undoing effect reordering

version 4.0.16

- fixed issue with some filters manipulating assets loaded from another domain
- now mounting package.json in grunt container
- simpler docker-compose instructions in README

version 4.0.15:

- switched indent_style to double space
- locked version of digitallyseamless/nodejs-bower-grunt image to 0.10
- now running concat first in Gruntfile
- new chromakey filter
- added utility methods to Filter
- docker-compose for grunt

version 4.0.14:

- new (very beta) convolution filter
- new colorchannelmixer filter
- filters no longer have to define no-op methods
- upgraded dependencies

version 4.0.13:

- utilize script.js
- ffmpeg filters now configurable
- new Filter object with utility methods
- new Loader object with asset loading methods

version 4.0.12:

- new split clip feature

version 4.0.11:

- lazy font look up on load

version 4.0.10:

- REAME improvements

version 4.0.9:

- fixed versioning
- default filter parameters
- switch to opentype.js

version 4.0.8:

- The `begin` key in video clips has been renamed `first`.
- The `length` key in clips has been renamed `frames`.
- The `audio` and `video` keys in mash tracks have been moved to mash.
- better evaluation
82 changes: 0 additions & 82 deletions Changelog

This file was deleted.

Loading

0 comments on commit 343d247

Please sign in to comment.