Skip to content
Josh Blum edited this page Sep 6, 2014 · 23 revisions

PothosGui should be in your executable search path. Open up a terminal and type PothosGui and hit enter:

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_open_terminal.png

The following window should appear:

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_opened_gui.png

The block tree is a dockable widget that allows the user to browse through the available processing blocks. From the block tree, the user can view a selected block's documentation, and choose to insert the selected block into the graph editor. The block tree is a dock widget, and can be moved and re-positioned within the main window. If the block tree widget is not visible, make sure that "Block Tree" is checked under the view menu.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_block_tree_anatomy.png

To search the block tree for a given block, enter keywords into the search bar at the top of the block tree. In addition, hit the Ctrl+F key sequence at any time to make the block tree visible, and give focus to the search bar.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_block_tree_search.png

Mouse-over a block to view its associated documentation.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_block_tree_documentation.png

Use the mouse to drag and drop blocks from the block tree into the graph editor. In addition, a block can be added to the editor by double clicking the selection or by clicking the "Add Block" button.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_block_tree_dnd.png

Connections describe a flow of data from a data provider (an output) to a data consumer (an input). A block has two types of data providers: output ports and a signal emitter. A block has two types of data consumers: input ports and a slot acceptor.

To create a stream connection, click on a output streaming port, then click on an input streaming port. The clicks must occur in that order. A connection will be created from the output port to the input port.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_connection_stream_before.png https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_connection_stream_after.png

To create a signals and slots connection, click on a block's signal emitter, then click on the main body of block. The clicks must occur in that order. A connection will be created from the signal to the slot.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_connection_sigslots_before.png https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_connection_sigslots_after.png

Next, the connection must be configured by selecting from a list of available signals and available slots. The new signals and slots connection will have the text "Empty" on it. Double click on the connection to open a configuration panel for the connection.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_connection_sigslots_edit.png

Click on an available slot, and click on an available signal. A new connection between that signal and slot will appear in the list.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_connection_sigslots_edit_connect.png

Click the "Commit" button to apply the changes.

https://raw.githubusercontent.com/wiki/pothosware/pothos-gui/images/tutorial_connection_sigslots_edit_commit.png