OBS Scene Timer

Free OBS Scene Timer v2.0.2

A new patch has been released.
Hi all,

The last week I spend some time fixing most of the issues I saw thanks to the automatic error reporting service. The new update is available here.

Note that the remote sync web client also has been updated.
Hi all,

I spend some priority time to make OBS Scene Timer compatible with the new OBS v28 release, which uses the new websocket v5 protocol. While doing this, I've moved the whole repository to GitHub. Release notes can be found there, as for the files itself. Here's the link.

Please let me know if the new version of OBS Scene Timer is unstable.
This small update contains some minor changes, mostly in the user interface:
  • Added command line option `--clear-update-history` to force check for new updates.
  • Renamed "Cancel" button to "Skip", in new update popup.
  • Added support/donation link to application information dialog.

Feel free to leave valuable feedback!
Long time no see

Here's a new update thanks to your feedback!

  • HTML web client is now available for use (separate download)
  • Added automatic update notifier
  • Added 'Always on top' functionality

  • Fixed OBS Scene Timer not shutting down correctly when OBS has already been shut down
  • Fixed Config error not showing correct property file
  • Fixed some tests
  • Updated screenshots

HTML Client

A separate download is available: HTML Client (obs-scene-timer-client-v0.1.html). Download and open this .html file in your browser to use this client. You can also use this link ('file:///path/to/file.html', see your browsers address bar when the file is openend) to create custom OBS Scene Timer docks in OBS (use 40% scale) or add OBS Scene Timer as a (browser) source to your scenes. Great way to have the timer in multiview.

Please see the README on Bitbucket for more information: https://bitbucket.org/sajansen/obs-scene-timer/src/master/#markdown-header-web-client. Also make sure to start the Remote sync server (Tools / Remote sync / Start as server).

Basics to configure this client is by adding 'query parametres' to the URL. These start with '?' and are separated by '&', like this: 'file:///path/to/file.html?scale=50&alignment=vertical'. These are the parameters:

- 'address': sets the address for the websocket to connect to (the address of the master OBS Scene Timer). Default is "ws://localhost:4050".
- 'scale': scales the text in percentage. Default is '100', normal scale.
- 'alignment': specifies how the two clocks must be aligned: 'horizontal' or 'vertical' (default). Note that if the page size gets to small, the clocks will auto realign themselves to fit in the page.
In this new update some requested features were added:
  • Insert time as seconds or as (H):mm:ss notation. 121 seconds will be converted to 2:01. Arrow keys still work. And inserting -1 will reset the limit value to the default value.
  • In Windows, the timer progress will be visually displayed in the task bar. Including green, yellow and red colors.
  • In the last 10 seconds (adjustable), the timer screen will flash to catch your attention.

Further more, the following small features/fixes were added:
  • VLC Media Sources are now supported to automatically calculate scene duration.
  • There's an option to configure how the source length of a VLC Media Source playlist should be handled.
  • Tooltip in group assignment screen is more clear.
  • Scenes can be reloaded using the menu or Ctrl+Alt+R to fetch the latest source changes. For example, if you added a new media source.
  • The default properties file is now named: obs-scene-timer.properties. You can still use your old user.properties file.
Some requested features were added, like Grouping Scenes, Hot Keys, and Customizable Window Title.

Note: this update will reset your manual specified scene time limits.

- Group scenes so that the timer doesn't reset between grouped scene changes.
- Reset scene time limit to default value by inserting -1 as time limit. (The new time limit will be automatically calculated and inserted, so you won't ever actually see the -1 as it automatically jumps to its new default value.)
- Added hotkeys/shortkeys. Check the README if they aren't obvious enough.
- Added dynamic window title. Variables can be used: {sceneName}, {timerElapsed}, {timerRemaining}, and {sceneLimit}.
- Added documentation for the websocket server.
- Added readable clock time format as tooltiptext on time limit inputs. Just hover to see what you are actually typing.
- Assigned default buttons for dialogs.
- Esc and Ctrl+W now close popup windows. Ctrl+Q quits the application.
- Added "--offline" console command to disable connection with OBS on startup. I don't know why you want to use that.
- Added list colors to Theme.
- Fixed wrong timeout setting in Settings window. The application tricked you into thinking that you are changing the one variable while you were actually changing another variable. Evil.
- Remove default focus from first text field from Settings window to Save button, so we don't accidentally change those values.
- Application now exits cleaner.
- Append application startup log with blank lines, so we can see the difference between sessions.

Stay safe.

Screenshot from 2020-08-17 11-51-32.png
Start the new month with the new release of OBS Scene Timer. Main subjects of this release:
  • Ability to handle larger scene collections to solve the "scenes not loading" bug
  • One Timer server for control and multiple Timer clients for ... name your usage
  • Window restoring

This release includes the following:
  • Increased message size between OBS and OBS Scene Timer to 1 MB to support very very very long scene collections.
  • You can use a password for secured OBS websockets (note that the password is stored as plain text in the settings file).
  • You can use multiple instances of OBS Scene Timer running on multiple computers in the same network and set up one instance as the master/server and the others as clients. These clients will listen to their server only. Any changes on the server will be instantaneously visible on the clients.
  • Save and restore window size/location.
  • Added full screen support.
  • A timer start delay is added (default: -300 milliseconds) to deal with transition times.
  • Websocket scanning tool has an adjustable timeout setting. So if you couldn't find the server due to slow network, increase this timeout.
  • Application will log what it's doing to a log file. This can be turned off.
  • "Connection re-established" notifications are still pushed, but marked as read by default.
  • Notifications containing errors will display more details about these errors.
  • To make the previous feature more useful, more error catching points were added.
  • Automatically calculate scene time limits using its video sources can be turned off.
  • After changing the settings, the GUI will reload so theme changes are immediately visible without needing to restart the application. Other settings may still require application restart.
  • On application start, the 'current scene' label will display 'Waiting for connection...' instead of 'Initializing...', until a current scene is loaded/received.
  • A lot of code refactoring is done. Hopefully this will only increase user experience ;)

I hope part of this release will solve the more common problem of "scenes not loading and keeps reconnecting to OBS", with the increased message limit and more detailed error messages. For the other part, I hope it will bring you a better experience ;)

In this pre-release, the following has been added/changed:
  • Implemented password authentication with a possible secured OBS websocket
  • Window position and size can be restored (you can disable this in the settings)
  • Added file logging (you can turn this on in the settings, log file will be created in your system's temp folder)
  • Websocket scanning timeout is adjustable. If the scanner cannot find your OBS, try increasing this timeout
  • Increased maximum message size received from OBS (from 64 kB to 256 kB) (so we can load more scenes and sources :D)
  • Some code clean up
In this new version, the following has been added / changed:
  • No more struggles to figure out IP addresses: use the new Network Scanner to scan your local network for OBS websockets (on default ports 4444)
  • Added themes: Light (default) and Dark (experimental). This will remove the ability to customize the timer background color. This can now be done by creating new themes. See the readme on Bitbucket on how to create a new theme.
  • Config will now only access the file system if there are actual any changes. This is checked periodically.
  • The left panel's content (scene names and their time limits) will fit their whole panel (horizontally), even if resized.

Please let me know if you're enjoying OBS Scene Timer and its features and also let me know if you are missing something.