Stéphane Cerveau
375d01c0cd
port: Rework the way to add a port/node
...
Allow to tell than a port has been added with its property
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
f483b51c9e
app: Use the new PropertyExt interface from Graphview
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
17ecce9748
port: support properties
...
Allow port to have a property set
and store it in the xml file
Introduce PropertyExt
Rewrote the port layout
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
b360f4a13a
node: update the layout and use GtkGrid
...
The node uses a GrkGrid to display
ports, name and description.
2022-01-27 13:18:46 +01:00
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
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
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
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
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
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
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
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
bc7f4424ca
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 20:48:53 +01:00
Stéphane Cerveau
6397ebff74
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 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
Stéphane Cerveau
6351f1f43f
GPS: Add a dialog to select the elements
...
This dialog allows to select and see element
and its details.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
859f936796
GPS: add GStreamer support
...
Can now get the GStreamer element's list
from the registry.
2022-01-11 20:48:53 +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