WarmUpTill
2f54c2ee62
Increase volume meter scale from -100 to 0 dB
...
This was done to enable users to to use higher precision values in the
"Audio" condition type.
Previously, the UI would reset the selected values to the minimum value
possible to display in the volume meter widget, which was -60 dB.
2024-09-20 23:05:45 +02:00
Przemek Pawlas
6ccbaad41c
Add enhanced relative time to variable tab cells
2024-09-18 17:38:53 +02:00
Przemek Pawlas
57d78a996a
Add variable trim and case change actions
2024-09-16 19:42:41 +02:00
WarmUpTill
93efc7cab3
Add option to check for addition chat message properties
2024-08-24 00:23:54 +02:00
WarmUpTill
d75066df5f
Fix crash when adding new entries to the legacy tabs
2024-08-24 00:23:54 +02:00
WarmUpTill
863c84026e
Move GetSettingsWindow() to ui-helpers
2024-08-24 00:23:54 +02:00
WarmUpTill
a523081d77
Move GetIndexOfSignal() to ListEditor
2024-08-24 00:23:54 +02:00
WarmUpTill
66534519d6
Export complete RegexConfigWidget class
2024-08-24 00:23:54 +02:00
WarmUpTill
b3b2114c45
Fix SetHeightToContentHeight() not respecting diffrently sized rows
2024-08-24 00:23:54 +02:00
WarmUpTill
510f83246e
Only emit signals when value changed
...
* Fixes crash when deleting macro in case macro selection is in focus
* Prevent unnecessary create operation when switching macro segment type
2024-08-16 06:49:27 +02:00
WarmUpTill
c969b21f93
Fix MacroSelection not properly unhiding first macro in selection
2024-08-16 06:49:27 +02:00
WarmUpTill
6ec40ef8e9
Cleanup
2024-08-16 06:49:27 +02:00
WarmUpTill
27859e83b3
Fix crash when creating macro which uses macro segment factories
2024-08-16 06:49:27 +02:00
WarmUpTill
263565700a
Fix crashes related to widget highlighting
2024-08-16 06:49:27 +02:00
WarmUpTill
5bb10a4aef
Resolve unused parameter warnings
2024-08-15 01:02:03 +02:00
WarmUpTill
ee72bb192c
Improve corrupted installation detection
2024-08-15 01:02:03 +02:00
WarmUpTill
1a1028cbaa
Paste copied macro action depending on cursor position
...
If cursor is above else action section paste it there.
If cursor is above regular action section paste it there.
In case of neither paste in original position.
2024-08-14 22:02:55 +02:00
WarmUpTill
2f4f8bcc74
Add IsCursorInWidgetArea()
2024-08-14 22:02:55 +02:00
WarmUpTill
4113615cd6
Add context menu to change custom label for macro segments
2024-08-14 22:02:55 +02:00
WarmUpTill
9522d7c0b4
Adapt to new OBS dock API
...
* The plugin will no longer attempt to restore dock positions on scene
collection change.
* When a macro is being renamed the dock widget with the current name
will be removed.
A new dock with the new name will have to be opened manually.
* The status dock position will be when updating to a version containing
this changei from an older version.
2024-08-14 21:51:42 +02:00
WarmUpTill
36201cbfb4
Add API to register new macro condition and action types
2024-08-14 21:51:42 +02:00
WarmUpTill
685e28d161
Make read and write functions of variables thread-safe
2024-08-14 21:51:42 +02:00
WarmUpTill
ad322d54f0
Fix crash in case of high frequency resize events
...
I am not sure if this could really happen in normal use.
Was discovered after implementing the script properties UI widgets.
2024-08-14 21:51:42 +02:00
WarmUpTill
f9730b1bc2
Refactor DurationModifier to enable testing
2024-08-11 16:03:08 +02:00
WarmUpTill
d4025214e5
Cleanup duplicate "[advss]" log prefix
2024-08-11 16:03:08 +02:00
WarmUpTill
c431e6c31d
Show warning if default action or condition cannot be created
2024-08-11 16:03:08 +02:00
WarmUpTill
15998012e5
Change default verbosity of busy loop detection log
...
This is mostly relevant when analysing issues, so it does not make sense
to potentially spam the OBS log with this message
2024-08-11 16:03:08 +02:00
WarmUpTill
74116382b1
Enable include during unit testing
2024-08-11 16:03:08 +02:00
WarmUpTill
24f33fb0d2
Refactor condition logic to enable testing
2024-08-11 16:03:08 +02:00
WarmUpTill
bedb3b8dc6
Change plugin folder name
...
Requested by lindenkron to ease development of a plugin manager
2024-07-09 21:21:10 +02:00
WarmUpTill
8032dde045
Prevent users from accidentally enabling action cooldowns
2024-07-09 21:21:10 +02:00
WarmUpTill
17c72b772d
Display plugin load failure warning only once
2024-07-09 19:10:51 +02:00
WarmUpTill
223ce0d0a0
Fix potential crash in StatusControl
2024-07-03 13:02:34 +02:00
WarmUpTill
7f5737d03f
Use default cursor icon on macro segment control hover
...
Previously the cursor icon would be set to Qt::SplitVCursor as those
widgets were moved into the splitter handle layout
2024-06-20 21:41:28 +02:00
WarmUpTill
7702541d81
Cleanup
...
* Increase update frequency of AutoUpdateTooltipLabel
* Prevent crash in TempVariableRef::PostLoad()
* Ensure that correct widget is passed for MacroSelection connections
2024-06-20 21:41:28 +02:00
WarmUpTill
3bc15e585c
Switch QPushButton to QToolButton
...
This will be more consistent with the widget styles used throughout OBS
and solves a few layout issues
2024-06-20 21:41:28 +02:00
WarmUpTill
f50cd76493
Fix i386 build issue
2024-06-16 11:04:05 +02:00
WarmUpTill
9d4c8ab475
Fix stylesheet of StatusControl not being set to stopped state
2024-06-07 23:05:08 +02:00
WarmUpTill
3d61ea7d25
Add option to reevaluate condition state in "Macro" action
2024-06-07 21:44:21 +02:00
WarmUpTill
99c8a46296
Add option to ignore pause during condition check
2024-06-07 21:44:21 +02:00
WarmUpTill
7e1d20031c
Add HelpIcon
...
A QLabel consisting of a question mark icon and tooltip
2024-06-07 21:44:21 +02:00
WarmUpTill
0e4b000fb1
Set default action of tpye "Macro" to "Run"
2024-06-07 21:44:21 +02:00
WarmUpTill
fc2451ae08
Rename MacroProperties to MacroSettings
2024-06-07 21:44:21 +02:00
WarmUpTill
be44577967
Add option to set input variable values to Macro action
2024-06-07 21:44:21 +02:00
WarmUpTill
3480ff238e
Add macro input variable support
2024-06-07 21:44:21 +02:00
WarmUpTill
ee68427036
Add HighligthMacroSettingsButton()
2024-06-07 21:44:21 +02:00
WarmUpTill
37c32dd1ed
Move StringList from base to lib
2024-06-07 21:44:21 +02:00
WarmUpTill
c05a92d417
Refactor widget highlighting
2024-06-07 21:44:21 +02:00
WarmUpTill
d72a0c0d38
Add VariableSelectionDialog
2024-06-07 21:44:21 +02:00
WarmUpTill
235b31fccc
Add GUARD_LOADING_AND_LOCK
...
Helper macro to reduce repetition
2024-06-07 21:44:21 +02:00
WarmUpTill
286f781f4d
Add ListEditor helper widget
2024-06-07 21:44:21 +02:00
WarmUpTill
b7516cac5b
Fix crash when adding resources to resources tab
...
A crash could occur if the plugin window was closed and reopened and a
new resource was added to either the Variable, Action queue, Websocket,
or Twitch tab.
No context object was provided to the signal handlers.
The signal provider is intentionally not deleted when the UI is closed.
Because of this, the signal connections were never cleared when the
underlying tab widget was destroyed.
So, in the case of closing and reopening the settings window, the old
connection with the outdated widget pointers would be called again.
2024-06-05 01:05:31 +02:00
WarmUpTill
5e1469b0d8
Don't restore last opened tab if that tab is no longer visible
2024-06-05 01:05:31 +02:00
WarmUpTill
b3bde6c59f
Fix imported variables / actions not being added to respective tabs
2024-06-05 01:05:31 +02:00
WarmUpTill
032f5e2fe9
Improve visibility of plugin stop warning flash in status dock
2024-06-05 01:05:31 +02:00
WarmUpTill
91c053dfd8
Re-add tooltips for the "last used" cells on the variable tab
2024-06-05 01:05:31 +02:00
Przemek Pawlas
1f1ef4ca03
Add variable values swap action
2024-05-25 19:04:09 +02:00
WarmUpTill
54356d9410
Add tooltip to macro property selection in variable action
2024-05-19 01:44:10 +02:00
WarmUpTill
a01af6cfc3
Adapt code to be compatible with older MSVC redistributable versions
2024-05-18 23:31:04 +02:00
WarmUpTill
4d9c7f1054
Fix typo
2024-05-18 23:31:04 +02:00
WarmUpTill
ced36e2b5b
Add nodiscard to sync-helpers
2024-05-18 23:31:04 +02:00
WarmUpTill
8f55856fd5
Fix macro segment highlighting not being in sync
...
Each macro segment had its own internal timer to handle highlighting.
This handing was now moved centrally to the macro tab.
2024-05-10 15:11:20 +02:00
WarmUpTill
a360d53419
Enable right-click to select macro segments
...
This will be used to enable copy-paste via the context menu available
when right-clicking a macro segment
2024-05-10 15:11:20 +02:00
WarmUpTill
f723212394
Add copy-paste support for individual macro segments
2024-05-10 15:11:20 +02:00
WarmUpTill
a0cb08d18f
Fix potential crash when creating actions
2024-05-10 15:11:20 +02:00
WarmUpTill
d18044b764
Add handling for fading of else-controls
2024-05-10 15:11:20 +02:00
WarmUpTill
406b5d61f5
Add option to conditionally run action of other macros
2024-05-10 15:11:20 +02:00
WarmUpTill
9a4eef4a83
Adjust busy loop sleep to 10ms
...
This is now in line with the new minimum interval value
2024-05-10 15:11:20 +02:00
WarmUpTill
44fc5177d6
Add action queue tab
2024-05-01 19:44:57 +02:00
WarmUpTill
604a27141f
Move files
2024-05-01 19:44:57 +02:00
WarmUpTill
966b389807
Rework variable tab to use tab helpers
2024-05-01 19:44:57 +02:00
WarmUpTill
530fbdd282
Add ResourceTable class
...
Base class to be used to display items in a table
2024-05-01 19:44:57 +02:00
WarmUpTill
54f1051456
Ease detection of calling obs_module_text() too early
2024-05-01 19:44:57 +02:00
WarmUpTill
d136bf5561
Fix crash when on startup when registering new tab
2024-05-01 19:44:57 +02:00
WarmUpTill
5cba948e02
Decouple plugin init, load, cleanup handling from SwitcherData
2024-05-01 19:44:57 +02:00
WarmUpTill
d71c87535f
Add RemoveItemsByName()
...
Helper function to remove Items by name from std::queue of Item
2024-05-01 19:44:57 +02:00
WarmUpTill
ce501bd972
Move / add tabWidget related helper functions
2024-05-01 19:44:57 +02:00
WarmUpTill
cdacfc946c
Save macro segment settings in separate object
...
To avoid conflicts with other setting of the segment
2024-04-20 17:39:47 +02:00
WarmUpTill
26e854f0a3
Open macro selection dialog at plugin window location
2024-04-20 17:39:47 +02:00
WarmUpTill
2bc89364b2
Refactor NameDialog
2024-04-20 17:39:47 +02:00
WarmUpTill
e080d2de9b
Add option to set custom labels on macro segments
2024-04-20 17:39:47 +02:00
WarmUpTill
ca1262aeb7
Resize temp var selection when repopulating list
2024-04-20 17:39:47 +02:00
WarmUpTill
cbc95e2095
Add option to export macro as plain json
2024-04-20 17:39:47 +02:00
WarmUpTill
01437183ac
Fix checkbox icon of groups in macro tree not being set on OBS 30.1.2
...
This change is necessary because of
https://github.com/obsproject/obs-studio/pull/9584
2024-04-07 20:23:54 +02:00
WarmUpTill
e5ab2ceca3
Fix build issue with GCC 13.2.0 and clang-17
2024-04-04 20:49:10 +02:00
WarmUpTill
e19f4ddf7c
Fix variable deletion via variable tab not updating variable selections
...
The order of operations was incorrect.
First the signal that a variable was removed was propagated before the
variable was actually selected.
So e.g. scene item selections would receive the signal that a variable
was deleted but when repopulating the scene item selection the variable
still exists resulting in the list of available entries not to change.
2024-04-02 17:59:17 +02:00
WarmUpTill
4e3a062084
Only insert enabled actions to action queues
2024-04-02 17:59:17 +02:00
WarmUpTill
96db0ad507
Fix crash when stopping queue from within the queue
2024-04-02 17:59:17 +02:00
WarmUpTill
14dd390680
Add option to truncate or pad variable value
2024-04-02 17:59:17 +02:00
WarmUpTill
c8545dea4d
Fix crash when setting variable to invalid environment variable
2024-03-22 21:55:47 +01:00
WarmUpTill
e1b8edd444
Improve macro name conflict error messages
2024-03-22 21:55:47 +01:00
Przemek Pawlas
6df818503e
Add macro option to stop and rerun actions
2024-03-15 21:27:08 +01:00
WarmUpTill
b17a6cc109
Formatting changes
2024-03-12 21:56:25 +01:00
Przemek Pawlas
6c4e4b8cd8
Don't show 2 warning popups for groups with macros
2024-03-10 13:48:57 +01:00
Przemek Pawlas
7b1a256f8a
Add Del/F2 keyboard shortcuts for macro and var removal/renames
2024-03-10 13:48:57 +01:00
Przemek Pawlas
7fa0ba3355
Add change count to var tab tooltip
2024-03-10 13:48:57 +01:00
Przemek Pawlas
eec9244e4c
Variable related refactors
2024-03-10 13:48:57 +01:00
Przemek Pawlas
e265e4828e
Add tooltip with full var value to variable tab
2024-03-10 13:48:57 +01:00
Przemek Pawlas
ad6e720912
Add last changed column to variable tab
2024-03-10 13:48:57 +01:00
WarmUpTill
497b3b3e04
Clean up macro import and add action queues
2024-03-09 12:00:52 +01:00
WarmUpTill
03494c2915
Adapt to volume widget slider changes
2024-03-09 09:18:29 +01:00
WarmUpTill
bcf7c247bf
Increase precision of volume widget slider
2024-03-09 09:18:29 +01:00
WarmUpTill
8080abc93c
Fix crash when opening setting window
2024-03-03 20:54:15 +01:00
WarmUpTill
902715bd3e
Save settings when switching to new macro
...
This should ensure that settings are saved more frequently and less data
is lost in case the plugin crashes with the settings dialog opened.
2024-03-03 20:54:15 +01:00
WarmUpTill
ab0cce9eaa
Add log level which prints performed actions
2024-03-02 15:27:02 +01:00
WarmUpTill
03e71e9183
Add support to resolve variables on action queue add
2024-03-02 15:27:02 +01:00
WarmUpTill
f8dadd38b4
Add ResolveVariables()
...
Settings will be set to fixed values based on the values of the
variables used.
2024-03-02 15:27:02 +01:00
WarmUpTill
2928775f5b
Add option to resolve variables on queue add
2024-03-02 15:27:02 +01:00
WarmUpTill
673ac8078b
Update lastVariableChange when using settings dialog to change value
2024-03-02 15:27:02 +01:00
WarmUpTill
234ae27205
Fix crash when running RunPostLoadSteps()
...
RunPostLoadSteps() could be called with "stale" post load steps as
RunPostLoadSteps() was never called when a copy of an action or
condition was created
2024-03-02 15:27:02 +01:00
WarmUpTill
a740a29798
Cleanup includes
2024-03-02 15:27:02 +01:00
WarmUpTill
2b2bab8fbc
Backup setting on exit to plugin config dir
...
Only one version of the settings file will be kept per scene collection
and plugin version combination
2024-02-28 12:53:02 +01:00
WarmUpTill
f50f31ec4c
Allow stop of current macro when using run button
2024-02-26 20:56:26 +01:00
WarmUpTill
cf97c1f60b
Add Clear() to MessageBuffer
2024-02-24 16:48:52 +01:00
WarmUpTill
fb7bcd57cd
Add more tests
2024-02-24 16:47:50 +01:00
Przemek Pawlas
01cf000cbe
Refactor
...
* Minor style changes
* Move function definitions
* Split utility.hpp
* Enable include of export-symbol-helper.hpp in tests
2024-02-24 16:47:50 +01:00
Przemek Pawlas
dcba7c535d
Check for lower/upper GetDouble/GetInt limits
2024-02-24 16:47:50 +01:00
Przemek Pawlas
b2fc560701
Store truncated representation of doubles when used as variables
2024-02-24 16:47:50 +01:00
WarmUpTill
394e2500e8
Add simple message buffer and dispatcher
2024-02-21 18:02:22 +01:00
WarmUpTill
06fef08f56
Add variable tab
...
This should make it significantly easier to get an overview of the
variables, which currently exist, modify their settings, or potentially
remove multiple variables.
2024-02-21 10:10:03 +01:00
WarmUpTill
a7da22b7e9
Keep track of last use of variable
2024-02-21 10:10:03 +01:00
WarmUpTill
cb58eb9f04
Add return value to ReplaceAll()
...
Returns true of the string was modified and false otherwise
2024-02-21 10:10:03 +01:00
WarmUpTill
b803c0ad75
Update header info of action queue macro segments
2024-02-20 21:48:09 +01:00
WarmUpTill
b5426b398a
Fill rename dialog with current name
2024-02-20 21:48:09 +01:00
WarmUpTill
c94863b0cb
Fix item selection not updating correctly
...
* Remove could lead to the "add" dialog being opened
* Rename could result in some entries not being renamed (due to
FilterComboBox using a QComboBox with setEditable() set to true)
2024-02-20 21:48:09 +01:00
WarmUpTill
e13b9b0aa7
Add helpers which also update the lineEdit text of FilterComboBox
2024-02-20 21:48:09 +01:00
WarmUpTill
aa1b10425f
Fix temp var references not being resolved on macro copy and import
2024-02-17 13:54:00 +01:00
WarmUpTill
6cbfc48736
Rename function
2024-02-17 13:54:00 +01:00
WarmUpTill
84e01c0c9c
Fix warnings
2024-02-17 10:03:04 +01:00
WarmUpTill
7f5d7325ba
Use RAII wrappers
2024-02-15 21:12:01 +01:00
WarmUpTill
5aadca41d4
Fix crash on shutdown
2024-02-15 21:12:01 +01:00
WarmUpTill
f5d072414f
Fix skip of first execution of macros on startup not working
2024-02-15 21:12:01 +01:00
WarmUpTill
8ba246a349
Add regex support for "find and replace" variable action
2024-02-10 23:13:04 +01:00
WarmUpTill
8ca5e76afb
Move variable files to to variables folder
2024-01-31 16:11:31 +01:00
WarmUpTill
b22913a22c
Warn if settings might contains sensitive data
2024-01-31 16:11:31 +01:00
WarmUpTill
88ad694d8c
Switch to RAII wrappers
2024-01-31 16:11:31 +01:00
WarmUpTill
e36e4f61da
Clean up variable signal handling
2024-01-31 16:11:31 +01:00
WarmUpTill
8f77b6cbd7
Set sensible tab order
2024-01-30 19:50:58 +01:00
WarmUpTill
19bc270d5c
Fix manually started macros not being stopped when stopping the plugin
2024-01-27 14:10:34 +01:00
WarmUpTill
462c3445e3
Add StopAllMacros() helper
2024-01-27 14:10:34 +01:00
WarmUpTill
88bc87b367
Fix typo
2024-01-27 14:10:34 +01:00
WarmUpTill
aeb0e7f8ad
Fix hotkey condition evaluating to true if macro was paused
...
The condition check now also takes the time during which the macro was
paused into consideration
2024-01-27 14:10:34 +01:00
WarmUpTill
0c97b3be4a
Add MacroWasPausedSince()
...
It will allow you to query if the macro was paused since a given time
point.
It checks this by comparing the time point against the time point at
which the macro was last paused.
2024-01-27 14:10:34 +01:00
WarmUpTill
9855f0c64a
Rename function
2024-01-27 14:10:34 +01:00
WarmUpTill
6d1c0dda91
Fix input dialogs causing crash on shutdown
2024-01-27 14:10:34 +01:00
WarmUpTill
8701ec807e
Add more tests
2024-01-27 14:10:34 +01:00
WarmUpTill
cf5f338902
Split utility headers
2024-01-27 14:10:34 +01:00
WarmUpTill
8b9f3064ba
Fix else-actions being executed for paused macros
2024-01-27 14:10:34 +01:00
WarmUpTill
b199b8bcff
Fix warning
2024-01-27 14:10:34 +01:00
WarmUpTill
77528520d9
Change settings defaults
...
* Start plugin by default
* Highlight condittions, actions, and recently executed macros by
default
* Open Macro tab instead of General tab when opening settings window
* No longer start legacy websocket server and client
2024-01-27 14:10:34 +01:00
WarmUpTill
7d0332dd0e
Restructure library and plugins
...
The "core" macro conditions and actions have been extracted out to the
"base" plugin.
The library now mostly contains functionality which is required across
all plugins and (e.g. definitions for macro segments).
The goal is to reduce the complexity and cross-dependencies and group
the source files in a better way.
This should relsove the "library limit of 65535 objects exceeded" build
issue occuring in some Windows build environments.
2024-01-27 14:10:34 +01:00