This guide covers what an ADTF Session is and where the Configuration Editor comes into play. After reading this guide, you will know:
Read-Only Modeto 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.
Although the ADTF Configuration Editor is a GUI application it still has some command line arguments.
adtf_configuration_editor.exe --help into a console to get the list of the supported commandline arguments:
ADTF Configuration Editor adtf_configuration_editor Usage: adtf_configuration_editor [--help] [--debug-panel] [--enable-logging] [--reset] [--settings <cesettingsfile>] [--environment <adtfenvironmentfile>] [--project <project>] [<adtfproject>] Options: --help, -h Print the usage info and quit. --debug-panel Enable debug window. --enable-logging Redirect message buffer of CE to CE Log View (including JS/QML). --reset, -r Delete all user specific entries. --settings <cesettingsfile> Path to a .cesettings file that should be used instead of the default one (in your home directory). --environment <adtfenvironmentfile> Specify an ADTF environment file that should be loaded. This is also stored in the used .cesettings file. --project <project> Path to the .adtfproject file. Note: Explicit option --project does not work in combination with using <adtfproject> as argument. <adtfproject> Path to the .adtfproject file.
Creating a new ADTF Project with the Configuration Editor results in a new folder named after the project, containing:
*.adtfsessionand define the path to the selected
adtf_launchercan run. The ADTF Session defines:
*.adtfsystemfiles representing them at file level, are created here. Such a file contains
In order to start the Configuration Editor go to the
bin directory of the ADTF directory
and double click on the
After loading an ADTF Project, the ADTF Configuration Editor will appear similiar to the following screenshot:
As you might know and expect from other application, you can switch to a dark theme as well (see Tools > Options... > General):
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.
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).
cmdon Windows (x86_64) and
xtermon Linux (x86_64). For the custom launch options you can adapt the behaiviour but for the both quick launch options make sure the related packages are installed, especially xterm on Linux (x86_64). Otherwise launching a ADTF Session from ADTF Configuration Editor won't work (see System Requirements).
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:
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:
Once there are one or more ADTF Sessions connected, it will be visualized within the Sessions View by displaying the current runlevel:
Within the context menu you will find options to control the ADTF Session,
set the runlevel
and execute addtional tools to control, analyze and visualize the connected ADTF Session:
Another benefit is the visualization of live statistics directly at the Sample Streams within the Filter Graph Editor:
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:
The launch and tools options are also available global for the selected ADTF Session:
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
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.
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.
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))
In the center of the graphical user interface you find three kinds of editors:
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.
Sample Streambetween 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.
Sample Streamplaced on the
Filter Graph Dockand continous on the Filter Graph level with a
Streaming Inport. The connection is created autmatically but only if the name of
Streaming Inportare exactly the same.
Use right-click and context menu in any free space of the ADTF Graph area for adding notes and some zoom options.
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.
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)
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
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:
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:
|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|
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.
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.
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:
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.
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.
For an explanation what happens during (de)initialization please have a detailed look at Session Initialization .
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:
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:
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.
All ADTF Session, ADTF Graph, ADTF System or setting problems spotted by the ADTF Configuration Editor are display here.
The get further information or help to solve the the entry, please consider the context menu for 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:
Since the Graph Redesign in ADTF 3.6.0 the messages are also available as tooltip at the ADTF Components itself:
As new feature since ADTF 3.10.0 we provide a new tab view to log the console output
QML occur within the ADTF Configuration Editor:
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
You can enable/disable the logging persistent within Tools > Options... > General or temporary by starting the ADTF Configuration Editor with flag
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.
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.
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.
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).
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
.*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
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
For additional information please have a look at ADTF Configuration Editor - 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.
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.
*.cesettings), the variable shortcuts may differ.
|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|
|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|
|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)|
|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|
|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|
|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|
|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|
|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|
|Shift + Up||Decrement priority|
|Shift + Down||Increment priority|
|Alt + D||Show further details for entry|
|Ctrl + A||Select all messages|
|Ctrl + C||Copy selected text|
Have a look at the Launcher guide to learn about the Launcher commandline tool.