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 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.
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:
ADTF Configuration Editor
adtf_configuration_editor
Usage:
adtf_configuration_editor [-h] [--debug-panel] [--no-output-redirect] [-r] [--settings
<cesettingsfile>] [--environment <adtfenvironmentfile>] [--project
<project>] [<adtfproject>]
Options:
-h, --help Print the usage info and quit.
--debug-panel
Enable debug window
--no-output-redirect
Disable redirection of the message buffer to the output window of the
application
-r, --reset 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:
*.adtfproject
which defines*.adtfsession
and define the path to the selectedadtf_launcher
can run. The ADTF Session defines:
*.adtfgraph
and contain*.adtfconfiglayout
*.adtfproperties
*.adtfsystem
files representing them
at file level, are created here. Such a file contains
*.adtfproperties
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 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:
Launch with ADTF Control
Launch with ADTF Control (debug)
Launch with ADTF Control (profiling)
Launch with ADTF GUI Control
Launch with ADTF GUI Control (debug)
Launch with ADTF GUI Control (profiling)
Launch with ADTF Launcher
running
.
You can see the output of the Streaming Graph and Filter Graph in the console but you cannot issue control commands.
Launch with ADTF Launcher (debug)
Launch with ADTF Launcher (profiling)
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
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 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.
Sample Stream
placed on the
Filter Graph Dock
and continous on the Filter Graph level with a Streaming Inport
. The
connection is created autmatically but only if the name of Sample Stream
and Streaming Inport
are 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 elements in the Components View or in one of the editors provide some configuration options they are displayed inside 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.
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. If the second column of the table contains a button further help can be acquire.
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
of JavaScript
/ 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 $(ADTF_DIR)/bin/*.qml
.
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.
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.
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.
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.
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
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
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
.
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.
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.
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 |
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 |
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) |
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 |
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 + 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) |
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 |
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 |
Shortcut | Action |
---|---|
Shift + Up | Decrement priority |
Shift + Down | Increment priority |
Shortcut | Action |
---|---|
Ctrl + A | Select all messages |
Ctrl + C | Copy selected text |
Del | Clear window |
Have a look at the Launcher guide to learn about the Launcher commandline tool.