Commit Graph

2457 Commits

Author SHA1 Message Date
WarmUpTill
51df608edf Allow nesting macro groups 2026-10-25 12:03:46 +01:00
WarmUpTill
312f95659c Rewrite macro tree as tree model
Basically switch from list faking the group to QAbstractItemModel used
in combination with QTreeView
2026-10-25 12:03:46 +01:00
WarmUpTill
1a542f8092 Support nested macro groups in data model 2026-10-25 12:03:46 +01:00
WarmUpTill
60e5475642 Add widget tests for macro tree
Safeguard for rework to support nested groups.
Two things to change with rework:
* Dropping onto a collapsed group appends instead of prepending
* Group running state is not updated right away when there is a
  collapsed group above it for some reason
2026-10-25 12:03:46 +01:00
WarmUpTill
621c604262 Safegurad for potential crashes in speech condition 2026-10-25 12:02:50 +01:00
WarmUpTill
d813edb6fb Keep showing selected source setting if source is unavailable
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-10-24 21:32:32 +02:00
WarmUpTill
d35c66940e Add variable action options
* Current scene
* Previous scene
* Preview scene
* Current transition
* Date / time
* Date / time with offset
* Unix timestamp
* Time since last scene change
* Json array length
* Set json field
* Format number
2026-10-24 21:32:32 +02:00
WarmUpTill
1ba1d09de9 Refactor "Variable" action 2026-10-24 21:32:32 +02:00
WarmUpTill
3ffe3c2fca Fix setting source settings without default value
Example text source's text field didn't have default value.
So, if never set before, can't be set using the "Source" action type.

Needed now that it is possible to create new sources via macro.
2026-10-24 21:32:32 +02:00
WarmUpTill
3a7ad6d59b Add "Create Source" action 2026-10-24 21:32:32 +02:00
WarmUpTill
0a17a67ce0 Sync main checkbox in export dialog when subitem selection changes
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-10-22 20:29:27 +02:00
WarmUpTill
0924f14d20 Select variables used by exported macros by default in export dialog 2026-10-22 20:29:27 +02:00
WarmUpTill
1bfe56992b Enable search for variable in macro 2026-10-22 20:29:27 +02:00
WarmUpTill
d0f483b634 Show variable usage count on variable tab 2026-10-22 20:29:27 +02:00
WarmUpTill
561f8224fd Enable tracking variable usage 2026-10-22 20:29:27 +02:00
WarmUpTill
392aebff5c Add VariableRef wrapper and variable reference collector
Just a wrapper around weark_ptr<Variable> to make tracking usage easier
2026-10-22 20:29:27 +02:00
WarmUpTill
7e1acd8f61 CI: fix Vulkan SDK install on Ubuntu
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-10-19 20:36:43 +02:00
WarmUpTill
ccaadb0ffd Fix macro pause hotkeys not displaying macro name in OBS settings
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
1.37.0-beta
2026-10-17 12:34:06 +02:00
WarmUpTill
62d443819e Support OBS 33 plugin layout on Windows
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
* Generate OBS 32 layout, too, still
* Installer supports both OBS 32 and OBS 33
2026-10-15 19:43:40 +02:00
WarmUpTill
16ff4c5679 Add option to prompt user for input on macro import 2026-10-15 19:09:39 +02:00
WarmUpTill
2683f6bb56 Improve "Get user input" option of variable action
Now also supports ...
* file selection
* folder selection
* scene selection
* source selection
2026-10-15 19:09:39 +02:00
WarmUpTill
b9be64a853 Add ValueInputWidget 2026-10-15 19:09:39 +02:00
WarmUpTill
81683d1945 Make deps/exprtk dependency optional
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-10-13 17:48:17 +02:00
WarmUpTill
4daa769831 Fix Twitch token status not reflecting reality when cached user ID empty 2026-10-13 17:48:17 +02:00
WarmUpTill
e3b2cbd579 Fix video condition not supporting variables properly 2026-10-13 17:44:50 +02:00
WarmUpTill
1fdf37d0fb Allow Unicode letters in Twitch stream tags 2026-10-13 17:36:20 +02:00
WarmUpTill
170018dd51 Fix macos fork crash in run action
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-10-12 19:47:21 +02:00
WarmUpTill
32b1fa02e0 Refactor QueueUITask helper 2026-10-12 19:47:21 +02:00
WarmUpTill
7ea944e1a3 Add undo / redo support for macros
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-10-04 13:41:00 +02:00
WarmUpTill
afd9154c84 Clear widget cache for active macro to enable undo / redo 2026-10-04 13:41:00 +02:00
WarmUpTill
75f62ed05b Fix crash when rapidly inserting / removing macro segments 2026-10-04 13:41:00 +02:00
WarmUpTill
3f37f4fcbf Disable warnings for whisper.cpp
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-09-30 11:13:13 +02:00
WarmUpTill
6f654ad162 deps: Update cpp-httplib to v0.48.0 2026-09-30 11:13:13 +02:00
WarmUpTill
205674d0c6 Adapt to new asio version 2026-09-30 11:13:13 +02:00
WarmUpTill
64aa36c783 CI: Unpin OpenSSL version in Windows build 2026-09-30 11:13:13 +02:00
WarmUpTill
6e15b5e15a deps: Update websocketpp for asio 1.38 compatibility 2026-09-30 11:13:13 +02:00
WarmUpTill
0a238f29b5 deps: Update asio to 1.38.2 for OpenSSL 4 2026-09-30 11:13:13 +02:00
WarmUpTill
d52d18833a deps: Add websocketpp as vendored code
Make it easier to apply patches as official releases are not openssl4
compatible, yet.
2026-09-30 11:13:13 +02:00
WarmUpTill
02e9b0d6d8 Ignore deps/* from formatting checks 2026-09-30 11:13:13 +02:00
WarmUpTill
ee7a2e764f Adaptitions for kWin support on Flatpak
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-09-28 21:01:42 +02:00
WarmUpTill
abc8c3708f Fix Twitch token being treated as invalid after load with broken config
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-09-23 09:32:30 +02:00
TheRealAlexV
3b63db2bde Fix crash in SendWebsocketVendorEvent during OBS shutdown
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
Guard the vendor event emission with obs_get_module("obs-websocket").
During obs_shutdown() modules are unloaded one-by-one; obs-websocket is
unloaded before advanced-scene-switcher, so the proc handler pointer (_ph)
cached in obs-websocket-api.h is already stale when FreeSceneSwitcher()
runs its stop steps. proc_handler_call() then dereferences freed memory
(use-after-free in pthread_mutex_unlock).

The existing OBSIsShuttingDown() guard does not catch this path: the
forced-exit that follows a "Source Cleanup Error" (scene collection
switch) never fires the SCRIPTING_SHUTDOWN frontend event, so the
plugin's obsIsShuttingDown flag is not set. obs_get_module() returns NULL
once the module is unloaded, which is the reliable signal that
obs-websocket's proc handler is gone.

Refs: #1404
2026-09-13 11:08:04 +02:00
WarmUpTill
fdc806be40 Convert dock window name field into a combo box
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
Should make it easier to combine docks into a single dock window without
having to know the exact dock window titles beforehand
2026-09-08 22:52:43 +02:00
WarmUpTill
01107ee858 Fix crash on shutdown 2026-09-08 22:48:13 +02:00
WarmUpTill
be8bc4a63f Add mono option 2026-09-08 22:48:13 +02:00
WarmUpTill
8a603b1675 Add audio condition check if source is enabled on a specific track
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-09-04 22:17:49 +02:00
WarmUpTill
67dda18929 Fix crash when changing scene collection on MacOS 2026-09-04 21:57:47 +02:00
WarmUpTill
e11499c308 Add "Now Playing" condition type
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-08-29 23:33:58 +02:00
WarmUpTill
e76df589e2 Fix cmake configure errors during download retry
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
2026-08-14 22:45:29 +02:00
WarmUpTill
1390565fc6 Disable additional warnings for whisper.cpp 2026-08-14 22:45:29 +02:00