ELAN Plugin Design

I’m pretty new to using ELAN and have been the Pympi Python Library to interact with different files and Python scripting to throw together something that can enhance the plotting capabilities of ELAN and interface with a separate Python project I’ve been working on.

What would be a good place to start for creating a plugin for ELAN, such as something that would enhance its plotting capabilities? The source code seems pretty tough to edit, unless I’m looking in the wrong places. Thanks!

Hello,

ELAN currently doesn’t have a general plugin interface; there are only a few, specific areas where ELAN can be extended via mini-API’s (audio/video recognizers, text analyzers, timeseries file formats).

I’m not sure what exactly you mean by the ‘plotting capabilities’ of ELAN, I guess several interpretations are possible. Maybe a further description can help, or a screenshot if it is something graphical?
And you are considering to re-implement your Python scripts in Java to extend ELAN, if I understand correctly?

-Han

Hi Han,

Thanks for the response! An example of plotting capabilities would be generating a directed graph of different tiers and annotations and their relationships that would not otherwise be clear with just the annotation viewer or timeseries viewer. I could reimplement some of my logic in Python and throw together some sort of interfacing logic, but maybe it would be better if I helped to implement a general plugin interface for ELAN, as plotting is not the only way in which I think it could be useful to extend ELAN’s capabilities. I would be open to discussing more separately!

  • Ishan

Hello Ishan,

You’re welcome to contact me via email (han.sloetjes AT mpi.nl).
We’re currently in the process of restructuring the code base, making it more modular. Implementing a plugin interface would be a next, non-trivial step. Especially if plug-ins should be able to add viewers and other elements to the user interface (which would be nice), a lot of re-organising and re-implementing will be required, I guess. Not sure if we have the means to do so, but we can discuss ideas ‘offline’.

-Han

1 Like