Themes and Max for Live

Themes and Max for Live

Follow Live Theme

With the introduction of Max 8.6, there is a new capability for Max to follow the Live Theme. This does so in a more complete fashion and affects all of the application interface and patcher default style colors. Previously only a handful of Max patcher colors (e.g. patcher background color, comment text color, and panel background color) would follow the Live theme colors.

By default this preference is on. An individual user who wishes to retain legacy theme behavior, can turn this setting Off. And for Max users that wish for the last used Live theme to persist when using Max without having been launched via the Max for Live edit button, may set this preference to Persist.

The benefits of theme following allow for a more consistent UI experience with Live color themes when using the Max for Live editor, as well as the ability to use standard Max objects in Max for Live devices without the need to always set dynamic colors for all objects like standard max number boxes, message boxes, dials, sliders, etc. in order to be theme aware.

There are some disadvantages to the new theme following which may introduce some pain points for Max for Live device developers. If a device has made assumptions about the default Max theme colors (e.g. an always dark function object background, an always-dark message box background, or an always-light object box text), then the device should be updated to make use of the appropriate always-dark or always-light dynamic colors. For example, an always-dark color in the Live theming system is LCD Background, and an always-light color will be LCD Title. Generally, the LCD colors retain relative dark and light characteristics across all Standard Live themes.

Robust Theme Following

Devices that rely upon the default Max colors for always-dark or always-light colors are not robustly theme-aware. If a user switches the Max theme to something other than Max's default theme, such devices can have issues with their colors appearing inconsistent or hard to see. However, since Max for Live users don't change the Max theme, this theme-dependent vulnerability often went unnoticed or was considered unimportant. With more themes available in Max 8.6, it's more important to make Max for Live devices robustly theme-aware.

In order to make a device properly themed for Ableton (or Max) and robust in regard to theme changes, one of the following options should be followed for each UI element in your device (or patch):

  1. Use the default colors for all of a given UI element's colors. This should always follow the theme according to default theming behavior. If you require always dark or always light colors, please use appropriate dynamic colors that match these needs (see option #2).
  2. Use appropriate dynamic colors for all colors in any given UI element. This is especially important for any foreground and background colors. This allows for robust theme following, with different rules than the standard theme following behavior.
  3. Use fixed custom colors for all colors in any given UI element. This is especially important for any foreground and background colors. In this case, the colors will not adapt based on themes, but they will always use the authored colors and look the same under all themes.

Fighting for the Theme

It is generally not recommended to change the Max theme while running as the Max for Live editor with Follow Live Theme set to "On" or "Persist". This leads to a confusing fight between custom Max themes and the Live theme being followed. We may disable the ability for setting the Max theme to take effect in this case, as it can lead to confusion and edge cases which give undesirable behavior. If you find yourself in this situation. It is recommended to quit and restart Max (or simply change the theme in Live), to restore expected behavior. In general for testing Max for Live devices with Light and Dark themes, it is recommended to have Follow Live Theme set to "On" and to change the theme inside Live.

See Also

Name Description
Sharing Max Patchers Sharing Max Patchers
Max For Live Max For Live