VinciFlow - Stream Graphics Controller

VinciFlow - Stream Graphics Controller 3.4.4

Bug Fixes​

  • Subtitle Color Inheritance - Fixed an issue where subtitles in the default lower-third template were incorrectly inheriting the title color.
  • Import Override - Resolved a bug where importing configurations could unintentionally overwrite existing titles and subtitles.

User Experience​

  • Contextual Tooltips - Added helpful tooltips across various features to improve clarity and user guidance.
  • UI Polish - Corrected multiple typos throughout the application for a cleaner, more professional interface.

Groups & Layout​

  • Sort by Group - Added a new Sort by Group button to the left-side navigation row in the Groups Dialog.
  • Tabbed Editor Redesign - Reworked the right-side editor into a tabbed interface, clearly indicating that Carousel behavior is a group-level feature.

System Architecture​

  • Per-Scene-Collection State - Rewrote the state management system to support independent states per OBS Scene Collection. The selected Browser Source is now persistent and correctly restored when switching between collections.

Styling & CSS​

  • Position Element (Advanced Styling) - Introduced a new Position Element option in the positions dropdown, allowing direct styling of the parent list item. This is especially useful for scoreboards, ensuring animations remain smooth and flicker-free.
  • Advanced CSS Scoping - Implemented robust CSS binding to scope all styles to their respective parent IDs, preventing cross-template style bleeding.
Fixed the update checker
Added an extensive check on API parameters like param_x_Y now you can use long type string to replace the values easier
Each lower third can now define an API Template in the Layout settings.

- A JSON object describing runtime fields (e.g.
Code:
score
,
Code:
player
,
Code:
team
, etc.).
- Stored in the project configuration and exported/imported with templates.
- Validated in real time in the UI (syntax and object shape).
- Acts as a schema and default seed for generated parameter files.
I am moving forward as VinciFlow. This rebrand eliminates any confusion with similar plugins and solidifies the position as the premier choice for dynamic broadcast automation and sports interfaces
Smart Lower Thirds – Development Update

This update focuses on Groups (formerly Carousels), scheduling accuracy, hotkeys, dock UI polish, and startup refresh behavior.

- Carousel concept was refactored into Groups.
- Groups now fully control their own playback, timing, and visibility.
- Backward compatibility with existing setups is preserved.

- Added Exclusive option to Groups.
- When enabled, showing one lower third in the Group hides all others from that same Group.
- Works for manual triggers, hotkeys, and automation.

- Group Visible Duration and Time Between Items now work correctly.
- Values are set in seconds in the UI.
- Active lower third shows a live “Hides in mm:ss” countdown while the Group is running.

- Manually triggering a lower third from the dock now stops its running Group.
- Prevents scheduler conflicts.

- Each Group now has a single Toggle Hotkey.
- Press once to start, press again to stop.
- Same selector UI as individual lower thirds.

- Hotkeys are now globally unique.
- Assigning a hotkey that is already used clears the previous assignment automatically.
- All hotkeys are saved and restored on OBS restart.

- Resources, Browser Source, and Browser Size rows now use a clean two-column layout.
- Group checkboxes (Loop, Exclusive) are aligned on the same row under Dock Highlight Color.

- Plugin now checks for new versions and marketplace updates on every OBS launch.
- Local cache is only used when offline.

This update brings more reliable automation, precise group scheduling, conflict-free hotkeys, a cleaner dock layout, and always-fresh marketplace data.
Now all placeholders can be used across all template files allowing you to customize the lower thirds even further
The github issues were fixed and now the update is live
  • Like
Reactions: AdmiralFunghie
Due to a massive outage on launchpad.net the github compilers could not build the artifacts so the last version is not yet available

1768515896045.png
We’ve implemented four new color placeholders to give you even more control over your lower thirds. By adding {{TITLE_COLOR}}, {{SUBTITLE_COLOR}}, {{PRIMARY_COLOR}}, and {{SECONDARY_COLOR}} along with new smart fallback logic, template developers can now offer end-users deeper levels of customization than ever before.
✨ Summary

This update focuses on visual polish, layout stability, and usability improvements across the Lower Thirds Gallery and Settings UI:

  • Fixed stretched and uneven layouts in all settings panels.
  • Introduced proper top-aligned content behavior inside full-height panels.
  • Redesigned the Lower Thirds Marketplace cards for perfect full-width alignment.
  • Removed unwanted borders and spacing artifacts.
  • Center-aligned call-to-action buttons for a cleaner, more professional look.
  • Improved browser source cache refresh logic and API fallback handling.
  • Added robust CDN and offline-safe behavior for template loading.




  • All settings panels now keep controls packed at the top while the panel itself remains full height.
  • Reworked layout structure using internal QVBoxLayout + QGridLayout + stretch pattern.
  • Eliminated vertical control stretching in:
    • Content & Media panel
    • Style panel
    • Templates panel
  • Introduced consistent column stretch rules for labels vs inputs.
  • Improved overall visual density and professional alignment.

  • Removed unwanted right-side borders and frame artifacts.
  • Forced each marketplace card to span the full available width (no empty gutter).
  • Replaced StyledPanel frames with clean, modern card styling.
  • Center-aligned the Get Template button both horizontally and vertically.
  • Improved icon loading with disk + memory cache fallback.
  • Added resize-safe behavior to keep cards aligned when dialog size changes.
  • Improved hero header styling and spacing.

  • Added full API response logging for silent network failures.
  • Implemented disk-cached fallback for:
    • Marketplace templates list
    • Template preview images
  • Improved error reporting when:
    • Network is blocked
    • CDN is unreachable
    • API returns invalid JSON
  • Ensured marketplace still displays cached templates when offline.

  • Switched to timestamped HTML regeneration:
    • Code:
      lt-<timestamp>.html
  • Added versioned CSS/JS loading:
    Code:
    <link rel="stylesheet" href="lt.css?v=TIMESTAMP">
    <script defer src="lt.js?v=TIMESTAMP"></script>
  • Ensured refresh works without OBS restart.
  • Removed dependency on filename renaming for CSS/JS.
  • Implemented proper OBS Browser Source reload trigger.

  • Separated panels for:
    • Template Editors (HTML / CSS / JS)
    • Template Placeholders reference
  • Both panels are now:
    • Independently sized
    • Top-aligned
    • Visually balanced
  • Added expandable full-screen editor buttons.
  • Improved monospace rendering and scroll behavior.

  • Unified layout patterns across all settings pages.
  • Replaced ad-hoc alignment hacks with proper Qt layout mechanics.
  • Removed invalid API calls (
    Code:
    Align()
    on widgets).
  • Improved size policy usage (
    Code:
    Expanding
    vs
    Code:
    Maximum
    vs
    Code:
    Fixed
    ).
  • Optimized image loading threading and cache reuse.
Back
Top