This allows better backward compatibility with older versions. This
will keep the current scene collection set to default if the user ever
decides to downgrade OBS versions for whatever reason.
If a scene collection wasn't found at startup, it would create a
'(null)' scene due to a null pointer.
Also, moved scene collections to the scene collections folder rather
than the base folder to prevent conflicts with the older scenes.xconfig
file.
This hopefully resolves some conflicting opinions about how scene
collections should be handled, and removes it from the general settings
panel, where it felt a bit cluttered.
Actually, I would kind of like it if profiles were handled this way too.
This feels a lot cleaner than how profiles are handled in the general
settings. The profiles thing in the general settings definitely feels
clunky.
In the main menu, the scene collections menu now has the following menu
items:
- New
- Duplicate
- Rename
- Remove
- Import
- Export
Duplicate was something I personally added - I felt like it might be a
nice thing to have for the sake of convenience. Import/Export was
requested by dodgepong, and is also definitely nice to have. Due to how
easy new scene collections are to set up it didn't take very long to put
in.
We've decided not to release scene collections. It caused some backward
compatibility issues, as well as some ease-of-use concerns. We just
don't feel comfortable with it so we're just going to go with the
import/export style that will be implemented in OBS2.
Now able to Switch between different Scene collections.
All Scene ".Xconfig" files now stored in the "sceneCollection" folder.
Changed "GetApplicationName()" added "Profile: SceneCollection: " to the beginning of the app name.
Added "Scene Collection" Combo Box in Settings General
Can add/rename/remove new scenes collections in settings general.
Can add/rename/remove new scene collections while streaming.
Can change scenes Collections while streaming.
If a volume control was muted, the hidden 'unmute volume' value was not
saved to the configuration, meaning that if you exit while muted then
restart, it would unmute to 100% each time, causing annoyance for some
users.
The log file menu will now only contain log files that have at least logged
the system stats since too many people uploaded useless logs, unfortunately
This should allow plugins to implement their own version of a log window
without having to worry about providing lightweight-ish and non-blocking
callback functions for OBSApi.
@jp9000
Implement log window
Also made it so that the log window position/size is saved. Defaults to
600x500, centered to the main monitor if no configuration found.
@palana
Log system integration and callback behavior
No new log files will be added to prevent the current log file from
becoming the topmost entry, which would render the "Upload last Log File"
entry useless
Also includes UI for opening specific log files directly from the OBS UI
On successful upload the resulting (non-API) URL is copied into the
clipboard and a message box signalling successful upload is displayed.
This should probably be expanded into a dialog with buttons to retry
copying the URL to the clipboard and maybe a text box with the URL
preselected.
Whether or not the upload URL should be cached (per log file) and reused
in case of duplicate upload (attempts) is still open for debate.
This enforces the warning that settings will not be applied until
streaming is restarted from the settings dialog for all profile settings
Also fixes a bug that would prevent start streaming/recording buttons
from being properly enabled/disabled when switching from a
recording/streaming only profile to a streaming/recording only profile
on stream stop
Additionally, the microphone volume meter got disabled when switching
from a profile with microphone enabled to a profile with microphone
disabled while the microphone was still active