Commit Graph

306 Commits

Author SHA1 Message Date
WarmUpTill
d69364ec19 Fix crash on IRC disconnect due to maintenance
Reworked the (dis)connect handling
2024-08-24 00:23:54 +02:00
WarmUpTill
a523081d77 Move GetIndexOfSignal() to ListEditor 2024-08-24 00:23:54 +02:00
WarmUpTill
5bb10a4aef Resolve unused parameter warnings 2024-08-15 01:02:03 +02:00
WarmUpTill
8bac6fe829 Set Run condition default timeout to one second
The action is often used in combination with python scripts which
usually take longer to initialize than 100ms
2024-08-14 21:51:42 +02:00
WarmUpTill
ac7531decb Fix crash in MIDI initialization 2024-08-14 21:51:42 +02:00
WarmUpTill
a088325968 Refresh pattern data when pattern file changes 2024-08-11 16:03:08 +02:00
WarmUpTill
d80df57ef8 Increase default threshold value for image pattern matching
The previous default value could cause a lot of false positive
detections and thus cause confusion if the image detection is working
correctly or not.
2024-08-11 16:03:08 +02:00
WarmUpTill
240c47975c Rework Media condition
* Split state and time check
* Improve signal handling
* Prevent exponential memory groth when using the "any" / "all" check
* Improve layout
2024-08-07 21:22:45 +02:00
WarmUpTill
bfc51b2df5 Add option to set individual transform settings 2024-07-09 21:00:25 +02:00
WarmUpTill
2160da59f3 Add support to check values of individual transform settings 2024-07-09 21:00:25 +02:00
WarmUpTill
d3164e3ed6 Add TransformSettingSelection 2024-07-09 21:00:25 +02:00
WarmUpTill
3ff9a1f270 Add USB condition type
It allows users to check if a given USB device is currently connected
2024-07-08 20:54:26 +02:00
WarmUpTill
5bd3341681 Add option to clear message buffer on match 2024-07-03 13:02:34 +02:00
WarmUpTill
bb527d6910 Improve error logging of commercial start via Twitch action 2024-07-03 12:55:49 +02:00
WarmUpTill
dfedbcf31a Add option to set maximum replay buffer time 2024-06-26 19:19:41 +02:00
WarmUpTill
1bbfd16b3f Add option to check disk space available
Based on the OBS stats dock implementation, which queries the drive to
which outputs would write to
2024-06-22 15:40:47 +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
d77101b6aa Restore fullscreen projector display selection
Instead of discarding the monitor selection now only no longer perform
the action while the monitor setup is changed.
2024-06-18 21:24:28 +02:00
WarmUpTill
c1e23f9c7a Improve slide show condition
* Add temp var support
* Add regex support for path check
* Improve layout stretch handling
2024-06-16 18:42:06 +02:00
WarmUpTill
70415cd8f4 Add support for "slideshow_v2" 2024-06-16 18:42:06 +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
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
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
45967a090f Add tempvar support to filter condition 2024-06-05 01:05:31 +02:00
WarmUpTill
687fb4623e Add tempvar support to source condition 2024-06-05 01:05:31 +02:00
WarmUpTill
4157ae4ed2 Add option to check source height and width 2024-06-05 01:05:31 +02:00
WarmUpTill
7cc44b4470 Fix folder watch condition filter handling 2024-05-19 03:46:53 +02:00
WarmUpTill
defbdf8b7a Add folder condition
It allows you to watch for chagnes in a given folder
2024-05-19 01:44:10 +02:00
WarmUpTill
d2749f29b0 Add note about limitations of the window focus action 2024-05-14 20:23:36 +02:00
WarmUpTill
b78c8bc1de Assume minimum volume when no volume update was received within 250ms
Without this timeout the peak volume update, which was received last,
would be used permanently until the next update arrives.
This might only take place when the source produces audio output again.
2024-05-14 19:12:49 +02:00
WarmUpTill
cc4a3560d8 Fix "Window" actions not being applied to OBS windows 2024-05-12 01:29:06 +02:00
WarmUpTill
3ab2ea9e66 Only update Twitch tab content when switching to it
This should reduce the potential lag introduced when querying the token
status using the Twitch API
2024-05-12 01:28:51 +02:00
WarmUpTill
69b82ee2a3 Fix audio condition incorrectly reporting very low volume levels
OBS might very rarely not update _peak quickly enough when very low
intervals are configured on the General tab.
In that case _peak might be set to negative infinity still, which will
result in unexpected behavior, so we use the previously valid peak value
instead.
2024-05-10 15:11:20 +02:00
WarmUpTill
f14e6bf252 Fix crash when access to midi devices is denied 2024-05-10 15:11:20 +02:00
WarmUpTill
e51ae79b4c Improve window action
* The focus action no longer restores maximized windows
* The focus, maximize, minimize, and close actions will be performed on
  all handles matching the given window title
2024-05-10 15:11:20 +02:00
WarmUpTill
d28164d02f Fix initial replay buffer save not triggering condition 2024-05-10 15:11:20 +02:00
WarmUpTill
efaf9a2ef3 Add option to check if hotkey is released
This was already possible previously by inverting the logic with a
"not", however, this should it make it more obvious that this type of
check is possible.
2024-05-09 23:19:08 +02:00
WarmUpTill
edb2952fd6 Add temp vars to file condition 2024-05-09 22:14:43 +02:00
WarmUpTill
e359b7fa00 Add Twitch connection tab 2024-05-01 19:44:57 +02:00
WarmUpTill
a6bcce5a63 Add websocket connections tab 2024-05-01 19:44:57 +02:00
WarmUpTill
ab922f6735 Rename and refactor websocket helpers 2024-05-01 19:44:57 +02:00
WarmUpTill
e16f1d732d Fix layout of the "System tray notification" action 2024-04-25 19:30:43 +02:00
WarmUpTill
2bc89364b2 Refactor NameDialog 2024-04-20 17:39:47 +02:00
WarmUpTill
9c5051cbf8 Increase scene item index selection maximum to 999 2024-04-20 17:39:47 +02:00
WarmUpTill
e6ca3390a2 Resize settings selection when repopulating list 2024-04-20 17:39:47 +02:00
Przemek Pawlas
e74b531905 Fix saving scene item index range 2024-04-15 19:17:28 +02:00
WarmUpTill
e5ab2ceca3 Fix build issue with GCC 13.2.0 and clang-17 2024-04-04 20:49:10 +02:00
WarmUpTill
6b4bcc074a Add option to press buttons in the properties dialog of filters 2024-04-02 17:59:17 +02:00
WarmUpTill
3fe8ea8961 Fix timer condition not properly using random values 2024-04-02 17:59:17 +02:00
WarmUpTill
3ee913ea98 Add option to enable or disable sources on audio tracks 2024-04-02 17:59:17 +02:00
WarmUpTill
d18277653c Resolve settings groups in source selection 2024-04-02 17:59:17 +02:00
WarmUpTill
8c478cc330 Add control description to source selection 2024-04-02 17:59:17 +02:00
WarmUpTill
003ffc161b Show warning if system tray is disabled in OBS settings 2024-04-02 17:59:17 +02:00
Przemek Pawlas
74dc0c871b Add Run action/condition temp vars 2024-03-24 14:44:24 +01:00
WarmUpTill
f3996855c3 Add example OBS websocket message 2024-03-22 21:55:47 +01:00
WarmUpTill
00fc313609 Add clipboard condition type 2024-03-15 22:00:57 +01:00
WarmUpTill
b17a6cc109 Formatting changes 2024-03-12 21:56:25 +01:00
Przemek Pawlas
c656bb4571 Fix invalid JSON storage of source/filter double values 2024-03-10 13:48:57 +01:00
WarmUpTill
70dad8ebb4 Handle MIDI device disconnect and reconnect 2024-03-09 12:00:52 +01:00
WarmUpTill
891811aa47 Convert audio volume thresholds to new format 2024-03-09 09:18:29 +01:00
WarmUpTill
be9ddaa4c9 Increase precision of percent based volume threshold input 2024-03-09 09:18:29 +01:00
WarmUpTill
132d89b350 Fix virtual camera action selection causing a crash
The Create() and Copy() functions were not correctly implemented and
returned a nullptr
2024-03-06 12:53:43 +01:00
WarmUpTill
daf16357c9 Fix output volume check of audio condition not working
Only the percent based selection was not working properly since the
calculation was off by a factor of 100.
2024-03-03 20:54:15 +01:00
WarmUpTill
6c121a093b Add "Log" action
This action will allow you to write custom messages to the OBS log
2024-03-02 15:27:02 +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
a740a29798 Cleanup includes 2024-03-02 15:27:02 +01:00
WarmUpTill
341a58b8e4 Add window action
It allows to set the focus window and close windows.
Only supported on Windows for now.
2024-03-02 14:03:00 +01:00
WarmUpTill
534c783bd8 Fix initial Twitch chat message not being sent 2024-02-24 16:48:52 +01:00
WarmUpTill
14a12432e9 Cleanup 2024-02-24 16:48:52 +01:00
WarmUpTill
1be72218a9 Clear message buffers when macro was paused 2024-02-24 16:48:52 +01:00
WarmUpTill
782791b013 Switch to message buffer / dispatcher for Twitch chat messages 2024-02-24 16:48:52 +01:00
WarmUpTill
04631964d3 Switch to message buffer / dispatcher for MIDI messages 2024-02-24 16:48:52 +01:00
WarmUpTill
97983d5ac5 Adapt to new libremidi version 2024-02-24 16:48:52 +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
WarmUpTill
c3f207f93c Add decibel selection to audio condition 2024-02-21 18:48:54 +01:00
WarmUpTill
583b559c78 Adjust minimum volume dB from -60 to -100 2024-02-21 18:48:54 +01:00
WarmUpTill
bb1f19c0cb Use correct capitalization for "dB" 2024-02-21 18:48:54 +01:00
WarmUpTill
a62883153c Switch to message buffer / dispatcher for Twitch event sub messages 2024-02-21 18:02:22 +01:00
WarmUpTill
41033f2230 Switch to message buffer / dispatcher for websocket messages 2024-02-21 18:02:22 +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
87c18143a2 Fix crash when switching settings in the OBS stats condition 2024-02-17 13:49:02 +01:00
Przemek Pawlas
58144bf9a8 More efficient QComboBox items initialization 2024-02-17 13:49:02 +01:00
Przemek Pawlas
438d9bf220 Use RAII wrappers 2024-02-17 13:49:02 +01:00
WarmUpTill
d8d73f0cd4 Show refresh button if source / filter selection is a variable 2024-02-17 10:03:04 +01:00
WarmUpTill
84e01c0c9c Fix warnings 2024-02-17 10:03:04 +01:00
WarmUpTill
8e7955984e Update cmake
Based on obs-plugintemplate@68e9fcd
2024-02-17 10:03:04 +01:00
WarmUpTill
5cc5a3d412 Display warning if token expired or no token is selected 2024-02-15 21:14:35 +01:00
WarmUpTill
9c4fdc9803 Update hotkey name when description is changed
This makes it easier to identify the hotkey in external tools
2024-02-15 21:12:01 +01:00
WarmUpTill
71a887db03 Disable audio fade controls if fading is not checked 2024-02-15 21:12:01 +01:00
WarmUpTill
768356e11e Rename variable 2024-02-15 21:12:01 +01:00
WarmUpTill
668bba16ea Add temp variable support to streaming condition 2024-02-10 01:46:53 +01:00
Przemek Pawlas
96809f76b9 Fix token permissions warning when it's invalid 2024-02-08 21:30:50 +01:00
WarmUpTill
62743afaa7 Fix setting value selection not being visible for on change check 2024-01-31 19:58:58 +01:00
WarmUpTill
74a3bf0b12 Rename websocket connections settings entry 2024-01-31 16:11:31 +01:00
WarmUpTill
e36e4f61da Clean up variable signal handling 2024-01-31 16:11:31 +01:00
WarmUpTill
9eda8be954 Improve Display condition
* Add temp variable support
* Add options to check display width and height
* Add option to select comparision operator for display count check
2024-01-30 19:50:21 +01:00
WarmUpTill
d237e3fe4e Add temp variable support to websocket condition 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
8701ec807e Add more tests 2024-01-27 14:10:34 +01:00
WarmUpTill
9b34af98fd Buffer websocket messages until they were processed 2024-01-27 14:10:34 +01:00
WarmUpTill
cf5f338902 Split utility headers 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