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).
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.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.
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.
If components from Graph Editors or Services within System Editor provide some configuration options they are displayed inside 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 configurble 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:
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.
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.
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)|
|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)|
|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 + 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.