Commit graph

70 commits

Author SHA1 Message Date
Stéphane Cerveau 81ca9ca3a3 about: display about dialog
display a custom and clean about dialog
with the infrastructure based on meson to
genetate the config.rs
2022-01-12 11:15:52 +01:00
Stéphane Cerveau c1ba09814b 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 20:48:53 +01:00
Stéphane Cerveau 9884a776b3 app: rework the UI dimension
Add GtkPaned between the logs and the graph
Load/save app dimensions.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau 3731a92d51 logger: implement a logger with treeview
Any log should be now visible in the logger
tree view according to the level.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau d291c93352 app: add graph pop menu
Add a pop menu to add new plugin to the graph
2022-01-11 20:48:53 +01:00
Stéphane Cerveau 158f9eb899 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 20:48:53 +01:00
Stéphane Cerveau c16102928b pluginlist: avoid mulitple init
Allow only one initialization of the plugin
list.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau 914fc1f077 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 20:48:53 +01:00
Stéphane Cerveau a15c9c7353 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 20:48:53 +01:00
Stéphane Cerveau a0bb503b27 graphview: can now select nodes and links
Nodes and links can be selected and deleted
2022-01-11 20:48:53 +01:00
Stéphane Cerveau 7d08abaca8 GPSApp: Can now request pads on element
Add menu entries to add new pad/port to an element/node.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau 6756b34919 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 20:48:53 +01:00
Stéphane Cerveau 6c7dccd450 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 20:48:53 +01:00
Stéphane Cerveau f1149a6b5e 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 20:48:53 +01:00
Stéphane Cerveau 52286ada4a GPS: Add xml save/load in graphview
Can now save and load in XML
graphs/nodes/ports/links
2022-01-11 20:48:53 +01:00
Stéphane Cerveau 5f91fbaef7 GPS: introduce the graphmanager
Introduce the first version of a graph manager
with:
- Graphview
- Node
- Port
2022-01-11 20:48:53 +01:00
Stéphane Cerveau 25b2d1f8bf GPS: port to GTK4 2022-01-11 20:48:53 +01:00
Stéphane Cerveau b36fd0aebe 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-11 20:48:53 +01:00
Stéphane Cerveau 0851f0545b 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-11 20:48:53 +01:00
Stéphane Cerveau 05749a7009 GPS: introduce an app structure 2022-01-11 20:48:53 +01:00