Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge #56

Merged
merged 19 commits into from
Mar 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 34 additions & 9 deletions .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- 'master'
- 'dev'

jobs:
release:
Expand All @@ -12,7 +13,7 @@ jobs:

strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest]
os: [ ubuntu-latest, windows-latest, macos-latest ]

steps:
- name: Clone source code
Expand All @@ -23,7 +24,7 @@ jobs:
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 16
node-version: 20

# Replace by npm ci when it will be fixed
- name: Install dependencies
Expand All @@ -36,10 +37,34 @@ jobs:
env:
CI: true

- name: Package app
uses: cryogenicplanet/action-electron-builder@v2
with:
github_token: ${{ secrets.github_token }}
release: true
skip_build: true
skip_install: true
- name: Packaging Windows
if: matrix.os == 'windows-latest'
run: npm run package:windows
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Packaging MacOS
if: matrix.os == 'macos-latest'
run: npm run package:mac
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Packaging Linux
if: matrix.os == 'ubuntu-latest'
run: npm run package:linux
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# - name: Upload release files
# uses: softprops/action-gh-release@v1
# if: github.ref == 'refs/heads/master'
# with:
# files: binaries/@brick-a-brack/*

#- name: Package app
# uses: cryogenicplanet/action-electron-builder@v2
# with:
# github_token: ${{ secrets.github_token }}
# release: true
# skip_build: true
# skip_install: true
27 changes: 20 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# EagleAnimation

[![Official Website](docs/tags/website.svg)](https://brickfilms.com/)
[![Discord](docs/tags/discord.svg)](https://discord.com/invite/mmU2sVAJUq)
[![Official Website](docs/tags/website.svg)](https://brickfilms.com/) [![Discord](docs/tags/discord.svg)](https://discord.com/invite/mmU2sVAJUq)

![Eagle Animation in use by Théo Aron](docs/imgs/img_2.png)

__EagleAnimation__ is an awesome, free and open-source stop motion animation software. It is available for Windows, macOS and Linux.
**EagleAnimation** is an awesome, free and open-source stop motion animation software. It is available for Windows, macOS and Linux.

👉 *This project is supported by Brick à Brack, the non-profit organization that owns [Brickfilms.com](https://brickfilms.com/) - The biggest brickfilming community, you can join us, it's free and without ads!* 🎥
👉 _This project is supported by Brick à Brack, the non-profit organization that owns [Brickfilms.com](https://brickfilms.com/) - The biggest brickfilming community, you can join us, it's free and
without ads!_ 🎥

- ✨ **Canon DSLR cameras support** - Use and configure your Canon DSLR camera directly.
- ❤️ **Friendly timeline** - Instantly preview your animation, duplicate and reorganize frames as you want.
- 😎 **The highest quality** - Use all the power of your camera and animate with the best quality possible!
- 💡 **Animator tools** - Thanks to onion skin, grid tools and difference mode, animating has never been so easy.
Expand Down Expand Up @@ -46,9 +47,21 @@ Feel free to make pull-requests, help us to translate the software or report iss
- Run `npm i --force` to install dependencies.
- Run `npm start` to launch the application in dev mode.

*Note: Because app backend and web bundle are splitted, any change in the backend part will relaunch the whole app. At the moment, it does not kill the previous openned window.*
_Note: Because app backend and web bundle are splitted, any change in the backend part will relaunch the whole app. At the moment, it does not kill the previous openned window._

### Telemetry

To improve the quality of __Eagle Animation__, runtime errors are automatically reported to developpers by using [Sentry SDK](https://sentry.io/).
You can disable error reporting, just set `SENTRY_DSN` to `""` in `src/config.js` and rebuild the app.
To improve the quality of **Eagle Animation**, runtime errors are automatically reported to developpers by using [Sentry SDK](https://sentry.io/). You can disable error reporting, just set
`SENTRY_DSN` to `""` in `src/config.js` and rebuild the app.

### Compatilibity

Some features are device-dependent or platform-limited. Here's a summary table.

| Feature | Windows | MacOS | Linux |
| ----------------------- | ------- | ----- | ----- |
| Video export | ✅ | ✅ | ✅ |
| Frames export | ✅ | ✅ | ✅ |
| Workshop features | ✅ | ✅ | ✅ |
| Control webcam settings | ✅ | ⚠️ | ❌ |
| Use Canon cameras | ✅ | ❌ | ❌ |
16 changes: 14 additions & 2 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,29 @@
- The resolution select can upscale the video

# Todo
- Support a automatic focus change between several frames

- Tech: Add camera informations on each photo
- Rework the project deletion to add a confirmation, maybe a new "project settings" page ?
- Add a light theme
- Add the ability to mirror the camera image (X + Y)
- Aspect ratio support and allow opacity configuration on settings page
- Ability to mark frame as "masked" to test an animation without some frames, can be usefull before a deletion
- Multi scene/take support
- Allow drawing for easing help
- Allow to export/import a project
- Masking
- Support cameras
- Webapp version
- Mobile version (Based on capacitor)

detecter perte camera + rechargement

---
- Aspect ratio
- raw support sur canon
- resize images pour opti les perfs
- Nom du projet dans la barre en haut
- Parametre de projet
- opti thumbnail
- Ability to mark frame as "masked" to test an animation without some frames, can be usefull before a deletion

full screen
54 changes: 4 additions & 50 deletions electron-builder.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
appId: com.eagle-animation.app
productName: Eagle Animation
compression: maximum

directories:
output: binaries
Expand All @@ -13,75 +14,28 @@ extraMetadata:
main: dist/electron/index.js

win:
artifactName: ${name}-${version}-win.${ext}
artifactName: Eagle-Animation-${version}-win.${ext}
icon: dist/electron/renderer/favicon.ico
target:
- portable
- zip
# files:
# - '!node_modules/ffmpeg-static/bin/darwin/*'
# - '!node_modules/ffmpeg-static/bin/linux/*'

mac:
artifactName: ${name}-${version}-mac.${ext}
artifactName: Eagle-Animation-${version}-mac.${ext}
category: public.app-category.photography
icon: dist/electron/renderer/icon.icns
hardenedRuntime: false
extendInfo:
NSMicrophoneUsageDescription: Please give us access to your microphone
NSCameraUsageDescription: Please give us access to your camera
com.apple.security.device.audio-input: true
com.apple.security.device.camera: true
target:
- dmg
# files:
# - '!node_modules/ffmpeg-static/bin/win32/*'
# - '!node_modules/ffmpeg-static/bin/linux/*'

dmg:
contents:
- type: link
path: /Applications
x: 410
y: 150
- type: file
x: 130
y: 150

linux:
artifactName: ${name}-${version}-linux.${ext}
artifactName: Eagle-Animation-${version}-linux.${ext}
category: Photography
synopsis: EagleAnimation is an awesome, free and open-source animation software.
description: EagleAnimation is an awesome, free and open-source animation software.
icon: dist/electron/renderer/icon.icns
target:
- deb
- tar.gz
# files:
# - '!node_modules/ffmpeg-static/bin/darwin/*'
# - '!node_modules/ffmpeg-static/bin/win32/*'


#linux:
# target: AppImage

#dmg:
# contents:
# - x: 110
# 'y': 150
# - x: 240
# 'y': 150
# type: link
# path: /Applications
#
#
#
#mac:
# target: default
# category: public.app-category.graphics-design

#
#
#

#
2 changes: 1 addition & 1 deletion i18next-scanner.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ module.exports = {
trans: {
extensions: [],
},
lngs: ['en', 'fr', 'de'],
lngs: ['en', 'fr', 'de', 'es', 'it', 'pt', 'pl'],
defaultValue: (lng, ns, key) => (lng === 'en' ? key : '__NOT_TRANSLATED__'),
resource: {
loadPath: 'static/i18n/{{lng}}.json',
Expand Down
Loading
Loading