ADTF Configuration Editor

This guide covers what an ADTF Session is and where the Configuration Editor comes into play. After reading this guide, you will know:

Since ADTF 3.6.0 you can also execute the Configuration Editor as a Runtime User, but only in Read-Only Mode to view the ADTF Sessions, ADTF Graphs, ADTF System and their properties without edit functionality (this is still part of the Developer License). So these are the restrictions, other functions like launching tools or ADTF Sessions or navigate from Home View will work the same.
Note that on different screens and resolutions (especially High-DPI) there might be some strange combinations regarding Qt/QML, OS and scaling, especially when moving applications like ADTF Configuration Editor between screens with different resolutions. There is still no out-of-the-box solution to handle monitor dpi awerness by default. In case you experience any problems that could be related to the scaling issues mentioned above, we provide a live scaling override option since ADTF 3.7.0 in our settings.
Currently we are not supporting any gestures or touch features. We figure out some issues which effects the work especially in Graph View on touch devices. For that we recommend using ADTF on non-touchable devices or disable the touch device itself. Unlikely Qt/QML automatic detect touch support and changes the behaviour of some components trying to support gestures, which is in conflict with the design and workflow in ADTF Configuration Editor. We are working on that, unfortunately it is not possible to deactivate it by OS or Qt, so the only option is disabling the touch device so far. We apprechiate your understanding !

Available commands

Although the ADTF Configuration Editor is a GUI application it still has some command line arguments.
Type: adtf_configuration_editor.exe --help into a console to get the list of the supported commandline arguments:

Files you need to know

Creating a new ADTF Project with the Configuration Editor results in a new folder named after the project, containing:

Start the Configuration Editor

In order to start the Configuration Editor go to the bin directory of the ADTF directory and double click on the adtf_configuration_editor.exe file.

The different areas of the Configuration Editor

The Configuration Editor when an ADTF Session is loaded

The Sessions View

The main files that make up a project are ADTF Session files, ADTF Graph files and ADTF System files. The Sessions View enables you to create, delete and rename ADTF Session files. The context menu of an ADTF Session file is of special interest, because you can launch the ADTF Session directly with the ADTF Launcher in various ways:

Using the ADTF Control to set up the ADTF Launcher
Using the ADTF GUI Control to set up the ADTF Launcher
Using the ADTF Launcher standalone
The Sessions View
The context menu of the Sessions View

The Components View

The Component View holds the elements that can be drag and droped into the Graph Editor. You can change to grouping of the list by doing a right click on the gouping header. You can choose between Type and Class ID

The Components View for Filter Graph
Switch grouping
The Components View for Streaming Graph

The Home View

Since ADTF 3.6.0 we provide a new entry point for the Configuration Editor. The Home View is not only a Landing Page, it offers some quick actions to create or open projects and jump to documentation at the top. The Left navigation bar provides some default actions linking to additional information which can be adapted in your cesettings file (see Settings Editor (Options))

The Home View

The Editors

In the center of the graphical user interface you find three kinds of editors:

Session Editor

A project maybe contains one or more Streaming Graphs, Filter Graphs and System definitions, but as soon as we want to run a certain combination of it with the help of the ADTF Launcher things must be clearly defined. The ADTF Session defines what ADTF System should be loaded and which ADTF Graph should be set.

The Session Editor
Streaming Graph Editor

Data must either be generated somehow or a kind of data source must be plugged in to get data into the ADTF System. On the other side data is consumed by someone or must leave the ADTF System through some kind of data sink. This is what the Streaming Graph is good for. Developers use the SDK to write their own sources and sinks. To let data flow between two elements place a Sample Stream between them and connect the pins by drawing a line. Since ADTF 3.8.0 the Streaming Graph Editor contains a Graph Navigator at the bottom right of the graph area for convenience regarding scrolling, moving, zooming and item selection in larger graph setups (see section Available shortcuts). Follow this link for more information about Streaming Graphs.

The Streaming Graph Editor

Use right-click and context menu in any free space of the ADTF Graph area for adding notes and some zoom options.

Filter Graph Editor

The Filter Graph is where all about data streaming and runtime behaviour takes place. Since ADTF 3.8.0 Streaming Sources and Sinks can also be used within Filter Graph so there is no need to use a Streaming Graph and the data communication interfaces can also be design witin a Filter Graph. We still recommend to separate your Filter Graphs info different parts (e.g. data receiver/transmitter, playback, data processing, visualization, etc) but only by using Subgraphs within your Filter Graph. link for more information about Filter Graphs.

Processing can be triggered with the help of different types of Runners. By default triggers are sent between the data samples and stimulate the following Filter to do further processing, however if this behavior is not desired, connections can be configured to be asynchronous. In this case Time Runner can be used to take control over the exact timing (this can be useful for expensive visual updates) or Thread Runner to do heavy processing on a different thread. To let data flow between two elements place a Sample Stream between them and connect the pins by drawing a line.

The Filter Graph Editor

Use right-click and context menu in any free space of the ADTF Graph area for adding an existing Filter Graph as Subgraph (handled like a common Filter), defining interfaces for in and out relations and, of course, some zoom functionality. Since ADTF 3.8.0 the Filter Graph Editor contains a Graph Navigator at the bottom right of the graph area for convenience regarding scrolling, moving, zooming and item selection in larger graph setups (see section Available shortcuts).

Property Editor

If elements in the Components View or in one of the editors provide some configuration options they are displayed inside the Property Editor.

The Property Editor

Since ADTF 3.8.0 it is possible to add properties manually to each ADTF Components and whole Filter Graphs. This is useful to create generic Filter Graphs, which can be included as configarble Subgraphs. Furthermore you can link properties of ADTF Components to graph properties to make them available to set from "outside" (parent Filter Graph). Please also have a look at Use and link graph properties for more information.

Since ADTF 3.9.0 the Property Editor has been redesigned with more convenience and additonal information, but the functionality is still the same. Use the context menu for available options. With a right click on the tab name, you can change the sorting behaviour.

Change sorting

Equal to other search fields left-click the abc search button for advanced search options. Furthermore, the context menu contains an extended menu for options regarding sorting, filtering and displaying:

Extended menu

In addtion to these changes, it containes a second tab to change the priority of connections and components.

Priorities of connections and components

System Editor

Double clicking an ADTF System file in the Sessions View opens it inside the System Editor. If your ADTF Session incorporates with Filter, Streaming Sources or Streaming Sinks that have dependencies to libraries outside of ADTF this is the right place to define them. Environments variables are useful to abstract away from platform specific paths which makes it easier to transfer project files between different PCs or operting systems. You can define additional platform dependencies (e.g. OpenCV or Qt DLL libraries), ADTF Services and ADTF Plugins.
If a ADTF Component defines its ADTF dependencies properly required Services are added automatically as soon as an ADTF Components is dropped from the Components View into an Graph Editor. If you want to know more about how ADTF Components can define their ADTF dependencies follow this link.

The order in wich Services are loaded can be influenced in two ways:

If an ADTF Service offers configuration options they will be shown by selecting the DTF Service and if you want to rename an ADTF Service the Rename entry is your friend. Also if you want to define ADTF Services in a different runlevel.

The System Editor: Change Runlevel of a System Service

Since the Redesign in 3.6.0 all actions in each navigation section are available via context menu. This means, if you want to add a new ADTF Service instance, choose Service in the left navigation, and somewhere in the main widget choose Add Service... after right-click:

The System Editor: Add Service
The System Editor: Service Dialog

In order to avoid invalid ADTF System file paths when distributing an ADTF project, define an ADTF environment variable to abstract away the ADTF System file path. All you have to do when moving to a different PC is adjust the environment variable accordingly. Since ATDF 3.3.1 environment variables defined by the operating system e.g. set TOOLBOXES=C:\toolboxes can be used when defining ADTF environment variables.

The System Editor: Add an environment variable
Validation Protocol

All ADTF Session, ADTF Graph, ADTF System or setting problems spotted by the ADTF Configuration Editor are display here. If the second column of the table contains a button further help can be acquire.

Validation Protocol

Since the Graph Redesign in ADTF 3.6.0 the messages are also available as tooltip at the ADTF Components itself:

Validation Tooltip
Settings Editor (Options)

Here you can define custom settings for the Configuration Editor. The layout has changed with ADTF version 3.6.0

The section General holds currently only one option which enables or disables a message dialog, telling you that your license is about to expire.

Options: General

Please also note that the dark theme is still in BETA, so maybe some colors are not adapted yet - like always, feel free to contact us for bug reports and change requests.

Dark Mode

The section Layout lists all entries regarding the layout within the Graph Editors. For example the option to automatically add a sample stream or binding proxy when possible can be activated/deactivated.

Options: Layout

The section Home View lists all entries which appear in the Home tab (which is selected by default when the Configuration Editor is started, since ADTF version 3.6.0). You can add new entries, edit existing entries or delete obsolete entries. Entries must have a unique name and they must point to a valid HTTP URL. If a path to an icon is given, the icon will be shown in fornt of the name. The optional JavaScript is executed as soon as the URL of the Home View element is loaded. You can use it the modify the page pefore it is displayed.

Options: Home View

In the section Environment the used adtfenvironment is visualized and changable. This feature is available since ADTF 3.9.0 to define the conditions on your machine. Please refer to Set up an adtfenvironment for detailed information.

Options: Environment

In the section Launchers you can define programs which are capable to run an ADTF Session. This configuration option was added with version 3.6.0. You can choose between the ADTF Launcher, the ADTF Control and the ADTF GUI Control. Every single one of them supports plenty of start parameters which can be parametrised as a command here. These launchers are available through the ADTF Session context menu inside the "Sessions View", the Tools-Menu and through short cuts (if they are defined).

Options: Launchers

Modules section - since 3.4.0 the functionality of the Configuration Editor can be extended by writing a module. The bootstrap meachnism of the Configuration Editor looks inside the folders defined in this list and searches for files with postfix .*adtfceplugin. When found the Configuration Editor loads these files as Qt plugins. You can find an example module in "examples/bin/ce_external_property_module_example.adtfceplugin" and have a look at ADTF CE Module and here Qt documentation

Options: Modules

Plugindescriptions section - every element (filter, source, sink, etc.) you can use within the Configuration Editor is defined in a Plugindescription. This XML based file contains all the details about the resource like properties, description, version information and so on. This list defines a search path the Configuration Editor looks into to find files with the ending *.plugindescription.

Options: Plugindescriptions

The section Scripting provides a feature which allows the user to add a number of self defined JavaScript-Snippets. These snippets can be attached to various events and provide the possibility to automate certain tasks within the Configuration Editor.

Options: Scripting

Tools section - You can start other programs from within the ADTF Configuration Editor over the Tools menu. If you like you can add additional programs to the menu by extending this list. This configuration option was added with version 3.6.0.

Options: Tools

Available shortcuts

Common

Shortcut Action
Ctrl + N Create project
Ctrl + O Open project
Ctrl + S Save project
Ctrl + W Close project
Ctrl + Q Exit application
Ctrl + Z Undo
Ctrl + Y Redo
Ctrl + B Hide/show bottom area
Ctrl + H Hide/show side area
Alt + O Open Settings Editor (Options)
Ctrl + F1 Open ADTF3 Guides
Shift + F1 Open ADTF3 SDK Documentation
Alt + F1 Show About Dialog

Additional Tools

Shortcut Action
Ctrl + Alt + C Start ADTF Control
Ctrl + Alt + G Start ADTF GUI Control
Ctrl + Alt + L Start ADTF Log View
Ctrl + Alt + P Start ADTF Property Editor
Ctrl + Alt + S Start ADTF Status Monitor
Ctrl + Alt + T Start Profiler GUI

Projects and Sessions

Shortcut Action
Ctrl + Shift + N Add new ADTF Session to ADTF Project
Ctrl + Shift + O Open selected ADTF Session
Ctrl + Shift + R Rename selected ADTF Session
Ctrl + Shift + D Remove selected ADTF Session
F5 Launch selected ADTF Session with ADTF Launcher
Ctrl + F5 Launch selected ADTF Session with ADTF Launcher (using debug binaries)
Shift + F5 Launch selected ADTF Session with ADTF Launcher (enabled profiling)
F6 Launch selected ADTF Session with ADTF Control
Ctrl + F6 Launch selected ADTF Session with ADTF Control (using debug ADTF Launcher and binaries)
Shift + F6 Launch selected ADTF Session with ADTF Control (using ADTF Launcher and enabled profiling)
F7 Launch selected ADTF Session with ADTF GUI Control
Ctrl + F7 Launch selected ADTF Session with ADTF GUI Control (using debug ADTF Launcher and binaries)
Shift + F7 Launch selected ADTF Session with ADTF GUI Control (using ADTF Launcher and enabled profiling)

System Editor

Shortcut Action
Ins Add element
F1 Show help for selected ADTF Service (if specified in corresponding Plugin Description)
F2 Edit / Rename selected element
Del Remove selected element
Ctrl + Del Remove all elements or platform
Shift + Up Move selected ADTF Service up within current Runlevel
Shift + Down Move selected ADTF Service down within current Runlevel
Shift + 1 Set RL_System for selected ADTF Service
Shift + 2 Set RL_Session for selected ADTF Service
Shift + 3 Set RL_StreamingGraph for selected ADTF Service
Shift + 4 Set RL_FilterGraph for selected ADTF Service
Shift + 5 Set RL_Running for selected ADTF Service

Graph Editor

Shortcut Action
Ctrl + Left-Click Multi select components
F1 Show help for selected component (if specified in corresponding Plugin Description)
F2 Rename selected graph element
Del Remove selected graph element(s)
Shift + N Add notice
Ctrl + A Select all graph elements
Ctrl + X Cut selected graph elements to clipboard
Ctrl + C Copy selected graph elements to clipboard
Ctrl + V Paste graph elements from clipboard
Ctrl + - Zoom out
Ctrl + + Zoom in
Ctrl + # Zoom all
Ctrl + . Zoom reset
Shift + Left-click (and hold) Move graph area
Mouse-wheel Scroll vertically
Shift + Mouse-wheel Scroll vertically (x10)
Alt + Mouse-wheel Scroll horizontally
Alt + Shift + Mouse-wheel Scroll horizontally (x10)
Ctrl + Mouse-wheel Zoom
Ctrl + Shift + Mouse-wheel Zoom (x10)

Graph Navigator

Shortcut Action
Left-Click (and hold) Move red view section
Shift + Left-Click Select components
Ctrl + Shift + Left-Click Multi select components
Shift + Left-Click (and hold) Move selected components

Property Editor

Shortcut Action
F2 Rename selected property
Ctrl + X Cut selected property to clipboard
Ctrl + C Copy selected property to clipboard
Ctrl + V Paste property from clipboard
Ins Create new property
Del Remove selected property

Priority Editor

Shortcut Action
Shift + Up Decrement priority
Shift + Down Increment priority

Where to go next?

Have a look at the Launcher guide to learn about the Launcher commandline tool.