This forum has been archived. All content is frozen. Please use KDE Discuss instead.

How do I write plug-ins?

Tags: None
(comma "," separated)
animationista
Registered Member
Posts
169
Karma
0
OS

How do I write plug-ins?

Wed Jan 07, 2009 7:21 pm

How does it work? Are there any easily comprehended way to write plug-ins and add-ons?


What can you do with plug-ins and add-ons? Are they purely image and transition effects or could you,as an example, write a plugin that exports EDL-lists?


How do you install plug-ins and add-ons?

j-b-m
Registered Member
Posts
804
Karma
1

Re: How do I write plug-ins?

Wed Jan 07, 2009 8:28 pm
Plugins support is only starting. I will write a documentation as soon as it is a bit more advanced.

I am still not sure what is the best approach for plugins. Currently, I chose the QtPlugin way, which means that plugins must be written in c++. However, you don't need to know anything about Kdenlive to write it.
Currently, Kdenlive sends some infos to the plugin (see current param list below), and the plugin can create a westley (xml) clip with that info, save it to a file and pass back the url to Kdenlive to add it to the project list.

If you are interested, you can have a look at the plugin/sampleplugin directory which contains the first plugin.

Currently, the infos available to the plugin are those:

const QString &generator: name of the plugin
const KUrl &projectFolder: project folder
const QStringList &lumaNames: list of the available luma files for transitions
const QStringList &lumaFiles: path for the luma files
const double fps: project fps
const int width: width of the project video frame
const int height: height of the project video frame


My first idea for plugins was to allow to create different kind of clips with a simple c++ file.
However, different kind of plugins can be written, and the current project xml playlist could easily be passed to the plugin...

Hope it helps

animationista
Registered Member
Posts
169
Karma
0
OS

Re: How do I write plug-ins?

Thu Jan 08, 2009 10:33 am

Thanks.


I was just curious since I didn't find any info on this and I think good plugins adds very much to a software. Anyone can extend it's usability without having to dig into it's main code.


Unfortunately it seems rather complicated for my programming skills which mostly limits to some lua plugins for AnimeStudio... But I'll look into it when I get some time in the future.

madsdyd
Registered Member
Posts
204
Karma
0

Re: How do I write plug-ins?

Fri Jan 09, 2009 8:26 pm
Perhaps you could try to write a little about how you do plugins in lua for AnimeStudio.

(And, jb: it should be feasible to write a C++ plugin that loads kross, and use kross to expose plugin interfaces for the kross compatible languages, I reckon. Not that I am asking you to do it, but longer term, not? http://en.wikipedia.org/wiki/Kross_(KDE) )
j-b-m
Registered Member
Posts
804
Karma
1

Re: How do I write plug-ins?

Sat Jan 10, 2009 3:39 pm
Yes, I was also thinking about integrating Kross into Kdenlive so that we get support for several scripting languages. Scripting is definitely a very important feature for Kdenlive, so I will look at it in the not too far future.
Enzo Gianvittorio
Registered Member
Posts
25
Karma
0

Re: How do I write plug-ins?

Wed May 13, 2009 5:40 pm
Yes, Yes, Yes !!

Plugs ins are very important perhaps a great open library of plugins for visual effects could really make a great difference for Kdenlive !!

We need LLOOOOTSS of visual effects.. shadows, bevels, perspectives, borders, feather, masks, video inside a polygon, ... and please all of them should be keyframable..

I have to confess I really like the foundations of the kdenlive concept (interface and concept is already in the right direcion..) so just a bit of more work to make it stable and making a very great OPEN library for fx effects would make Linux the platform for video at last !!

PS: have you heard of this project??



http://www.youtube.com/watch?v=Y2Gbu1HRN2Q&feature=channel


cheers and many thanks to all the great developers of open source !! you are fantastic..!
avilla
Moderator
Posts
79
Karma
0
OS

Re: How do I write plug-ins?

Wed May 13, 2009 6:05 pm
yes, i've read of this project on a thread here in the forums... i think it could really be THE way to support effects and transitions... i promise i'll take a look on that as soon as possible!
User avatar
alainroger
Registered Member
Posts
159
Karma
0
OS

Re: How do I write plug-ins?

Sat Feb 12, 2022 9:31 pm
I was wondering if it would not be bettre to allow to code plugins in python or in LuA as Final Cut pro and Resolved DAVinci allows.

j-b-m wrote:Plugins support is only starting. I will write a documentation as soon as it is a bit more advanced.

I am still not sure what is the best approach for plugins. Currently, I chose the QtPlugin way, which means that plugins must be written in c++. However, you don't need to know anything about Kdenlive to write it.
Currently, Kdenlive sends some infos to the plugin (see current param list below), and the plugin can create a westley (xml) clip with that info, save it to a file and pass back the url to Kdenlive to add it to the project list.

If you are interested, you can have a look at the plugin/sampleplugin directory which contains the first plugin.

Currently, the infos available to the plugin are those:

const QString &generator: name of the plugin
const KUrl &projectFolder: project folder
const QStringList &lumaNames: list of the available luma files for transitions
const QStringList &lumaFiles: path for the luma files
const double fps: project fps
const int width: width of the project video frame
const int height: height of the project video frame


My first idea for plugins was to allow to create different kind of clips with a simple c++ file.
However, different kind of plugins can be written, and the current project xml playlist could easily be passed to the plugin...

Hope it helps

Last edited by alainroger on Sat Feb 12, 2022 9:32 pm, edited 1 time in total.


Kubuntu 22.04 / kernel 5.15.x
KDE 5.24.5 / KDE framework: 5.95 / Qt version: 5.15.3
User avatar
alainroger
Registered Member
Posts
159
Karma
0
OS

Re: How do I write plug-ins?

Sat Feb 12, 2022 9:31 pm
I was wondering if it would not be better to allow to code plugins in python or in LuA as Final Cut pro and Resolved DAVinci allows.

j-b-m wrote:Plugins support is only starting. I will write a documentation as soon as it is a bit more advanced.

I am still not sure what is the best approach for plugins. Currently, I chose the QtPlugin way, which means that plugins must be written in c++. However, you don't need to know anything about Kdenlive to write it.
Currently, Kdenlive sends some infos to the plugin (see current param list below), and the plugin can create a westley (xml) clip with that info, save it to a file and pass back the url to Kdenlive to add it to the project list.

If you are interested, you can have a look at the plugin/sampleplugin directory which contains the first plugin.

Currently, the infos available to the plugin are those:

const QString &generator: name of the plugin
const KUrl &projectFolder: project folder
const QStringList &lumaNames: list of the available luma files for transitions
const QStringList &lumaFiles: path for the luma files
const double fps: project fps
const int width: width of the project video frame
const int height: height of the project video frame


My first idea for plugins was to allow to create different kind of clips with a simple c++ file.
However, different kind of plugins can be written, and the current project xml playlist could easily be passed to the plugin...

Hope it helps


Kubuntu 22.04 / kernel 5.15.x
KDE 5.24.5 / KDE framework: 5.95 / Qt version: 5.15.3
User avatar
alainroger
Registered Member
Posts
159
Karma
0
OS

Re: How do I write plug-ins?

Sat Feb 12, 2022 9:38 pm
I would love to participate to this plugin collection topic.

Plugins for transitions
Plugins for effects


Kubuntu 22.04 / kernel 5.15.x
KDE 5.24.5 / KDE framework: 5.95 / Qt version: 5.15.3


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]