Welcome - Download - User Manual - FAQ - Developers - Contribute

Contents

Introduction

Mistelix leverages on Mono.Addins framework to provide extensibility capabilities for the application using extensions.

These extensions are external Microsoft .Net assembly files that Mistelix recognizes at runtime and uses in defined points of the application. The extensions are developed as stand-alone components, there is no need to recompile the application or even has access to the source code.

At this point you can use extensions to define new slide transitions. See the extensions directory in the project source code.

Note: Please, do compile the latest version of Mistelix from sources since extensions have been evolving since 0.1.

What can be extended

In the file mistelix.addin.xml we define the points of the application that can be extend.

<ExtensionPoint path="/Mistelix/SlideTransitions">
   <ExtensionNode name="SlideTransitions" objectType="Mistelix.Transitions.Transition" />
</ExtensionPoint>

<ExtensionPoint path="/Mistelix/Effects">
   <ExtensionNode name="Effects" objectType="Mistelix.Effects.Effect" />
</ExtensionPoint>

Transitions

A transition is a gradual transition from one image to another.

This allows to external extensions to add extra functionality to the application by implementing the Transition class, which defines the transitions between two slides. If you are considering implementing a extension, please do implement the ones missing from the SMIL 2.0 standard.

Effects

An effect is a transformation applied to an image. For example, to convert an image to gray scale. You can create new effects by implementing the Effect class.

Anatomy of an extension

An extension should be a self-contained code. It should provide at least two files:

To compile an extension is as easy as:

gmcs -t:library Fade.cs -resource:Fade.addin.xml -pkg:mistelix -r:Mono.Posix

Once the extension is compiled, the assembly containing the extension has to be copied either in $PREFIX/lib/mistelix/extensions (e.g. /usr/lib/mistelix/extensions) to make it available system-wide, or in ~/.gnome2/mistelix/addins if the user has no enough rights to install it system-wide.

Retrieved from "http://mistelix.org/Extensions"

This page has been accessed 1,802 times. This page was last modified on 14 May 2009, at 07:48.