» Home

  » User Guide


     » Configuring Brass

Brass User Guide: Configuring Brass

 

To configure Brass, select the "Configure..." option from the "Options" menu. Remember, individual plugins are configured by double-clicking them in the available and active plugins lists, or by their menu option in the Brass tray menu.

 

Here's what each option does:

General Tab

"Prompt for confirmation before completely exiting brass": When you exit Brass, all the plugins you're using will be shut down. Tick this option if you want Brass to prompt you for confirmation before exiting, otherwise Brass will exit immediately and all plugins will be unloaded.

"Remember plugin selections": Ticking this option tells Brass to save your active plugin selection to the cache, and reload them when Brass next runs. This is handy if you always use the same plugins and want Brass to load them as soon as it loads. The plugins that are automatically loaded are all the plugins that were active when you exited Brass. The unregistered version ignores this option.

"Show splash screen when Brass loads": The splash screen is the shiny Brass logo that appears when Brass starts up. Untick this if you don't want to see it. The unregistered version will force it to appear every time.

"Start Brass minimized to the system tray": By default, Brass will show its main plugin selection window when it starts up. Ticking this option tells Brass to immediately minimize to the system tray and not show an interface.

"Start Brass when Windows loads": Ticking this option adds a shortcut to Brass to your Startup folder. Unticking it removes the shortcut.

"Check online for update information every time Brass starts": As the option implies, when Brass starts up each time it will contact the Brass website and see if there are any new updates available. If there are, it will display a window with the update information.

"Warn me every time the update check fails at startup": Sometimes the online update check can fail because of Internet problems, or maybe even because you're not connected to the Internet at all! Ticking this option will make Brass tell you when the online check at startup fails. Unticking will cause it to fail silently & not interrupt you, but that does mean you won't know if the update has failed.

 

Hotkeys Tab

"Enable Brass hotkey": You can specify a global hotkey for the main Brass window. When you press this hotkey anywhere in Windows, it will immediately pop the Brass config screen to the front. It's a quick shortcut to let you manage your plugins through the main interface. The fields below this checkbox specify what hotkey you want to use - check that no other application already has this hotkey registered, otherwise Brass will be unable to use it. If this hotkey option seems to keep disabling itself, it's because another application has the same hotkey registered.

"Allow Plugins to register system-wide hotkeys": Some plugins (such as Outlooker) have their own global hotkey option. You configure these hotkeys directly in the plugin configuration. However this option can be used to globally allow or deny hotkeys from being passed to the plugins. Normally you'll want to leave this option ticked and simply enable or disable the hotkeys in each plugin.

 

Logging Tab

"Logging": This tab allows you to configure the debug logging for Brass. You should always leave this set to "Logging is off". You should only enable logging if you have a specific problem and the Brass support team have asked you to enable it. Otherwise it will have a performance impact on your computer, and will churn out a lot of data that doesn't mean anything to you!

 

SSE Development Tab

This tab is only for people who want to write their own plugins.

Show Virtual Machine output options: When developing a plugin it's useful to to see debug information generated by Brass, and to output your own debug information too. The 3 radio buttons control when the debug output window should appear. Most developers will want to choose the "Show Virtual Machine output only when an SSE is deployed by SSEdit". As the description implies, this instructs Brass to only the debug window when the "Run in Brass" option in the "Build" menu is chosen in SSEdit. Refer to the Developer Guide for more information on debugging plugins.

"Automatically close the VM output window ": Plugins can have handlers for shutdown events, so that when the plugin is unloaded it can perform some final actions and clean-up. Normally Brass will automatically close the VM debug output window when a plugin is unloaded; after all, there's no need to keep the window open when the plugin has exited. However if you're trying to debug a problem in the shutdown handlers you might want the debug window to stay open after the plugin has been unloaded so you can review the output. Unchecking this option tells Brass to keep a debug window open (one for every plugin) until you close it manually.

"Suppress improper shutdown message": It's possible that during development you write some code that causes Brass to crash, or to go into an infinite loop (see the next tab to address this). So to get out of the problem you might want to use "End task" on Brass.exe in the task manager. Brass detects when an improper shutdown occurred (either due to a crash or forced exit) and displays a warning on the next startup. This is useful for users. However because SSEdit can automatically recover or reload Brass after a crash, seeing this message the next time you use "Run in Brass" in SSEdit might get annoying and interrupt your coding. Tick this box to prevent the improper shutdown message from being displayed.

 

Virtual Machine Tab

"Crash Avoidance/Infinite Loop Avoidance": This is an experimental option that turns on code management in the Brass virtual machine. In simple terms, the virtual machine analyses and maintains a count of the instuctions executed for a plugin. When the number of instructions passes the trigger level, the VM automatically aborts the currently-executed function and returns control to Brass. This has two effects. First it prevents infinite loops from crashing the plugin or Brass itself. Second it allows the plugin to continue running after the abort. This is useful in case an unusual condition causes an infinite loop in an otherwise working plugin. The next version of Brass will attempt to calculate the optimum threshold for loop avoidance. Until the next version it is strongly recommended that the instruction count is set to approximately one million (1,000,000), and no less than 500,000. Setting this threshold too low will cause legitimate loops in plugins to be aborted.

"Enable Fastdraw Controls": This option should only be checked on slow machines that are experiencing performance problems. When checked, instead of recalculating the blending and redrawing entire panels when a control state changes (think button normal to button pressed state), Brass will only update the region of the panel containing the control that changed. This massively speeds up the drawing but prevents alphablending from working properly.

"Show plugin panel contents while dragging ": When dragging a display panel by the drag bar, this option controls whether the panel changes to an opaque square or stays as a properly-drawn panel. This has no effect on how plugins actually work, it's a visual change only.

"Enable cached drawing": Plugins can trigger a redraw of the display panel in a number of ways. Apart from specifically requesting a redraw, certain instructions have the side effect of redrawing the panel. When this option is ticked, Brass caches all the plugin's requests to redraw its panel and simply redraws the panel once after the last redraw request. How this works internally is quite complex, so think of it as follows. A plugin can execute 50 instructions and request 5 redraws. When this option is checked, only 1 redraw happens. When unchecked, all 5 redraws are done. Enabling this option provides a massive speed increase, therefore it should always be left enabled. The ability to disable it is only provided in case a future plugin creates a situation where cached drawing causes issues.

 

Remember, plugins are configured by double-clicking them in the available and active plugins lists, or by their menu option in the Brass tray menu.