Repository navigation
Releases: VenturiVideo/Venturi
Releases · VenturiVideo/Venturi
Release list
v0.8.1
What's new since v0.8.0
Features
- Track mattes: a clip can be a track matte for the layer below. On an adjustment layer the matte applies to the whole adjusted stack.
- Animated title text: the text of a title can be keyframed.
- New transitions: Cross Dissolve and Smooth Cut.
- List and grid layouts in the media pool and in the library.
- Folder import: dropped folders are imported as folders, into the pool or the library. Files dropped on a pool folder go into that folder.
- Audio waveform in the viewer: audio-only media show their waveform in the preview viewer.
Improvements
- Splitting at the playhead cuts every clip under it when the selection is already cut there.
- Opening a pool folder keeps the selection.
- Long names stay inside the pool's resizable Name column.
- Clearer gear and star icons.
Fixes
- Splitting a clip no longer copies its fade-in to the right half or its fade-out to the left half. Edge transitions behave the same way.
- A title with a background and a blend mode or opacity is blended as one image: a Multiply title with a black background no longer turns the whole frame black.
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's new since v0.7.5
Features
- Library shared by all projects: a new Library tab next to the media pool holds media and compound clips you reuse everywhere (intros, outros, logos, sound effects...). Add them with "Add to library" or by dragging pool items onto the Library tab; their files are copied into
~/.local/share/venturi/library. The library has the same browser as the project's pool: folders, multiple selection, rename (menu, F2, slow double click), search, sort, Del with a confirmation. - Library media copied into the project: an asset dragged onto the timeline or added to the project gets its own copy in
library/next to the project file, in the background with a progress bar. The project stays whole in its folder, ready to sync or move, whatever happens to the library. An unsaved project gets its copies when first saved. - Attribute presets: right click a clip › "Save properties as preset..." saves the ticked properties (as in Paste Attributes) for every project. Keyframes can be kept from the start of the clip, from its end or stretched to its length; positions follow the target timeline's resolution and times its fps. Apply a preset by dropping it on a clip, double clicking it or with its own keyboard shortcut; "Edit preset..." renames it and changes its shortcut and options.
- Drop Shadow filter for any clip, with color, offset, blur radius, amount and Grow. Titles now use it for their shadow (older projects are converted).
- Compound clips from the keyboard: Enter opens the selected compound clip, Alt+Left or the mouse back button goes back.
Improvements
- Project and Library are now a vertical strip of icon tabs on the left of the media pool; the Effects panel gets one too (generators, filters and transitions / presets) and a search field.
- Library assets missing a file, also inside a compound clip, show as offline and offer "Relink...", which looks for the files by name under a chosen folder.
- The Exposure filter now goes to ±20 stops.
- Pasting or importing only media the project already has no longer leaves an empty step in the history.
Fixes
- Capturing a shortcut in the settings no longer ends at a lone modifier key.
- The search field of the media pool no longer loses focus at the first character typed, nor widens the panel.
Full Changelog: v0.7.5...v0.8.0
v0.7.5
What's new since v0.7.4
Features
- Keyframes when decoding falls behind: a source the computer cannot decode fast enough, above 1x or while scrubbing, now shows its keyframes instead of freezing. Paused, a slow seek shows the keyframe first and then the exact frame. A KEYFRAMES badge marks a stand-in frame and the buffered strip shows those stretches in orange. New Playback setting, on by default.
- Lighter buffer at fast playback: at 2x and above only the frames playback actually shows are buffered, so the buffer reaches N times further ahead. New Playback setting, on by default.
- Resume where you left off: the project remembers the active timeline and the playhead of each timeline. Reopening goes back to the same timeline and frame, and switching timelines keeps each one's playhead. Moving the playhead never marks the project as unsaved.
Improvements
- The cache now evicts frames behind the playhead first, so the ones about to play are no longer pushed out (this halved the buffer ahead during playback).
- The prefetch window is sized by the media inside compound clips, e.g. an ultrawide source nested in a 1080p compound.
- Position and anchor can now go past the frame edge (they were clamped to the frame size, ignoring zoom).
Fixes
- An interrupted seek at 2x on long-GOP media no longer keeps seeking back to the same keyframe.
- The Position/Scale keyframe diamond lights up when only one axis (X or Y) is keyed; clicking it removes the keyframes of both.
Full Changelog: v0.7.4...v0.7.5
v0.7.4
What's new since v0.7.3
Features
- Compound clips keep your place: a double click on a compound clip opens it with the playhead on the frame that was under the playhead outside (trim, slip and speed included), instead of at its start. Going back up the breadcrumb puts the outer playhead on the frame matching where you got to inside, level by level, and scrolls the view to it.
Full Changelog: v0.7.3...v0.7.4
v0.7.3
What's new since v0.7.2
Fixes
- Fast forward after a jump: at 2x and above, jumping during playback left the video running silent for up to a second (more with files not yet read from disk). The sound is now back in about a tenth of a second: a click no longer throws away the audio already being prepared, and the first stretched window after a jump is short, the next ones growing.
Full Changelog: v0.7.2...v0.7.3
v0.7.2
What's new since v0.7.1
Features
- Preview resolution (Playback > Preview resolution: Full, 1/2, 1/4): the viewer composes at a fraction of the timeline's resolution, compound clips included, and the frames are scaled down right after decoding, so less is uploaded to the GPU and the frame cache holds 4 or 16 times more frames. For smooth playback on weak graphics cards: on a Raspberry Pi 5, 1080p60 goes from about 23 fps at full resolution to a steady 60 at 1/4. Export always uses the full resolution.
Fixes
- Idle CPU use: the editor redrew the window on every display refresh even with nothing changing (a third of a core on a large project, more on high-refresh displays). It now stays idle.
- MCP
screenshot_uino longer times out while the editor is idle.
Full Changelog: v0.7.1...v0.7.2
v0.7.1
What's new since v0.7.0
Features
- Copy and paste between Venturi instances: Ctrl+C on clips or on media in the pool also writes them to the system clipboard; pasting in another window or project brings along the media and compound timelines they need, reusing media already in the pool.
- Audio cache setting (Settings > Playback), 512 MB by default.
- Discord: Help > "Join the Discord server".
Audio engine rework
Much lower memory use on long projects: on a reference project with a 29-minute master of 8 compound clips, the audio peak went from 2.2 GB to 0.13 GB.
- The preview decodes only the audio around the playhead, in blocks, by seeking instead of reading files from the start, and frees what the timeline no longer reads.
- Compound clips are mixed live instead of being rendered whole first.
- Normalization levels are measured from the files by segment, cached in memory and on disk: an edit measures again only what it touches. Files changed on disk are measured again.
- Pitch-corrected (stretched) clips, compounds included, are rendered in chunks from the files.
- Export renders its audio in chunks, streamed to the encoder.
- Fast forward stretches one window at a time, and nothing while paused.
Fixes
- Audio files with cover art (WAV, MP3, FLAC… with an embedded picture) were imported as a one-frame video and played no sound, on the timeline and in the media pool viewer.
- FFmpeg packet leak in audio and video decoding: a full audio decode kept the whole file in memory.
- Audio drifting from the video in files with a jump in their timestamps.
- Export hanging forever with a normalizing compound clip inside a normalized timeline.
- Export no longer goes on with a silent file when its decode thread dies, and stops as soon as its audio mix fails.
- A compound clip with video longer than its audio ends its audio and fade-out where the audio ends again.
- A compound clip's compressor/EQ no longer restarts (possible click) when the clip moves to another track.
- Only FFmpeg's errors are logged, not its warnings.
Full Changelog: v0.7.0...v0.7.1
v0.7.0
What's new since v0.6.0
Features
- Resolve compound clips: OTIO import turns nested stacks into compound clips (deduplicated by Resolve's Sequence ID), and Dynamic Zoom into transform keyframes.
- Freeze frame: a clip can hold a single picture while its keyframes keep animating, with silent audio and an unbounded end trim. Imported from and exported to OTIO.
- Clip speed submenu in the Clip menu: Freeze frame, 50%, 100%, 200% and Advanced. Setting a speed on a frozen clip unfreezes it.
- Paste images: Ctrl+V with an image in the clipboard asks for a name and saves it under "Pasted Images" next to the project, then imports it into the media pool.
- Drag and drop: a
.vvprojdropped on the window is opened (asking about unsaved changes), a.otiois imported as a timeline; other files still go to the media pool. - File association:
.vvprojfiles open with Venturi. Files passed on the command line are handled like dropped ones;install-linux.shand the AppImage register the newapplication/x-venturi-projectMIME type. - Ctrl+, opens the settings (configurable).
Fixes
- macOS: the app crashed at launch with
Library not loaded: …/libavcodec.63.dylib, because the bundle still linked FFmpeg from the CI build directory (#4). The build now fails if anything links outside the bundle or the system.
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's new since v0.5.0
Features
- Color correction: the Grayscale filter is replaced by a Color Correction filter with shadows, midtones, highlights and offset color wheels (laid out like a vectorscope), luminance and saturation per range, global saturation and movable range edges. Every control is keyframable, and a wheel keyframes as one row. Presets: Neutral and Black & White, which only desaturates and keeps the rest of the grade. Projects with the old Grayscale filter open as a color correction with the Black & White preset.
- Auto balance: one click moves the shadows, midtones and highlights wheels so that the neutral surfaces of the clip under the playhead turn grey. Large colored objects are left out, and the three ranges are solved together. The clip is measured on its own, without whatever covers it on the tracks above.
- Color window (toolbar → Color, or the wheel icon in the color correction's header): two GPU video scopes of the selected clip (waveform, RGB parade, vectorscope with 75% bar targets and skin tone line, histogram) above its color wheels.
- Processing precision: projects compose in 16-bit float (RGBA16F) by default and dither once to 8 bits on output, so chains of effects no longer band. Standard (8-bit RGBA8) stays available for weak GPUs, in the new Project → Project settings window. The setting is saved with the project, so preview, export and the MCP
render_framealways match. - Color wheels: gentle response near the center, pointer locked while dragging, Shift for fine control, double click to reset; luminance and saturation reset from their labels.
Fixes
- Export keeps the decoders of clips inside compound clips open between frames instead of reopening and seeking them on every frame (about 90 ms a frame on a 1080p H.264 clip).
Performance
- Standard precision composes straight into the output texture, with no extra resolve pass.
- The MCP server keeps a single GPU compositor instead of one per precision.
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's new since v0.4.6
Features
- Clip masks: rectangle, ellipse and path masks on any video clip, as part of its effect stack. On an adjustment clip they limit where its filters apply, on any other clip where it shows. Keyframable center, size, rotation, roundness, feather, expansion and opacity; invert; add/subtract/intersect combine modes. Available in the properties panel, via the
set_clip_masksMCP tool, paste attributes and the OTIO metadata. - Edit masks from the viewer: move, resize, rotate mask handles directly on the viewer; path masks get vertex/bezier handles, pen tool for new paths, Alt+click to remove a vertex, double click to toggle smooth/corner. Mask reorder buttons in the properties panel.
- Exposure filter: scales color by stops in approximate linear light, keyframable — the building block for darkening/brightening with masked adjustment clips.
Fixes
- Import dialog now shows files with uppercase or mixed-case extensions (e.g. GoPro
.MP4,clip.Mp4) on Linux (#5). - Arrow glyphs in shortcut labels and UI strings no longer render as missing glyphs.
Docs
- Architecture docs brought up to date with the code; technical documentation link added to the README.
Full Changelog: v0.4.6...v0.5.0