Created Converting legacy tab entries to macros (markdown)

WarmUpTill 2024-10-08 22:02:38 +02:00
parent 9461420855
commit 5ce6259aa5

@ -0,0 +1,64 @@
This page will describe how to convert functionality of legacy tabs to macros.
# Scene Triggers
Assuming you have the following entry on the Scene Triggers tab ...
![image](https://github.com/user-attachments/assets/25b5311f-e690-44ad-95dd-bf622265eea9)
Then you can use a macro like this to achieve the very same:
![image](https://github.com/user-attachments/assets/2164355a-a691-4d4e-a84f-41c4bf81f6a5)
Note that "Run macro in parallel to other macros" as well as "Perform actions only on condition change" should be enabled.
The different triggers ...
* is active [...]
* is not active [...]
* switched away from [...]
Can each be represented by the "Scene" condition type as ...
* Current scene is [...]
![image](https://github.com/user-attachments/assets/0a6afe35-ced5-46ec-b433-69e84f3b835c)
* Current scene is not [...]
![image](https://github.com/user-attachments/assets/81db2b25-2bb1-49da-8270-91075ed67485)
* Previous scene is [...]
![image](https://github.com/user-attachments/assets/111421f4-083f-4bc3-af5e-f3acb7ead366)
Each of the possible scene trigger actions can be represented by macro actions:
* The recording related trigger actions can be found in the "Recording" macro action type.
* The streaming related trigger actions can be found in the "Streaming" macro action type.
* The replay buffer related trigger actions can be found in the "Replay buffer" macro action type.
* The virtual camera related trigger actions can be found in the "Virtual camera" macro action type.
* The un-/mute related trigger actions can be found in the "Audio" macro action type.
* The trigger action to stop the advanced scene switcher can be found in the "Plugin state" macro action type, although I would recommend to pause the relevant macros instead of completely stopping the plugin.
# Network
The network tab offered the functionality to synchronize the currently active scene between multiple OBS instances running the Advanced Scene Switcher plugin.
It assumed the scenes have the same name on each OBS instance.
The same can be achieved by using [Variables](https://github.com/WarmUpTill/SceneSwitcher/wiki/Variables) and the [Websocket](https://github.com/WarmUpTill/SceneSwitcher/wiki/Websockets) condition and action type.
The "Server" OBS instance will have to use a macro like this:
![image](https://github.com/user-attachments/assets/a5772fab-63b6-435b-ba27-2700a6fa5fc8)
This macro sets the value of the variable `Scene Name` to the name of the currently active scene whenever the current scene changes.
This value of the `Scene Name` variable is then sent out to all connected clients, just like it would have been when using the Network tab.
You can [import](https://github.com/WarmUpTill/SceneSwitcher/wiki/Exporting-and-importing-individual-macros) this server side example macro using this code:
```
AAAJCXicvVZNj9s2EP0rBNFDu7Vc23Ecw7dk66ACdhNnvdlLUBS0NJKJlUiBpBxvDP/3zJD6crYJemkOBsTH4czjmw/6xEuRGG356tOJK1ECX/EtmAMYPuKVqC0CmSgs0MqIooCiA7S63guVo4UzNa7to6zWR0jeq60TxnV21unqdeKkVjbO3mn3p1a919zouupWqU4et+CcVDlSOnEDubQOybQGe2HvavWmdk6rNi5iG2L6DEUarrY3YjcgvZf5vsCfi7NrrVLpad3jic7CtP7v4YiX4Biv1eIC9zFxp1bP9z4GDHeTiyCBUWPUx2fCACPa44sTb4nQj454xnSGdItTNBDpwdrI5zQiMJq+TJLFfLmMlskijebZVES7eZpFs9l8sVy8Ei9g8RIdYMKtJPGm51EoiZCxLuC2KqTDTGy09WssmL8byzWSCNb/btQm8S/tHuHJDgoKJQpgMGyUHEJO53kBm2/hXiNfuBbyEpQbVk6ii0JUFtIuHLq4rrEWy8uCSIYYv31ihf9EGSQJahNQlMdC5zLhqwlqXRtBoW91KjNJtXniTpbwD5KyzgipnLezQCw9mYMoqMC6j8kY991TRZ9nurcMRwZZQNiH3kIBSdDy1B4ZtZ1KLAM2n5CepD0a8vHVls6Or7i/9r0RKiTkXpgcnN/sBBgERWVF8lNkPQgjxa4gZUHRR9r2bbvzrhlGxJX5Rb83azZjhYLKlHm82AGznVo0dsxDkJvjStXlw0D8roDw2otRe9M4PfJVNMV1vds6g5duJtlkCMkvIQlY13DcDETnDXYrXLL3vtAqkyq9I5TkC3cdjlSHxPuJWjXiU1XQQYyInqn5mdOMEB+jKkQCl3sNyD5Lt295YPNmMv9R3CD5RdhSuP36WBmwoSr4r2zKfmczdsVesN/YH2zOB0nfGF1W/aiXqqpdi/HX6CJXzBc9cWzTtwoeYm9MrPe6SAdDXj7b4FGE6QHDHF43inzVHKTRirL2cFkxH7fru83d+7fxzZr/5yaCskI3/faU6jQk0NdrUhuDob6dlN57jKdjlYYMNx0+HfZ3Kk0bfuLrEqvoBlSOmfrOiUqkKRrh+4qc5svz6H9txs+ws/hWgHvejaKSnnSnSol1IejN57+c+t48h3dLtdfsOrMHB71Jcwa6R8OGke6T3qbSY2R2GAD9H5ThTLDi0DgK0xkyUReu6/x+pn2ooYYmWJdEPh3PXo1n/PwV/JMbnQ==
```
The client side would have to configure a macro like this:
![image](https://github.com/user-attachments/assets/388b4bc7-a811-4791-ad47-3dc8223f0115)
When any websocket message is received from the specified server (configured as "My connection" in this example) the value of the message will be read and assigned to the variable `Scene Name`.
Afterwards the plugin will switch to the scene with the name `Scene Name` with the currently active transition type.
You can [import](https://github.com/WarmUpTill/SceneSwitcher/wiki/Exporting-and-importing-individual-macros) the client side example macro using this code:
```
AAAJu3icvVZLb+M2EP4rAk/t1nJtxbt53HZTL2og2bixk0uxWNDSSCZCkwJJeZ0a/u+dISVaTpo9FGgPBsThvL9vht6zDc+Ntuzqzz1TfAPsil1LAcqxAat5Y1FQcmmBToZLCTIKtLpec1WhhjMNnu2TqKc7yO/UwnHjop51uv6YO6GVnZVftPtNq6PXyuimjqdC508LcE6oClPaMwOVsA5MVFhze9+oT41zWnVxUTanTF9JMQ3X2Bu+6iW9FtVa4s/NymutCuHTWqJF1DCd/yXssAiG8bpenMh9TLxp1Ou7hyDD2/wkSMioVTrGT7iBhNIenlh8poR+ZOIzJhvq26xABV5srU09pikJ0/wsu3x/tirTMfBJOrlYXaZ8NOYplOfFKLvMsrMPK3SwBWMFNW98GARKBMRiwEUthUMk5tr6sydMTcTJLiaHQft9NpocvrYOpphbcPID2/Ms2o7IsgP8d+2e4Nn2yIftDEK0/hq73hc5XVUS5i/Fx376uBaqDdK7z7JcS8lrC0UMhy6uG+Tt5pQ8eV/Gbp8T6T+xZYKa/x1WFnsONDtSVyLHohCbxnAKf6sLUQri8p45sYFvmJh1hgucNdKzQJn6hLZcEiHjx2iI9+65ps8D1S6CSQ+1Q6cwxvaDtZzmkg3fMd9T2CGQpajIJyi+knFocaqd4L2hrttWUSBMSEEeIKNye2e8lMDNp6YswdypW+7ydXTSywsB4Pn/0v0tN8JXNmhLLLoau5svYb8tclCQ+MPxLmsvZwp7LorEy+UKEgsyloxwPQZEGJ5Us3ns4RN5hmV/GHSVzoodu0oRFNusFs5g0e1yHPVF4i/wEg/VnNOwqBP4fH+9L9QqhSruSdqH87il38aTDDEieqZ9kjidkMTHqCXP4fSuFSbfhVu/TaOXcUPLT8JuuFtPd7VBWgYq/ZSMk1+SLHmXnCU/J78mE9YDfW70pj6+HkLVjetk7CO6qFTi54Jy7OC7Ch5mXpmyXmtZ9N4N8eqCpSnCAyZxWG6aetZshdGKUHs8ZczDYno/v7/7PLuZEguIP4tICxrnMJqD7gUlTjrY1OjmeD0mngYAPV+7KX2xfL33GVrPVBEQbpfAuL8CCmG68CPPS2TRDagKkXrDouZFgUr4ZGNOkwtau//hMPoqvlmkTr5+PZBvdfB97GBvRqmXhqvwdCy7VnZb9V+uywFbSVzVD8oJuYzeT/6Z+CSXrRdcYxDfMxseFs+pjileRmrbnmD/D+WgY75tHYX3AUreSBcXy3Fl/tFAA22wmDsbD7PzYcYOfwNcf1f8
```