Commit graph

277 commits

Author SHA1 Message Date
Stéphane Cerveau 39815eb8d9 properties: support more properties
Support enum and flags properties in
addition to numerous and string ones.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau 24e5e947d5 properties: fix regression with gst 0.18
Fix alignement
2022-01-20 16:17:06 +01:00
Stéphane Cerveau 45d5f19c10 gps: use it as a whole module
Namespace the use of gps
2022-01-20 15:32:30 +01:00
Stéphane Cerveau a2503ce86b ui: introduce a new module
- Cleanup up app.rs and use the new module ui
- Remove display_plugin_list
- Can now render a graph and get the
parse launch line.
2022-01-20 15:32:30 +01:00
Stéphane Cerveau 71e68b846f app: Display a tooltip on node
Handle node-added signal to set
a tooltip on each node.
2022-01-20 12:04:24 +01:00
Stéphane Cerveau 548f4cb3fc graphview: add "node-added" signal
Signal the app that a node has been added
correctly.
2022-01-20 12:04:24 +01:00
Stéphane Cerveau 6dd37b95e4 app: display plugin description in property box
On element selection, the property view display
the description
2022-01-20 12:04:24 +01:00
Stéphane Cerveau 7f4a4b438d app: add an element notebook for all and favorites
Can now see all elements and favorites from the main window
2022-01-20 12:04:24 +01:00
Stéphane Cerveau 8f83721047 app: redesign the UI to have a dashboard
The dashboard contains:

- GStreamer elements
- Element's property
- Preview
2022-01-19 13:32:33 +01:00
Stéphane Cerveau f4b7a18d76 Revert "gitlab-ci: disable rust-doc"
This reverts commit 95a095482f.
2022-01-19 12:26:39 +01:00
Stéphane Cerveau 7abc0190cd gstreamer-rs: move to 0.18.1 release 2022-01-19 12:24:13 +01:00
Stéphane Cerveau 2182fd56ed main: update license header 2022-01-19 11:56:21 +01:00
Stéphane Cerveau a572d04958 app: use create_node_with_port API
Instead of add_new_node_with_port
2022-01-19 11:56:05 +01:00
Stéphane Cerveau 6c31bc3912 graphview: add documentation and refactor the code
Add documentation to public method.
Publish method which are public
Use SelectionExt trait.
Rename add_node_with_port to create_node_with_port
2022-01-19 11:55:13 +01:00
Stéphane Cerveau ade3f14902 graphview: update css for node and port
Change border style and
port presence entries
2022-01-18 17:43:01 +01:00
Stéphane Cerveau 0f0f9d6fc0 app: port support update
Connect the port to the element pad
capabilities.
Can now create a port only if the element
supports the request pad
Can only delete a port which is a "sometimes"
port/pad.

Introduce GPS module.
2022-01-18 17:43:01 +01:00
Stéphane Cerveau 4bae12c011 graphview: introduce PortPresence
The port presence helps to know
if the port can be deleted or not.

XML Format break.
2022-01-18 16:39:39 +01:00
Stéphane Cerveau ef2a6ea1ba TODO: update the todo list
Add sections in todo file
2022-01-18 16:39:39 +01:00
Stéphane Cerveau e5334b1d5e graphview: Remove the link in remove_port
Remove the link when removing a port from a
node.

Update documentation
2022-01-18 16:39:39 +01:00
Stéphane Cerveau 7a37e5b736 app: Use new "node" api from graphview 2022-01-18 16:39:39 +01:00
Stéphane Cerveau 9ef073d3c3 graphview: update node API
Update doc for `node` and take u32
in argument.
2022-01-18 16:39:39 +01:00
Stéphane Cerveau c7c8817f9d flatpak: add a builder to build nightly Devel flatpak 2022-01-18 09:39:50 +01:00
Stéphane Cerveau 2548040463 graphview: port to gtk4 version 0.4.1 2022-01-17 14:40:09 +01:00
Stéphane Cerveau 21e5e4b4cb app: port to gtk4 version 0.4.1 2022-01-17 14:40:09 +01:00
Stéphane Cerveau fdfd739831 pipeline: fix a small issue with properties
Line formatting was wrong with properties set
ie filesrc location.
2022-01-17 14:40:09 +01:00
Stéphane Cerveau 95a095482f gitlab-ci: disable rust-doc 2022-01-17 12:09:03 +01:00
Stéphane Cerveau 8fa825f070 meson: improve application install
Add:
- new icons and installation procedure
- desktop file
- appdata
- po files
2022-01-17 11:01:08 +01:00
Stéphane Cerveau 573157707d ReadMe: update contents
Add License, Credits, Screenshot
2022-01-17 11:01:08 +01:00
Stéphane Cerveau 6c669d54cf gitignore: add new patterns
log
config.rs
2022-01-17 11:01:08 +01:00
Stéphane Cerveau 72d4ddadb7 graphmanager: save the position as an attribute
The position should not be an hidden property
but a regular attribute.
2022-01-17 10:39:11 +01:00
Stéphane Cerveau 34b134107e graphmanager: use logger instead of println 2022-01-14 09:50:45 +01:00
Stéphane Cerveau 1e13bbdca6 logger: use of simplelog crate
Logs are now visible in 2 different place
the treeview in the bottom and in a log file
with log level.
2022-01-14 09:50:45 +01:00
Stéphane Cerveau 15a785f821 Merge branch 'dab_save_position' into 'main'
graphview: save position as a hidden property

See merge request dabrain34/GstPipelineStudio!3
2022-01-13 08:55:13 +00:00
Stéphane Cerveau 0cd2490cbb pipeline: cleanup the start_pipeline error handling
Cleanup the code to handle GStreamer set_state
failure.
2022-01-12 18:49:13 +01:00
Stéphane Cerveau 1a8e893169 app: load/save node position
Able to load and save the node position
in the XML file.
Autosave/autoload the current graph
in the settings folder.
2022-01-12 18:49:13 +01:00
Stéphane Cerveau e9b905230a graphview: save position as a hidden property
- Save/load node position in XML file
- Introduce a graph ID
2022-01-12 18:49:10 +01:00
Stéphane Cerveau 1ac03c16ae TODO: update todo layout 2022-01-12 11:15:52 +01:00
Stéphane Cerveau 198847cb54 app: code cleanup
Use simplified anyhow result
Rewrite the expect/error messages.
Refactor the start pipeline API
Rename the treeview ids
2022-01-12 11:15:52 +01:00
Stéphane Cerveau 2a7137e6dc graphview: code cleanup
Remove dead code
Rewrite error message
Use simplified anyhow result for xml
methods
2022-01-12 11:15:52 +01:00
Stéphane Cerveau 27eeab7b40 logger: add column for log level
Add a column to separate the message
from the log level.
2022-01-12 11:15:52 +01:00
Stéphane Cerveau a6a5d796ca gps.ui: Use a stock icon for clear
Clear graph on button clicked.
2022-01-12 11:15:52 +01:00
Stéphane Cerveau e8259f3773 pipeline: fix multiple input pads
Can now generate a pipeline with multiple input
pads such as a compositor.
2022-01-12 11:15:52 +01:00
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