Commit graph

23 commits

Author SHA1 Message Date
Stéphane Cerveau 695bd142d3 app: code cleanup
Use simplified anyhow result
Rewrite the expect/error messages.
Refactor the start pipeline API
Rename the treeview ids
2022-01-11 18:04:33 +01:00
Stéphane Cerveau 9bd2f9d5a4 logger: add column for log level
Add a column to separate the message
from the log level.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 13560b1b5f gps.ui: Use a stock icon for clear
Clear graph on button clicked.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 29df576b37 about: display about dialog
display a custom and clean about dialog
with the infrastructure based on meson to
genetate the config.rs
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 728a45507e app: rework menu and actions
Use one popover menu parent with the mainwindow
Centralize the actions definition
Cleanup the code for more readabilty.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 57838ef141 app: rework the UI dimension
Add GtkPaned between the logs and the graph
Load/save app dimensions.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 38dac1e56f logger: implement a logger with treeview
Any log should be now visible in the logger
tree view according to the level.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 7c102aa52d app: add graph pop menu
Add a pop menu to add new plugin to the graph
2022-01-11 17:58:26 +01:00
Stéphane Cerveau d07b72df4f favorites: implement a favorite list
The right panel can now store a favorite list which is
saved into a settings file in the user config directory.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 41b5beee26 pluginlist: avoid mulitple init
Allow only one initialization of the plugin
list.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau ee6b57dfae pipeline: move render_gst to this module
Remove render_gst from graphview and define
it in pipeline.
This will allow to isolate properly the graphmanager
module.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau c69fa3f831 GPSApp: Able to clear the graph with new
Able to clear with new file and load
a preconfigured graph with clear button
2022-01-11 17:58:26 +01:00
Stéphane Cerveau a49ba4a32a graphview: can now select nodes and links
Nodes and links can be selected and deleted
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 39e39767a3 GPSApp: Can now request pads on element
Add menu entries to add new pad/port to an element/node.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 1c96a78afe plugindialogs: rename module and support properties in element
rename pluginlist module to plugindialogs
Add display_plugin_properties to modify properties
from an element.
Add a way to modify the location if element is URI_TYPE_SRC
Able to remove a node from the graph
2022-01-11 17:58:26 +01:00
Stéphane Cerveau a5ef88ea5f graphview: display contextual menu on right click
display a contextual menu if user clicks a node or port with a right
click.
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 46e4ad726a pipeline: implement parse launch playback
Can now play/pause/stop a playback from
a parse launch description GST pipeline.

rename getters in pipeline.rs
2022-01-11 17:58:26 +01:00
Stéphane Cerveau fe93db3458 GPS: Add xml save/load in graphview
Can now save and load in XML
graphs/nodes/ports/links
2022-01-11 17:58:26 +01:00
Stéphane Cerveau eb771a74f4 GPS: introduce the graphmanager
Introduce the first version of a graph manager
with:
- Graphview
- Node
- Port
2022-01-11 14:50:44 +01:00
Stéphane Cerveau b0dfc49de8 GPS: port to GTK4 2022-01-03 17:08:27 +01:00
Stéphane Cerveau 8d5146e45c pluginlist: can now select and double click element
Treeview row actions:
 - A selection will display element information.
 - A double click add a new element in the app.graph structure.

The plugin list dialog is an item from gps.ui
2022-01-03 17:08:27 +01:00
Stéphane Cerveau 39aa63ba51 GPS: introduce the graph object
The graph object stores information about the graphical
representation of a gst pipeline including
the element box, the pads and the connections.
2022-01-03 17:08:27 +01:00
Stéphane Cerveau d7cab1a6cc GPS: introduce an app structure 2022-01-03 17:08:27 +01:00