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

After loading an ADTF Project, the ADTF Configuration Editor will appear similiar to the following screenshot:

The Configuration Editor when an ADTF Session is loaded

As you might know and expect from other application, you can switch to a dark theme as well (see Tools > Options... > General):

Dark Mode

The Sessions View

The main files that make up a ADTF 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.

Common overview
The Sessions View
Available options

Besides basic adding, renaming, open and removing ADTF Sessions from your loaded ADTF Project, the context menu contains quick launch options and entries for custom launch defintions (see Tools > Options... > Launchers).

The context menu of the Sessions View
Remote connection

Since ADTF 3.11.0 the ADTF Configuration Editor implements an RPC client which makes it possible to connect to an ADTF Session - better say the related RPC interface of the ADTF Launcher. This will provide the user the option to remote control from within the Sessions View in following two ways:

  • Launch and remote connect selected ADTF Session
  • Launch and remote connect selected ADTF Session

  • Enable remote connection for selected ADTF Session (which already runs in related ADTF Launcher)
  • Enable remote connection for selected ADTF Session

    Within the General Options it is possible that the ADTF Configuration Editor will always automatically connect to a specified url, no matter if already running or needs to be launched, it will polled and connected when available:

    Auto remote connect option

    Once there are one or more ADTF Sessions connected, it will be visualized within the Sessions View by displaying the current runlevel:

    Overview of remote connected ADTF Sessions

    Within the context menu you will find options to control the ADTF Session,

    Control the session

    set the runlevel

    Access the runlevel

    and execute addtional tools to control, analyze and visualize the connected ADTF Session:

    Execute addtional tools

    Another benefit is the visualization of live statistics directly at the Sample Streams within the Filter Graph Editor:

    Sample Streams statistics

    The following animation will show a small use how to launch and remote connect an ADTF Session, control the runlevel, have a look at the Sample Stream activities and execute ADTF Control to check current runlevel and sessionname:

    Showcase: Launch and remote connect

    The Components View

    The Component View holds the elements that can be drag and droped into the Graph Editor. You can change the 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 Component Store Client

    Since ADTF 3.14.0 we provide a integrated client to acces one ore more component stores. This view enables the user to search for available adtfplugins and components within the configured stores.

    The Components Client View

    After that the associated settings can be configured and found under Tools > Options... > Store. The desired stores can be enabled by adding a URL and acces token to the list. Before a adtfplugin can be downloaded a location must be defined.

    Now the view can be used to browse and download the desired adtfplugins.

    Using the client to find adtfplugins
         
    Downloading adtfplugins
    After a successful download the components are automatically loaded via the ADTF Environment mechanism and are available in the Components View.

    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 defining interfaces for in and out relations and, of course, some zoom and auto layout functionality. Furthermore the context menu provides the option for adding an existing Filter Graph as Subgraph (handled like a common Filter), since ADTF 3.8.0 this can also be a graph from a different ADTF Session using ADTF Include Mechanism (see Session Editor).

    Another improvement within ADTF 3.8.0 is that 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).

    Due to the fact that graphs should be seperated but can be as well very large, we offer a Quick search since ADTF 3.10.0. This will help to find and jump to all containing components within the selected graph, which is very helpful especially for a Sample Stream or Binding Proxy which label name is hidden and only visible as tooltip for a better overview.

    Since ADTF 3.13.0 it is possible to show or hide label names of graph components and their pins. In case of hidden, the related content will be visualized when selected or hovered by mouse. Furthermore, the Graph Editor only mark recommended target pins during connection draw. Please keep in mind the the value of the property will be stored in the adtfuilayout of the adtfsession to guarantee your arrangement after loading the adtfsession. Keep also in mind the auto-layout will only cover visible content including label names. Use this feature for compact behaviour. To enable/disable this feature, please navigate to View > Label Names or use shortcut Ctrl + Space. With ADTF 3.13.2 this behaviour has been extended to show/hide sample stream names seperated (Toggle View > Sample Stream Names or use Shift + Space)

    Hide/show label names (Ctrl + Space)

    It is available in the context menu anywhere in the Filter Graph Editor as well as a shortcut. It provides a dropdown menu including all containing graph components

    Quick Search - component list

    as well as an case sensitive auto completion in the type field. Use the arrow keys of the keyboard to complete the search strings or navigate through the component list:

    Quick Search - auto completion

    in upcoming versions we will improve the quick search, e.g. with wildcard options.

    When you select more than one component within your graph, an align helper bar will appear in the upper left corner:

    Align helper bar after multi-selection

    Button Change Orientation Keep
    move all selected components to the left farest left border of all selected components vertical coordinates
    move all selected components to the center horizontal center of all selected components vertical coordinates
    move all selected components to the right farest right border of all selected components vertical coordinates
    move all selected components to the top farest top border of all selected components horizontal coordinates
    move all selected components to the center vertical center of all selected components horizontal coordinates
    move all selected components to the bottom farest bottom border of all selected components horizontal coordinates
    rearrange all selected components horizontally user specified distance vertical coordinates
    rearrange all selected components vertically user specified distance horizontal coordinates
    rearrange all selected components horizontally calculated distance vertical coordinates, outer horizontal borders
    rearrange all selected components vertically calculated distance horizontal coordinates, outer vertical borders

    Property Editor

    If components from Components View, Graph Editors or System Editor provide some configuration options or additional information and help, it will be displayed within the Property Editor by selecting the component within its Graph / System 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 configurable 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

    At the botton you will find additional information which content will be dynamically updated due to selected item (e.g. a filter, its property or the graph itself). This is very useful to gather and copy some information, open help or files in other tools or follow dependencies.

    Dynamic content of additional information

    Priority Editor

    In addtion to these changes, the ADTF Configuration Editor contains a second tab here to change the priority of connections and components since ADTF 3.9.0.

    Priorities of connections and components

    For an explanation what happens during (de)initialization please have a detailed look at Session Initialization .

    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 ADTF 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.

    Validation Protocol

    The get further information or help to solve the the entry, please consider the context menu for details:

    Validation Protocol Context Menu
    Validation Protocol Details

    Equal to other search fields left-click the abc search button for advanced search options. This will be especially useful if you want to filter messages regarding their severity:

    Filter validation messages

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

    Validation Tooltip
    CE Log View

    As new feature since ADTF 3.10.0 we provide a new tab view to log the console output including also JavaScript / QML occur within the ADTF Configuration Editor:

    Log View

    This can be different loglevels from the ADTF Configuration Editor itself, but also come along inside custom Filter Editor scripts. You can also have a look at $(ADTF)/bin/adtf_playback_input_filtereditor.qml which will be used to create pins from the .adtfdat within the ADTFDAT File Player. Other examples can be found as well at $(ADTF_DIR)/bin/*.qml.

    You can enable/disable the logging persistent within Tools > Options... > General or temporary by starting the ADTF Configuration Editor with flag --enable-logging.

    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

    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.

    Options: Modules

    Plugindescriptions section - every element (Filter, Streaming Source, Streaming Sink, System Service, etc.) is delivered within an ADTF Plugin, the ADTF Configuration Editor uses the related Plugindescription to make the component available. 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.

    For additional information please have a look at ADTF Configuration Editor - Scripting.

    Options: Scripting

    The section Store provides all the settings neccessary to use the ADTF Configuration Editor as client for one or more component stores. At least one store endpoint consisting of an URL and access token must be defined in order to use this feature. If you wish to download adtfplugins as well be sure to set the download location.

    Options: Store

    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 documentation of ADTF Configuration Editor
    Shift + 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 (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)
    F8 Launch selected ADTF Session with FEP-Selfmanaged Launcher
    Ctrl + F8 Launch selected ADTF Session with FEP-Selfmanaged Launcher (using debug binaries)
    F9 Launch selected ADTF Session with FEP Launcher
    Ctrl + F9 Launch selected ADTF Session with FEP Launcher (using debug binaries)
    Ctrl + Shift + E Enable remote connection for selected ADTF Session
    Ctrl + Shift + L Launch selected ADTF Session (remote connection will be enabled)

    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 + Space Hide/show label names of graph components / pins
    Shift + Space Hide/show label names of sample streams
    Ctrl + Tab Navigate through graph tabs
    Ctrl + Shift + Tab Navigate through graph tabs (reverse)
    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 + F Quick search
    Ctrl + X Cut selected graph elements to clipboard
    Ctrl + C Copy selected graph elements to clipboard
    Ctrl + V Paste graph elements from clipboard
    Ctrl + L Auto layout
    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)
    Ctrl + Shift + C Copy name of selected component
    Ctrl + Shift + P Copy path within graph of selected component

    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

    Validation Protocol

    Shortcut Action
    Alt + D Show further details for entry

    CE Log View

    Shortcut Action
    Ctrl + A Select all messages
    Ctrl + C Copy selected text
    Del Clear window

    Where to go next?

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