Commit graph

40 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 08b8bc6138 graphview: code cleanup
Remove dead code
Rewrite error message
Use simplified anyhow result for xml
methods
2022-01-11 18:03:55 +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 b076ff7524 pipeline: fix multiple input pads
Can now generate a pipeline with multiple input
pads such as a compositor.
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 368a5b83a4 icon: add icon pipeline
Icônes conçues par https://www.freepik.com
https://www.flaticon.com/fr/
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 8fd506d7e2 ci: add gitlab ci definition 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 b673232553 main: add a common init method
Rename the application to gst-pipeline-studio and
add an init method to initialize
gstreamer and x11
2022-01-11 17:58:26 +01:00
Stéphane Cerveau 594aa43405 GPS: add GST render to parse launch format
The player is able to take the graph description and
build a string which will be passed to the
GStreamer parse launch engine.
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
Stéphane Cerveau 25a626d232 GPS: Add a dialog to select the elements
This dialog allows to select and see element
and its details.
2021-12-16 11:55:26 +01:00
Stéphane Cerveau b635be10e2 GPS: add GStreamer support
Can now get the GStreamer element's list
from the registry.
2021-12-16 11:55:26 +01:00
Stéphane Cerveau 642c6cc487 README: add first step to build and run GPS 2021-12-16 11:55:21 +01:00
Stéphane Cerveau 98e0199e01 GPS: add a TODO list 2021-12-02 10:28:41 +01:00
Stéphane Cerveau 20c537f61b GPS: change license to GPLv3 2021-12-02 10:28:24 +01:00
Stéphane Cerveau bdd183075e mainwindow: connect button to actions
Connect:

- add plugin dialog
- open file dialog
- about dialog
2021-11-18 12:35:56 +01:00
Stéphane Cerveau 12e7958886 mainwindow: can now draw a vector of rectangles. 2021-11-17 12:43:02 +01:00
Stéphane Cerveau 52718e0388 mainwindow: can draw a rectangle at mouse position 2021-11-04 14:25:25 +01:00
Stéphane Cerveau 465ac78c08 gps: Add first UI design with glade 2021-10-22 13:00:05 +02:00
Stéphane Cerveau 56f62f172c rust: init the project 2021-10-12 10:33:51 +02:00
Stéphane Cerveau 39a5b15cca Initial commit 2021-10-12 10:19:45 +02:00