Commit graph

106 commits

Author SHA1 Message Date
Stéphane Cerveau 1c04294b3a WIP: app: allow to load recent open files
Keep a list of 4 files and be able to load it
again
2022-02-10 15:49:28 +01:00
Stéphane Cerveau f925c21b1d GPS: cleanup the license
Keep only the SPDX and mention the project
2022-02-09 11:28:59 +01:00
Stéphane Cerveau 0164d71bf2 graphmanager: cleanup the license
Keep only the SPDX and mention the project
2022-02-09 11:28:27 +01:00
Stéphane Cerveau 006ed2bae0 properties: preferences: unify behavior
Use a common create_dialog method in dialog.rs
Add an empty field in combo box to be able to remove
a property
Remove the close button.
2022-02-08 14:57:00 +01:00
Stéphane Cerveau 72dcde0ad3 graphmanager: update description on property remove
The node must update its description when
a property value has been removed.
2022-02-08 14:53:12 +01:00
Stéphane Cerveau 1eb49731e1 properties: fix the propery value with combo
The property is now the numerical value of the
enum or flags in an element's property
2022-02-08 14:34:23 +01:00
Stéphane Cerveau 935e6c7fb5 burger menu: right aligned 2022-02-08 14:17:31 +01:00
Stéphane Cerveau 78b2bd4a6f app: remove quit mentu entry
The quit menu entry is dispensable as
the application can be quit with cross
2022-02-08 14:13:18 +01:00
Stéphane Cerveau 402ac1f40f properties: display the number of elements found 2022-02-07 12:19:15 +01:00
Stéphane Cerveau e3ac490a81 properties: add a way to display pipeline properties
Pipeline properties displays all elements in
the pipeline.
2022-02-07 12:19:15 +01:00
Stéphane Cerveau 4cb965fe7f player: handle EOS message 2022-02-07 12:19:15 +01:00
Stéphane Cerveau f118ef7db0 player: detect gtk4paintablesink with deep-element-added
Connect to the deep-element-added signal from the pipeline
to detect the gtk4paintablesink presence.
2022-02-07 12:19:15 +01:00
Stéphane Cerveau 25d856a360 pipeline: rename to player
To avoid confusion with GStreamer pipeline and
GPS pipeline, renamed it player.
2022-02-07 12:19:15 +01:00
Stéphane Cerveau 59ecbb41a5 pipeline: can now support pad properties
Can set pad property which will be used during the
pipeline generation.

Change port name to src_* or sink_*

Caps become an hidden property

Remove the ':' to separate value field, it does not
work properly with URI

Add funny graphs
2022-02-07 12:19:15 +01:00
Stéphane Cerveau 7db3b333ac graphmanager: add API to change port name. 2022-02-07 12:19:15 +01:00
Stéphane Cerveau a21350b4a0 graphmanager: can remove property
Add public remove_property to PropertyExt
2022-02-07 12:19:10 +01:00
Stéphane Cerveau 8059f73f51 elements: sort the favorites by alphabetical order 2022-02-03 12:56:54 +01:00
Stéphane Cerveau b12ea9ebdd properties: follow the same layout as in preferences
Rework the UI to follow the same layout as in preferences
dialog
2022-02-01 16:14:52 +01:00
Stéphane Cerveau c101ea6a37 preferences: add a preference dialog
Add a dialog to set user preference such
as gtk4paintablesink usage.
2022-02-01 16:14:52 +01:00
Stéphane Cerveau 247cf2c844 settings: use HashMap to save paned positions
Save the hashmap in the settings.toml file
2022-02-01 13:23:15 +01:00
Stéphane Cerveau 4cdf2fd70b app: support multiple preview in a Notebook
The preview is now a NoteBook and if multiple video
gtk4sink are available, a page is created for each of it.
2022-02-01 13:23:15 +01:00
Stéphane Cerveau 09f56de320 app: change the app title 2022-02-01 11:44:35 +01:00
Stéphane Cerveau 1c10424e9e pad: change the pad name log cat 2022-02-01 11:44:01 +01:00
Stéphane Cerveau 3a4a4e2bea ui: move gps.ui to dedicated folder 2022-01-31 19:31:45 +01:00
Stéphane Cerveau 7aac6cb08f gps.ui: add a label for "no "preview" 2022-01-31 17:33:19 +01:00
Stéphane Cerveau 9b768b7d56 app: display position/duration and seek scale
The user can now see the position and duration of the playback
The slider can now seek to the given position.
2022-01-31 17:32:54 +01:00
Stéphane Cerveau 8f72b9ac79 element: display the rank in the description 2022-01-31 13:37:22 +01:00
Stéphane Cerveau 18606b687c favorites: display properties as well
As in element list, display properties when selected
2022-01-28 16:16:29 +01:00
Stéphane Cerveau b84483057b pipeline: add gtk4paintablesink
Add a way to draw whenever possible
the video render into the preview box
in UI
2022-01-28 16:01:01 +01:00
Stéphane Cerveau 42e0057829 app: use new graphview API
Use new APIs from unit test graphview changes
Update the TODO
2022-01-27 17:35:47 +01:00
Stéphane Cerveau d19387f039 graphview: implement tests infra
- Implement test for graph creation, save and load.
- Change xml API
- Update public/private api
- Add a graphview clear API
2022-01-27 17:35:47 +01:00
Stéphane Cerveau 9cc40d2b7b grahview: add create_link methods to clarify API 2022-01-27 13:18:46 +01:00
Stéphane Cerveau 2ddd49fa0d tests: implement graphview unit test 2022-01-27 13:18:46 +01:00
Stéphane Cerveau 620f6bf699 graphview: implement link on mouse pointer
Draw a dash line following the mouse pointer
when an available port has been clicked.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau cf8c8ab585 graphview: remove all links when node is deleted
The node can have more links than one, so all the links
must be destroyed when the node is destroyed.

Cleanup the code and panic if a link does not have
the node or port described in it.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau a8e7b039a0 pipeline: can now communicate with app
Tell the status of pipeline in the status bar.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau ee66f53171 pipeline: Able to render a graph and check for error
If the pipeline can not be created, display an error dialog
when checking it.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau 5c25417569 pipeline: set state to stop when error
Do not display a dialog when an error happens,
only a log error is sufficient.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau 13421b4d5b app: display the caps as a tooltip on port
The port can now display a tooltip
with the port
2022-01-27 13:18:46 +01:00
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