EasySplash is an application that runs early the OS boot for showing graphical animation while the boot process itself happens in the background.
The app is built on Rust and binds to GStreamer, so it can run in any backend that supports both. It can also be used for debugging and testing new animations on the desktop before deploying it to embedded devices.
For example, the below is the animation that has been in use for O.S. Systems' demo images:
There are two animation examples, which may be used as reference:
- Rust 1.51.0 or newer
- GStreamer (tested with 1.16)
This is the help screen of EasySplash when ran with the -h argument:
Usage: easysplash <command> [<args>]
EasySplash offers a convenient boot splash for Embedded Linux devices,
focusing of simplicity and easy to use.
Options:
--help display usage information
Commands:
open open the render with the specific animation
client control the render from the user space
EasySplash accepts animations in a directory which layout must be like this:
animation.toml
part1.mp4
part2.mp4
part3.mp4
The names of the animation files can be chosen freely. Only the animation manifest file, named
animation.toml
, needs to always be named as shown.
The animation.toml
file uses the TOML format and intends to
define the animation. Below is a full example, for reference:
[[part]]
file = "part1.mp4"
mode = "complete"
[[part]]
file = "part2.mp4"
mode = "complete"
repeat = 1
[[part]]
file = "part3.mp4"
mode = "interruptable"
The animation view port is always rendered on the center of screen. The parts are defined using
[[part]]
. The parts are inserted in the order encountered. For every part, following options are
available:
file
: specifies the file to use for the part (required).mode
: iscomplete
,interruptable
orforever
. (optional)complete
means the part must be played completely, even if somebody requested EasySplash to stop (default).interruptable
means it can be stopped immediately.forever
means it will be looping forever and can be interrupted.
repeat
: defines how many times a part is replayed before moving to next. (optional)
EasySplash is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Any kinds of contributions are welcome as a pull request.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in EasySplash by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.