OpenShot Video Editor Snap (Name Dispute + Auto Connect)

Hi! I am the lead developer of OpenShot Video Editor (openshot-qt debian package name), and am in the process of publishing a snap named the same thing (openshot-qt). I have filed a name dispute in snapcraft.io since it would not let me choose that package name.

I would also like to request auto-connection of [removable-media, audio-record, and camera] for our official OpenShot Video Editor snap, openshot-qt. OpenShot uses these interfaces to import footage and save projects and exports on external drives, record microphone audio for voiceovers, and capture webcam video. The snap uses strict confinement, and microphone and webcam recording are initiated by the user.

I would appreciate if someone can point me in the right direction. Thanks so much in advance! -Jonathan

1 Like

This request has been added to the queue for review by the @reviewers team.

Hi there,

I’ve been able to action your name dispute. Reviewers should be along to comment/ask questions/vote on your auto connect request.

Melvin

1 Like

Hi @jonoomph

To make the review of your request easier, please use the following template to provide all the required details and also include any other information that may be relevant.


name: name of the snap
description: description of the snap
snapcraft: link to snapcraft.yaml if publicly available
upstream: link to the upstream repository if open-source or ‘PRIVATE’ otherwise
upstream-relation: relation of the snap publisher with the upstream
plugs:
  <interface-name>:
    interface: [optional] one of https://snapcraft.io/docs/reference/interfaces/
    attributes: [optional] interface attributes if any
    request-type: installation | manual-connection | auto-connection
    reasoning: why is this interface needed
  ...
slots:
  <interface-name>:
    interface: [optional] one of https://snapcraft.io/docs/reference/interfaces/
    attributes: [optional] interface attributes if any
    request-type: installation | manual-connection | auto-connection
    reasoning: why is this interface needed
  ...

where:

  • : the name of the interface as defined in the snapcraft.yaml .
  • interface: the interface being requested. Only required if different from interface-name
  • attributes: the interface attributes. Only required if attribute are defined in the snapcraft.yaml.
  • request-type: one of installation (ie. permission to upload the snap to the store using this interface), connection (ie. permission to allow the snap interface to be connected) or auto-connection (ie. permission for the snap interface to be automatically connected when the snap is installed).

Hi @shishirsub10, thanks for the guidance, and thank you @mlathara for resolving the name dispute!

The official openshot-qt snap has now been built through our Launchpad recipe and published to the edge channel. The Store listing has also been updated with screenshots and artwork.

Here are the requested details:

name: openshot-qt
description: |
  OpenShot Video Editor is an easy-to-use, open-source video editor
  with tools for timeline editing, animation, effects, audio mixing,
  and microphone and webcam recording.
snapcraft: https://git.launchpad.net/openshot-packaging/tree/snap/snapcraft.yaml
upstream: https://github.com/OpenShot/openshot-qt
upstream-relation: |
  I am Jonathan Thomas, the lead developer of OpenShot Video Editor.
  This is the official snap, maintained by the OpenShot team.
plugs:
  removable-media:
    request-type: auto-connection
    reasoning: |
      Video editing commonly involves large media files stored on
      external drives and memory cards. OpenShot needs read/write
      access to import footage, reopen projects referencing external
      media, and save projects and exported videos to those drives.
  audio-record:
    request-type: auto-connection
    reasoning: |
      OpenShot includes microphone recording for voiceovers,
      narration, and other audio added to video projects. Recording
      is explicitly initiated by the user through the application's
      recording controls. 
  camera:
    request-type: auto-connection
    reasoning: |
      OpenShot includes webcam recording for tutorials, presentations,
      vlogs, and other video projects. Recording is explicitly
      initiated by the user through the application's recording
      controls.
slots: {}

The snap uses strict confinement. All three plugs are already declared in our snapcraft.yaml; this request is for permission to connect them automatically on installation.

Please let me know if any additional details or testing information would help with the review.

Thanks! Jonathan

Hi Jonathan,

Given the functionality of the snap, it makes sense for openshot-qt to have auto-connection to audio-record and camera interfaces. Typically we do not grant auto-connection of removable-media interface but openshot-qt fits perfectly in the exception list(media editor) as it needs to import/export/edit large media files on external devices.

So +1 from me to grant auto-connection of removable-media, audio-record and camera interfaces after successful publisher vetting. What do other reviewers think?

2 Likes

Hi @jonoomph :slight_smile:

As @shishirsub10 mentioned, we generally avoid granting auto-connection for removable-media; however, your snap falls under the media editors category, which is an explicitly documented exception for this interface. In addition, the repository of the project is mature and well-supported, so it is a +1 from me as well.

Regarding the audio-record and camera interfaces, both requests make sense given the snap’s functionality, and their potential usage is mentioned in the snap’s description. It’s a +1 from my side for auto-connecting these interfaces too!

2 Likes

Thanks for everyone’s feedback on this so far. I am getting close to the next release of OpenShot (4.0.1) and would love to announce the snap as part of this release. Do we have an ETA on when the auto connections will be decided on, so I can adjust accordingly? No rush, just curious about the ETA on this process. Thanks in advance!

-Jonathan

1 Like

Disclaimer: I’m not a store staff. The following is my own opinion on this matter.

Regarding the name dispute, as long as the applicant is indeed the upstream I believe they are elligible of using the upstream-preferred-name.

As we don’t have a snap rename procedure in place it would probably be better if @jonoomph can first get the publish right of the openshot name so that we don’t need to migrate too many users from the old one.

Hi @jonoomph

I am getting close to the next release of OpenShot (4.0.1) and would love to announce the snap as part of this release.

That is great to hear and we would love that too.

We do publisher vetting to verify the relationship between the publisher account and the upstream project as per Process for performing Snap Publisher Vetting . This should not take long. I will begin the publisher vetting process.

1 Like

+2 votes for, 0 votes against, publisher is vetted, Granting auto-connection of camera, audio-record and removable-media interfaces, this is now live.

2 Likes

Thanks so much for everyone’s help!

2 Likes

For the most part, OpenShot works great in strict confinement. But a user just pointed out some failures related to our integration with inkscape (external SVG editor for titles) and blender (external 3D animation rendering), both of which are executed as a sub-process of OpenShot - and obviously not allowed in strict confinement.

Since this is very related to the topic of our auto-connections VS classic confinement, I thought I would ask for suggestions on this topic. If there is a simple and/or standard way to deal with invoking another snap/executable from within a strict confined snap, I would love to discuss the options.

If the other snap properly integrates with the mime system you should just call xdg-open inside your snap, that will tell the desktop to open the default app for a certain mime type…

1 Like

Thanks for the suggestion. Using xdg-open would probably fix the launching of Inkscape (or whatever svg editor is installed), but OpenShot monitors the process for exit, so it can refresh the title after editing is complete.

Similarly, for Blender we monitor process std-out, to show progress bars and errors during render (since blender is run without showing it’s UI - as a background process).

I’m afraid these are probably some of the edge cases where there isn’t a reliable way to enable these features without bundling the called software into the snap.

The best you can do is to workaround them, or disable such functionalities in the snap distribution.

2 Likes

Thanks for the feedback! Yeah, I might be able to use xdg-open + some kind of file-watcher to determine when the SVG is saved for the Inkscape integration, so that could be adapted for the snap to fully work (I think), without too much trouble.

The blender feature probably just need to be disabled in the snap for now - so users don’t waste time messing with it - when it will never work.

Thanks again!

1 Like