GstPipelineStudio/TODO.md
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

3.8 KiB

0.1.0

  • Fix c.fill issue
  • Create Element structure with pads and connections
  • Get a list of GStreamer elements in dialog add plugin
  • Add plugin details in the element dialog
  • Draw element with its pad
  • Be able to move the element on Screen
  • Create connection between element
  • create contextual menu on pad or element
  • save/load pipeline
  • Run a pipeline with GStreamer
  • Run the pipeline with GStreamer
  • Control the pipeline with GStreamer
  • select nodes/links with a Trait Selectable
  • be able to remove a link by selecting it
  • Connect the logs to the window
  • Define the license
  • crash with x11 on contextual menu
  • open multiple times dialog (About) prevent to close it.
  • remove useless code from graphview
  • Move render to a specific module
  • Move GST render to a specific module

0.2.0

Graphview

  • Remove a port from a node when its possible (Presence support)
  • Implement graphview unit test
  • Add a css class for pad (presence always or sometimes)
  • Add properties to Port to store some specific value (ie Caps)
  • Unable to connect a port which is already connected
  • Unable to connect port with same directions (in/in, out/out)

GStreamer:

  • Add seek support
  • Use of gtk4paintablesink

app

  • Check that a node accepts to create a port on request (input/output)
  • Render the parse launch line in a message box
  • Prevent to create a pad in an element without the template
  • Check the pipeline validity
  • Save node position in XML
  • Auto-save the graph
  • Logger in file/app all over the app
  • Property window in the main window
  • Connect the GPS status to GST status
  • Display position and duration
  • Seek to position with slider
  • One listbox with elements and one listbox with favorites in the app dashboard
  • See the link creation with a dashed line
  • Display pad properties with tooltip hover
  • Add preferences dialog
  • Create a window for the video output

infra

  • Icon install
  • Flatpak infrastructure

0.2.1

app

  • Can set pad properties to be used during the pipeline generation. See videomixer_alpha.xml
  • Support gtk4paintablesink with playbin
  • Display a pipeline properties dialog (list elements)

0.2.2

app

  • Remove quit as it's unnecessary with close button
  • Remove the close button in dialogs (properties etc.)
  • Unable to use flags in playbin3
  • the desktop icon execs gps_pipeline_studio
  • move burger menu on the right

Graphview

  • Update node description on property removal

TODO

Graphview

  • create a crate for graphview/node/port

GStreamer:

  • Implement pipeline unit test

app

  • Control the connection between element
    • unable to connect element with incompatible caps.
  • Add multiple graphviews with tabs.
  • Implement graph dot render/load
  • Implement a command line parser to graph
  • handle the caps setter element
  • Add probes on each pad to monitor the pipeline
  • Render a media file
  • Offer compatible element to a pad (autorender)
  • Display tags/meta/message detected
  • Change TreeView to ListView
  • Implement zoom on the view (https://gitlab.gnome.org/World/obfuscate/-/blob/master/src/widgets/drawing_area.rs)
  • Settings: add a log level selection
  • reopen the last log on prematured exit (crash)
  • Play/pause should be prevented until the pipeline is ready
  • Filter the elements by class/rank etc.
  • Add a list of recent open files to the burger menu

CI/Infra

  • Create a macos/windows job

bugs

  • check that element exists before creating it on file load.
  • Combo box is not well selected if the value is not linear such as flags. See flags in playbin