1. Preferences
  2. UI elements

Preferences

Component preferences are located in Preferences Components Auto Check for Updates.

Preferences page
Preferences page

When speaking about subject of checking for updates, component uses word 'source'. That is so because not only components can be checked for updates. For example, foo_youtube also provides the way to check for updates of LAV Filters, which is optional third-party set of DirectShow filters used there for video playback.

This list has check boxes. Auto check for updates is performed only for items that are checked. Button Check for Updates also performs check only for checked sources. Every new source is unchecked by default.

Each item in the list has context menu. Content of this menu may vary except that it always contains Check for Updates item. Using this item particular source can be checked for updates regardless of whether item is checked in the list.

How often to check for updates can be configured at the bottom of preferences page. Minimum checking period is one day. Next check is performed exactly after number of days specified there and counts from last successful check. If program is not running at that time, check is performed at next program start. Scheduled check time is printed in console after program start and after every automatic check.

Why sources list differs from the list of installed components?

This is third-party component, not part of foobar2000 core. Particular source will appear in this list only if somebody made use of component SDK and provided for that source a way to check for updates.

In other words, foobar2000 gets list of installed components (the list from Preferences Components) and checks for updates of those components from this list, that are part of Components Repository.

foo_acfu checks for updates of all components listed on its preferences page, but there are no centralized repository and components should provide the way to check for updates by themselves.

UI elements

Component provides UI elements for both DUI and CUI. Considerations used when creating UI element: be small and simple; attract attention only when updates are available; be accessible from keyboard.

With that said, UI element was made of toolbar with a single button. This button is transparent while there are no updates. If updates are available, it uses highlight color from current theme to get attention and to report the number of available updates. It is always accessible from keyboard and shows component preferences page when clicked.

Example of how it may look in UI:

No updates are available
No updates are available
Updates are available
One update is available