Skip to content

Language Archiving Technology

Sections
Personal tools
You are here: Home » Tools » Elan » Source Release Notes

Source Release Notes

Document Actions

The ELAN source tree is a snapshot from the large MPI software source tree, and it contains just enough to be able to compile ELAN. The distribution comes with an Ant build script and all necessary libraries.
As of ELAN version 3.2 the sources should compile without having to purchase a JNIWrapper license: all classes that require JNIWrapper are now precompiled and added as a separate library. Only those developers who want to be able to make changes to the media player that is based on the native Windows Media Player still need a JNIWrapper/JComfy license.
A (evaluation) license key can be obtained at www.jniwrapper.com.
Note February 2007: anyone who has to obtain a new key should try or purchase a ComfyJ key instead of a JNIWrapper key. The JNIWrapper jars etc. in the /lib directory should be replaced by the ComfyJ jars and the Ant build file adapted to those changes. Also see the known issue of version 2.6 below.

ELAN once started as a RMI based client-server system. The RMI stuff has been removed but traces can still be found in the package structure. The mpi.eudico.client.* packages mainly contain classes for the application's frontend, user interface, media handling and so on. Classes in the mpi.eudico.server.* packages mainly deal with the internal data structures, like transcription, tiers, annotations and so forth.

The sources can be used freely in any non-commercial project. We would appreciate to receive a notification of the release of any software that re-uses parts of our code.


May 07, 2010: Release 3.9.0

This release contains important changes to the Recognizer API. In the ELAN user interface a Video Recognizer tab has been added, input segments can have a label, complete tiers can be selected as input to recognizers, saving and loading of parameter settings is introduced and recognizers can provide a report of the process. The recognizer interface has changed such that recognizers have to be recompiled in order to be compatible with the current version.
Recognizer extensions now need to be installed in a separate folder within the extensions folder and need to be accompanied bij a CMDI component metadata file (more information here). Java libraries should be in one or more jar files, native libraries should be in the same folder and they can be loaded in the usual way. The api package contains updated source files, documentation and example cmdi files, download it here.


August 26, 2009: Release 3.8.0

To accommodate the introduction of user definable keyboard shortcuts, a lot of CommandAction classes have been changed. A new utility class has been added containing much of the new functionality: mpi.eudico.client.annotator.commands.ShortcutsUtil.
The sources of this release also contain the preliminary, rough and sparsely documented source files of the Cocoa-QuickTime player solution.


April 01, 2009: Release 3.7.2

This release introduces an in-house developed media solution for the Mac, based on Cocoa and QuickTime. Currently it is only available in compiled form in the source distribution.


January 29, 2009: Release 3.7.0

Main changes in release 3.7.0:

In this release a viewer has been added that can display metadata that are relevant to the annotation document. The viewer resides in the tabpane. There is built-in support for IMDI metadata files, but extensions can be added to support other formats. The approach is similar to the one chosen for the Audio Recognizer and the Timeseries viewer (see notes on previous releases).
A new package has been added mpi.eudico.client.annotator.md which contains a subpackage mpi.eudico.client.annotator.md.spi and a few default components. The mpi.eudico.client.annotator.md.spi package contains an interface MDServiceProvider that should be implemented by any other metadata provider. The methods to implement are only documented in the Javadoc comments of the methods.
A jar containing an implementation of the MDServiceProvider interface can be placed in ELAN's "extensions" folder.


August 14, 2008: Release 3.6.0

Main changes in release 3.6.0:

In this version an extensible framework has been implemented for Audio Recognizers. An API has been defined that allows developers to create and add their own audio recognizers to ELAN. An example project for such a recognizer is available for download here.
The package contains documentation in a "read me" file, source files for a demo implementation, an Ant build file and the Java interface files that constitute the API. An implementation of the API must be packaged in a jar and copied to the new "extensions" folder in the ELAN install folder.
When a Recognizer has correctly been loaded and identified by ELAN it is added to the list of recognizers in the Audio Recognizer tab. When the host (ELAN) hands the media file(s) to the recognizer it should state whether it can handle the file. It should also state whether or not example selections should be passed to the recognizer before it starts the recognition process. ELAN has an area available for a panel that a recognizer can provide e.g. containing control elements for that recognizer. If the constraints for the Segmentation and Segment objects are met, the Segmentations can be converted to tiers and annotations by ELAN's segments-to-tiers function.

Jars containing a TSServiceProvider (Timeseries Service Provider) can from now on also be placed in the extensions folder. There is no longer a need for the META_INF/services folder and the mpi.eudico.client.annotator.timeseries.spi.TSServiceProvider file in the jar.

Summarizing:

  • a new package has been added mpi.eudico.client.annotator.recognizer, containing the sources of the implementation of the Audio Recognizer API.
  • an example implementation of the API including documentation can be downloaded here
  • ELAN can now load extensions from an "extensions" folder in the install folder
  • TSServiceProviders can be placed in this extensions folder as well


May 19, 2008: Release 3.5.0

Main changes in release 3.5.0:

  • new EAF schema, version 2.6, that adds an element EXTERNAL_REF to accommodate references to a data category in the ISO Data Category Registry (DCR).
  • added a new package mpi.dcr containing the DCR connector and related classes.
  • the language files for the search user interface elements have been renamed from (mpi.search.resources) Language.properties to SearchLanguage.properties


March 04, 2008: Release 3.4.0

The source distribution contains new JavaHelp related libraries to make everything compile, but the ELAN help files themselves are not included. If necessary they can be copied from an installed ELAN (help.zip).
A new TSServiceProvider has been developed to add support for timeseries data stored in a .csv or tab-delimited text file.


December 13, 2007: Release 3.3.0

Main changes in release 3.3.0:

  • new EAF schema, version 2.5, that adds a relative path attribute to media descriptors.
  • introduction of ACMTranscriptionStore.getCurrentTranscriptionStore() to get the latest version of the loading and saving utility.


October 04, 2007: Release 3.2.0

Main changes in release 3.2.0:

  • the distribution now comes with a precompiled jar for the Windows native media based player. The source tree can now be build without obtaining a JNIWrapper license. However, the target "copy-native" in the Ant build file copies the relevant sources back to the main tree and, after manually adjusting the classpath in the build file, it is still possible to use and change all sources (if one does have a license).
  • TimeSeriesViewer: the second parameter of the setTracksForPanel method has been changed from a String array to a (Array)List of Strings
  • TimeSeriesViewer: the return type of the getTracksForPanel method has been changed from String array to a (Array)List of Strings
  • several utility classes have been moved or removed
  • annotation ID's are now maintained over successive save actions. Once an annotation has an id it will always keep that id and an id, once used, will never be reused for an other annotation.


May 07, 2007: Release 3.1.0

Main changes in release 3.1.0:

  • the distribution now comes with ComfyJ 2.3 (includes JNIWrapper 3.5) libraries as the default. Developers should either obtain a ComfyJ license or change the build script and some classes (see notes on release 2.6), if they wish to continue to use an older JNIWrapper version.
  • the mpi.library package no longer exists. Most classes have been moved to mpi.util


February 07, 2007: Release 3.0

Main changes in release 3.0:

  • there is a new main class: mpi.eudico.client.annotator.ELAN
    ElanFrame2 still has a main method but it is advised to use the new main method.
  • a FrameManager has been introduced, keeping track of open windows and updating the 'Window' and 'Recent Files' menus.
  • a number of methods have been moved from ElanFrame2 to a new type of Actions that are not associated with a particular Transcription
    (in package mpi.eudico.client.annotator.commands.global)
  • The ControlledVocabulary and CVEntry classes have been moved from mpi.eudico.server.corpora.clomimpl.type to mpi.util.
  • the length of the array of arguments of the NewAnnotationCommand has been reduced to 2; the ViewerManager has been removed as an argument.
  • a new EAF Schema, EAFv2.4.xsd, has been released; ELAN now writes eaf files according to this new schema. An ANNOTATOR attribute has been added to the TIER element, a PROPERTY element has been added to the ANNOTATION_DOCUMENT element and some ID/IDREF pairs have been replaced by xsd:key/xsd:keyref pairs.
  • Linux: in case an LD_PRELOAD environment variable needs to be exported, only a few lines in the ELAN launch script need to be uncommented. This export fails on some systems when there is a space character in the path to the JRE directory.


May 31, 2006: Release 2.6.1

There are only a few changes of interest to developers in this release.

  • TimeSlots are now added in one single operation to TimeOrderImpl when an .eaf is loaded. This improves the performance significantly.
  • memory management: when an ELAN window is closed only part of the used memory seems to be freed. Some methods have been added (ElanFrame2, ViewerManager, ElanLayoutManager etc) to make objects reachable for the garbage collector. This remains a point of concern.
  • when secondary linked files (like time series files) are missing this is handled in a way similar to missing media files.
See the ELAN release notes for further information on changes.


April 05, 2006: Release 2.6

As always the new features in ELAN 2.6 are described in the ELAN release notes.
A new viewer for timeseries data has been (partially) implemented: the TimeSeries Viewer. Currently there is support for just two file types, one of which is a MPI proprietary .log file containing data from a "Cyberglove". Each sample can consist of approx. 100 measurement values. The other supported file type is a plain text file (.txt) containing time - value pairs on each line, separated by a whitespace or a tab. It is assumed that it is a continuous rate sample file (i.e. a constant time increment between sample). The time information can be in milliseconds or in ss.ms format.
For example:

0.010  nnnn
0.020  nnnn
0.030  nnnn
...
There doesn't seem to be standard for timeseries data and the above format certainly isn't. There are two ways to use your own data in the time series viewer.
  • convert your file(s) to the above format
  • implement an import module for your file type and either add it to the ELAN source tree or register it as a so called "service provider" (see below)
Most source files involved in this viewer can be found in the package:
mpi.eudico.client.annotator.timeseries
In this package there is a package spi containing the interface TSServiceProvider. An implementing class could be placed in a .jar on the classpath. The jar should contain a folder META_INF/services, containing a file named mpi.eudico.client.annotator.timeseries.spi.TSServiceProvider, containing a single line which should be the fully-qualified name of your implementing class. (All according to the Java documentation, this has not been tested yet.)
If any user interaction is needed to configure the track(s) from your files, the provider's isConfigurable() should return true and the getConfigPanel() should return a Component that can be placed in a JDialog. (Example in the glove package.)
Track data are stored in a mpi.eudico.client.annotator.timeseries.TimeSeriesTrack implementor; the only one available yet is ContinuousRateTSTrack, storing the track data in a single float array.
In order to be able to store configuration properties of source files and tracks, a source file object is wrapped in a mpi.eudico.client.annotator.timeseries.config.TSSourceConfiguration object and a track object is wrapped in a mpi.eudico.client.annotator.timeseries.config.TSTrackConfiguration object.

Known issue:

  • The distribution comes with jniwrapper 2.x. If you only have a license key for a jniwrapper 3.x version, you should replace the jniwrapper libraries and edit one mpi source file:
    mpi.eudico.client.annotator.player.NativeMediaPlayerWindowsDS
    Change the line
    mediaControl = FilgraphManager.create(new ClsCtx(ClsCtx.CLSCTX_INPROC_SERVER));
    to
    mediaControl = FilgraphManager.create(ClsCtx.INPROC_SERVER);


November 02, 2005: Release 2.5

The new features in ELAN 2.5 are described in the ELAN release notes. Most changes can be found in classes in the mpi.eudico.client.annotator.* packages. For developers mainly interested in the media playback solution, it may be of interest that the class "IBasicVideoImpl" in package "mpi.eudico.client.annotator.nativemedia.quartztypelib.impl" has been extended with a method getCurrentImage2( Parameter[] p). This method has been introduced for succesful grabbing of a video frame. 
The Ant file has been slightly changed in the definition of the classpath.
The source tree now also compiles against Java 1.5.


August, 2005: Release 2.4.2

This is the first (snapshot) source release with an Ant build file, libraries etc. Also the first release after a thorough refactoring of the package structure and the removal of the RMI related constructs.



Last modified: 03 november 2005

Created by latadmin
Last modified 2010-07-05 11:39
 

Powered by Plone

This site conforms to the following standards: