Improve readme formatting. Move a change to changelog.
This commit is contained in:
parent
3225887464
commit
19921ada75
14
changelog.md
14
changelog.md
@ -4,7 +4,8 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
## [git] - 2020-10-07
|
## [git] - 2020-10-07
|
||||||
### Changed
|
### Changed
|
||||||
- (examples.blend) Upgrade blend to 2.83.5 (paste objects into a new file)
|
- (examples.blend) Upgrade blend to 2.83.5 (Paste objects into a new
|
||||||
|
file).
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- (examples.blend) Turn on "Soft Shadows" render option to avoid
|
- (examples.blend) Turn on "Soft Shadows" render option to avoid
|
||||||
@ -13,10 +14,19 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
|
|
||||||
## [git] - 2019-06-28
|
## [git] - 2019-06-28
|
||||||
|
### Added
|
||||||
- Add potential references from local directories.
|
- Add potential references from local directories.
|
||||||
- Add note regarding new documents to README.md.
|
- Add note regarding new documents to README.md.
|
||||||
- Name and sort documents better.
|
|
||||||
- Add backgrounds to dist for future use.
|
- Add backgrounds to dist for future use.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Name and sort documents better.
|
||||||
- Wrap lines in README.md, use markdown more, make file more navigable,
|
- Wrap lines in README.md, use markdown more, make file more navigable,
|
||||||
remove local paths and mention installing CLI commands in Windows and
|
remove local paths and mention installing CLI commands in Windows and
|
||||||
adding them to the PATH.
|
adding them to the PATH.
|
||||||
|
|
||||||
|
## [unreleased] - 2016-08-05
|
||||||
|
### Changed
|
||||||
|
- Detect format instead of ever using the strings "png" or ".png" during
|
||||||
|
loading (but continue to use png for all saved image data, as
|
||||||
|
nondestructive layers)
|
||||||
|
74
readme.md
74
readme.md
@ -8,6 +8,7 @@ and code from "more" directory that are implemented will be moved to
|
|||||||
rotoscoping applications?" below before commenting on the code or
|
rotoscoping applications?" below before commenting on the code or
|
||||||
submitting pull requests.
|
submitting pull requests.
|
||||||
|
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
This is a manual rotoscoping (frame by frame painting) application.
|
This is a manual rotoscoping (frame by frame painting) application.
|
||||||
Rotoscoping is the only accurate way to achieve effects such as manual
|
Rotoscoping is the only accurate way to achieve effects such as manual
|
||||||
@ -58,10 +59,6 @@ the expectations of normal consumers (primarily expectations for speed
|
|||||||
and format support) may be impractical to be achieved by volunteer
|
and format support) may be impractical to be achieved by volunteer
|
||||||
programmers, or may be impossible for technical reasons described above.
|
programmers, or may be impossible for technical reasons described above.
|
||||||
|
|
||||||
## Changes
|
|
||||||
* (2016-08-05) detect format instead of ever using the strings "png" or
|
|
||||||
".png" during loading (but continue to use png for all saved image data,
|
|
||||||
as nondestructive layers)
|
|
||||||
|
|
||||||
## Caveats
|
## Caveats
|
||||||
* Lag during frame loading cannot be avoided, since each video frame
|
* Lag during frame loading cannot be avoided, since each video frame
|
||||||
@ -76,27 +73,28 @@ applied without reloading the frame from the source video file.
|
|||||||
or may not ever be added, since MPEG-style frame seeking is inexact and
|
or may not ever be added, since MPEG-style frame seeking is inexact and
|
||||||
rotoscoping is highly dependent on the source frame remaining the same.
|
rotoscoping is highly dependent on the source frame remaining the same.
|
||||||
|
|
||||||
|
|
||||||
## Known Issues
|
## Known Issues
|
||||||
* complete first working version
|
* Complete the first working version.
|
||||||
* audit & test getLayerImagePathMostRecent
|
* Audit & test `getLayerImagePathMostRecent`.
|
||||||
|
|
||||||
|
|
||||||
## Planned Features
|
## Planned Features
|
||||||
(!=important, ~=low-priority)
|
* [ ] Add markers to media OR timeline, separately (media markers are
|
||||||
* add markers to media OR timeline, separately (media markers are also
|
also on timeline behave differently: ghosted until media is selected,
|
||||||
on timeline behave differently: ghosted until media is selected, has
|
has filmstrip icon if from a clip; reversed if video is reversed,
|
||||||
filmstrip icon if from a clip; reversed if video is reversed, changed
|
changed placement if speed is changed, etc).
|
||||||
placement if speed is changed, etc)
|
* [ ] Use alpha.png for reducing opacity of parts of background layer.
|
||||||
* use alpha.png for reducing opacity of parts of background layer
|
* [ ] Allow a blocker layer type (make an animated object that seems to
|
||||||
* allow blocker layer type (make an animated object that seems to "undo"
|
"undo" previous edits, such as to reveal parts of characters under
|
||||||
previous edits, such as to reveal parts of characters under the
|
the effect, without permanently erasing any part of the effect).
|
||||||
effect, without permanently erasing any part of the effect)
|
* [ ] Use the layer cache (purpose for unused variable cacheMaxMB).
|
||||||
* use layer cache (purpose for unused variable cacheMaxMB)
|
* [ ] Keyboard controls for fast operation:
|
||||||
* Keyboard controls for fast operation:
|
|
||||||
* Ctrl Scrollwheel: zoom
|
* Ctrl Scrollwheel: zoom
|
||||||
* Shift Alt Scrollwheel: brush hardness
|
* Shift Alt Scrollwheel: brush hardness
|
||||||
* Shift Scrollwheel: brush size
|
* Shift Scrollwheel: brush size
|
||||||
* Add exception handling in appropriate situations:
|
* [ ] Add exception handling in appropriate situations.
|
||||||
* Motion Estimation
|
* [ ] Motion Estimation
|
||||||
* True ME (intra-frame): Get MSU ME (and other virtualdub plugins) working for
|
* True ME (intra-frame): Get MSU ME (and other virtualdub plugins) working for
|
||||||
multiple motion vectors ([not free for commercial
|
multiple motion vectors ([not free for commercial
|
||||||
use](https://www.compression.ru/video/motion_estimation/index_en.html))
|
use](https://www.compression.ru/video/motion_estimation/index_en.html))
|
||||||
@ -108,12 +106,22 @@ catch(std::exception& e) {
|
|||||||
qCritical() << "Exception thrown:" << e.what();
|
qCritical() << "Exception thrown:" << e.what();
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
* Change Speed (optional frame blending to create "in-between" frames
|
* [ ] Change Speed
|
||||||
for slow, merged frames for fast!)
|
- [ ] optional frame blending to create "in-between"
|
||||||
* (~) Effects (see <http://randombio.com/linuxsetup141.html>)
|
frames if slower than original
|
||||||
* (~) Load VirtualDub plugins, possibly as cscript using their
|
- [ ] use motion estimation to warp
|
||||||
|
- [ ] optional merged frames for faster than original
|
||||||
|
- [ ] use motion estimation for motion blur (so the effect isn't
|
||||||
|
simply ghosting)
|
||||||
|
|
||||||
|
### Low-priority Planned Features
|
||||||
|
* [ ] Add a test system that builds ImageSequenceExamples from the blend
|
||||||
|
file if Blender is installed on the system. For now, render manually
|
||||||
|
(to /home/owner/Videos/ImageSequenceExamples on Poikilos' computer).
|
||||||
|
* [ ] Effects (see <http://randombio.com/linuxsetup141.html>)
|
||||||
|
* [ ] Load VirtualDub plugins, possibly as cscript using their
|
||||||
sourcecode.
|
sourcecode.
|
||||||
* (~) Detect Light Sabers
|
* [ ] Detect Light Sabers
|
||||||
* auto masking behind objects
|
* auto masking behind objects
|
||||||
* auto sound generation!
|
* auto sound generation!
|
||||||
* auto strike/collide generation
|
* auto strike/collide generation
|
||||||
@ -125,26 +133,26 @@ catch(std::exception& e) {
|
|||||||
* allow manually adding saber-to-target hits
|
* allow manually adding saber-to-target hits
|
||||||
* Set in-out points for saber
|
* Set in-out points for saber
|
||||||
* generate in-out sounds
|
* generate in-out sounds
|
||||||
* (~) use G'MIC library for image processing (so GIMP plugins can be
|
* [ ] use G'MIC library for image processing (so GIMP plugins can be
|
||||||
used).
|
used).
|
||||||
* example: Flowblade uses G'MIC, so does EKD (see http://gmic.eu/)
|
* example: Flowblade uses G'MIC, so does EKD (see http://gmic.eu/)
|
||||||
* use GIMP HQRESIZE plugin (esp for resizing letterbox movies to 16:9
|
* use GIMP HQRESIZE plugin (esp for resizing letterbox movies to 16:9
|
||||||
anamorphic, esp DVD low-res mode mpegs created by Panasonic DVDR EP
|
anamorphic, esp DVD low-res mode mpegs created by Panasonic DVDR EP
|
||||||
mode)
|
mode)
|
||||||
* (~) Manipulate flv directly to avoid recompression (example: Try to
|
* [ ] Manipulate flv directly to avoid recompression (example: Try to
|
||||||
rerender and combine zelda fan film from youtube, using curves from
|
rerender and combine zelda fan film from youtube, using curves from
|
||||||
Sony Vegas [see vf project file])
|
Sony Vegas [see vf project file])
|
||||||
* (~) Have an expandable palette of sound effects, and a depth settings
|
* [ ] Have an expandable palette of sound effects, and a depth settings
|
||||||
(negative for behind camera), then allow clicking to add 3D placement
|
(negative for behind camera), then allow clicking to add 3D placement
|
||||||
of sound
|
of sound
|
||||||
* also allow animation
|
* also allow animation
|
||||||
* eventually create Blender export of speaker objects
|
* eventually create Blender export of speaker objects
|
||||||
* allow optional facing direction (default is track viewer [always
|
* allow optional facing direction (default is track viewer [always
|
||||||
face camera])
|
face camera])
|
||||||
* (~) Seam Carving resize (possibly via an existing G'MIC plugin)
|
* [ ] Seam Carving resize (possibly via an existing G'MIC plugin)
|
||||||
example: [SeaMonster - Content-aware resizing FOSS (Seam
|
example: [SeaMonster - Content-aware resizing FOSS (Seam
|
||||||
Carving)](http://blogs.msdn.com/b/mswanson/archive/2007/10/23/seamonster-a-net-based-seam-carving-implementation.aspx)
|
Carving)](http://blogs.msdn.com/b/mswanson/archive/2007/10/23/seamonster-a-net-based-seam-carving-implementation.aspx)
|
||||||
* (~) PAL-NTSC conversion (universal size/framerate converter) idea
|
* [ ] PAL-NTSC conversion (universal size/framerate converter) idea
|
||||||
(or make VirtualDub plugin for this that writes output manually)
|
(or make VirtualDub plugin for this that writes output manually)
|
||||||
* Make it universal: from any size/framerate to any size/framerate
|
* Make it universal: from any size/framerate to any size/framerate
|
||||||
* Blend frames retroactively once there is enough data per frame (or
|
* Blend frames retroactively once there is enough data per frame (or
|
||||||
@ -155,10 +163,12 @@ catch(std::exception& e) {
|
|||||||
* dump the frames into ffmpeg successively
|
* dump the frames into ffmpeg successively
|
||||||
* test it with a PAL movie
|
* test it with a PAL movie
|
||||||
|
|
||||||
|
|
||||||
## Low-priority Known Issues
|
## Low-priority Known Issues
|
||||||
* drawLineTo (this is used for painting) should draw line instead of
|
* drawLineTo (this is used for painting) should draw line instead of
|
||||||
last point
|
last point
|
||||||
|
|
||||||
|
|
||||||
## Design Directives
|
## Design Directives
|
||||||
* Completely customizable but good defaults for example there are three
|
* Completely customizable but good defaults for example there are three
|
||||||
built-in views and can show any 2d or 1d parameter can be shown in any
|
built-in views and can show any 2d or 1d parameter can be shown in any
|
||||||
@ -174,6 +184,7 @@ catch(std::exception& e) {
|
|||||||
(required for using file on another computer, and also if files were
|
(required for using file on another computer, and also if files were
|
||||||
opened directly from device such as camera or removable data storage)"
|
opened directly from device such as camera or removable data storage)"
|
||||||
|
|
||||||
|
|
||||||
## Developer Notes
|
## Developer Notes
|
||||||
The RotoCanvas class is modular, with hopes that it can be used by
|
The RotoCanvas class is modular, with hopes that it can be used by
|
||||||
various video editing applications in the future. The recommended use
|
various video editing applications in the future. The recommended use
|
||||||
@ -266,12 +277,13 @@ sequence are stored:
|
|||||||
linear
|
linear
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
* created by Poikilos (see also LICENSE)
|
* created by Poikilos (see also LICENSE)
|
||||||
* special thanks to the Qt team for ScribbleArea from Qt Examples
|
* special thanks to the Qt team for ScribbleArea from Qt Examples
|
||||||
|
|
||||||
*DISCLAIMER: This software comes without warranty or guarantees of any
|
*DISCLAIMER: See license.txt*
|
||||||
kind. Use this software at your own risk.*
|
|
||||||
|
|
||||||
## Notes on Other Programs
|
## Notes on Other Programs
|
||||||
* In some programs, ss;ff denotes drop frame, and ss:ff denotes NON-drop
|
* In some programs, ss;ff denotes drop frame, and ss:ff denotes NON-drop
|
||||||
|
Loading…
x
Reference in New Issue
Block a user