Progress Status
(Compiled and designed by Jeff Fortin)
Updated at: 29/11/2008 11:02 (Next: 02/02/2009) (First: 11/09/2008)
- Projects :
Overall Progress:
Detailed Progress
Saya Core (required for rendering / playback):
[ Top ]
- Basic routines, vsprintf, string conversion
- Integration of the HP lock-free multithreading library
- Multithreading module
- Tests and debugging for the multithreading module
- Platform-independent Bitmap implementation
- Colorspace conversion routines for the bitmap class
- Video Input module
- Video Output module
- Lock-free Circular Buffer for the audio
- Audio Input module
- Audio Output module
- A/V playback / synchronization module
- Test of A/V playback module
Total Saya Core (required for rendering / playback):
C++ Library (required for everything else):
[ Top ]
- Video Project
- Project Manager
- Video / Audio clips
- Timeline tracks
- Timeline sequences
- Effect Stacks
- Transition objects
- Serialization for all of the above (required for Saving/Loading)
Total C++ Library (required for everything else):
Codec libraries integration (MPEG, DivX, etc.):
[ Top ]
- Capability to read video/audio files
- Capability to write video/audio files
Total Codec libraries integration (MPEG, DivX, etc.):
Graphical User Interface:
[ Top ]
- Playback controls (play,pause, etc.)
- Basic Menus
- Clone shortcuts of commercial Video Editors
- Multitrack video and audio timeline
- [advanced] Quality modes for the preview video area
Total Graphical User Interface:
Basic editing:
[ Top ]
- Import a video+audio clip through menus, buttons
- Import a video+audio clip through drag and drop, creating layers automatically
- Create, delete, rename, reorder layers
- Move clips/audio around in the timeline, or between layers
- Set the beginning/end of a clip by dragging its left and right edges in the timeline
- Crossfade when clips overlap (see Vegas demo)
- Split tool (cut a clip in two, either with a keyboard shortcut, or with a splitting tool like Jokosher's)
- Scrubbing
- Selecting multiple clips by drawing a boundary box from an empty timeline area
- Selecting multiple clips with ctrl-click
- (De)select all
- Clip snapping (with a button to toggle it on/off)
- Save, Render, Import, Record, Play/pause toolbar buttons. Stop/back/forward buttons are useless clutter.
Total Basic editing:
Projects:
[ Top ]
- Save a project
- Load a project
- Set the project video framerate, aspect ratio, resolution, sound channels, etc
- [advanced] "Slim down" project with clip trimming
- Check if clips and media are still present on startup, otherwise, offer to specify their location/search
Total Projects:
Importing:
[ Top ]
- Live Video Capture and recording module
- F-spot-like import window for mass storage devices, DVDs, etc
- DV grabber, with automatic scene detection for DV tapes
Total Importing:
Media Library:
[ Top ]
- Ability to rename media (renames the physical file and all associations in the project)
- Ability to play clips
- Tagging and filter-as-you-type searching
- Ability to group clips together (ex: multiple takes of a scene)
- "Hidden" tag for clips that are not good
- Special search for "unused clips"
- Sortable icon and list view modes
- Setting the channel balance for audio clips or layers
- Setting the volume for audio clips or layers
Total Media Library:
Advanced Editing (UI part):
[ Top ]
- Hide/show/solo layers
- [advanced] Transitions other than crossfade
- [advanced] Effects
- [advanced] Effect chains
- [advanced] Layer compositing, opacity
- [advanced] Cropping
- Text
- [advanced] Subtitles, perhaps with gnome-subtitles
- [advanced] Time stretching for clips, audio
- [advanced] Recording of sound directly into an audio track while video is playing (or not)
Total Advanced Editing (UI part):
Rendering:
[ Top ]
- Adopt a C++ rendering engine (i.e. OpenVIP) and merge it into the project
- [advanced] Lossless render option for DV, dirac or other "lossless" codecs
- Deinterlacing
- Choose output audio codec (or none)
- [advanced] Render video frames only
- [advanced] Render audio only
- [advanced] Render farm (network render)
- If a codec/format is unavailable, explain which packages provide it
- Integration with portable players
- Integration with Online Video sharing websites, i.e. youTube(TM)
- Progress dialog with frames per second, ETA, pause/resume button
- Render at various quality levels (preview vs normal vs full quality with deinterlacing, etc.)
- Ability to render only a selected portion of the timeline
Total Rendering: