New release of OpenViBE 0.12.0 available

OpenViBE software releases, jobs and events
Posts: 239
Joined: Tue Nov 02, 2010 8:51 am
Location: Mensia Technologies Paris FR

New release of OpenViBE 0.12.0 available

Post by jlegeny »

The OpenViBE development team is happy to announce the release of OpenViBE 0.12.0 "Autumn Edition", available for download at :

This release brings many new features, including one community contribution :

Nicolas Tarrin, Mathieu Goyat & Gelu Ionescu contributed a stream synchronization box, that can synchronize in OpenViBE several streams coming from several linked devices.

The time is now printed in every logs (console, file, etc.) in seconds. User can switch between this display and the previous (in 32:32 time and/or hexadecimal) at will using configuration tokens. The time precision can also be set.
The Emotiv EPOC driver is now included in the Windows Installer! It still requires the user to specify where to find the Emotiv Research Edition SDK in order to run correctly.
The g.Tec g.USBAmp driver benefits from a major update that add more amplifier functionalities: ability to connect to common ground and reference, activation of notch and band-pass filters.
The Matlab Filter box is now compiled by default and included in the release. This box is still unstable, but has been fully reworked in order to work on every machine, as long as Matlab (version 32bits) is installed.
... and more new features and bugfixes detailed below.

Many thanks to Nicolas, Mathieu and Gelu for their contributions! If you are interested in joining the effort feel free to contact us!

Contact : Project Leader : Anatole Lécuyer, INRIA ( Lead Software Engineer : Laurent Bonnet, INRIA (

Follow us on twitter :

For more information visit our website :

Posts: 239
Joined: Tue Nov 02, 2010 8:51 am
Location: Mensia Technologies Paris FR

Re: New release of OpenViBE 0.12.0 available

Post by jlegeny »

==== 0.12.0 CHANGELOG ====
Released 12th October 2011

* ovILogListener : added log(time64) function to log listener interface.
* ov_types.h : added the structure time64 to basic openvibe types. The structure only has one member : the uint64 value.

openvibe-kernel :
* fixed random crash on Ogre GTK widget initialization (the code was actually marked as deprecated so I updated to newer Glib API)
* openvibe.conf : added tokens for the optional hexa output and time in seconds/precision for the log listeners.
* ovkCLogListenerFile, ovkCLogListenerNull, ovkCLogListenerConsole : Added the log(time64) function to print time in seconds if ${Kernel_ConsoleLogTimeInSeconds} is set (default true for the console, false for the file); precision taken from ${Kernel_ConsoleLogTimePrecision} (default 3 digits). Modified the hexadecimal output to be optional with ${Kernel_ConsoleLogWithHexa} (default false for console, true for file).
* ovkCLogManager : Added the log(time64) function.
* ovkCAlgorithmContext; ovkCKernelContext; ovkCObjectVisitorContext; ovkCPluginModule;ovkCBoxListenerContext : added bridge function for log(time64).
* ovkCPlayerContext : added bridge function for log(time64), print log message prefix with time64 ("at time ...").

openvibe-toolkit :
* updated OpenViBEToolkit::Tools::String::split behavior so that it uses a callback object to store splitted tokens instead of a preallocated string array
* ovtkTTrainingBoxAlgorithm : log all times and dates with time64 typed values.

* ovdCLogListenerDesigner : Added the log(time64) function to print time in seconds if ${Designer_ConsoleLogTimeInSeconds} is set (default true); precision taken from ${Designer_ConsoleLogTimePrecision} (default 3 digits). Modified the hexadecimal output to be optional with ${Designer_ConsoleLogWithHexa} (default false).

* interface-Emotiv-EPOC.ui : added a folder selection to the local Emotiv SDK
* ovasCConfigurationEmotivEPOC : added the Emotiv sdk path
* ovasCDriverEmotivEPOC.cpp : delayload safe guard for first call to edk.dll
* ovasCAcquisitionServerGUI : added a token to save the path to emotiv SDK in the application config file.
* interface-GTec-GUSBamp.ui : added a configuration dialog for common ground and ref selection among the 4 amp blocks. Added a configuration dialog for filter selection (notch and band pass).
* ovasCConfigurationGTecGUSBamp : added gtk callbacks and references to save the new settings (common gnd & ref; filters)
* ovasCDriverGTecGUSBamp : now uses the amplifier integrated filters and common ref and gnd as requested by the user.

* fixed a bug causing SSVEP_ShipAngularSpeed to be ignored

- deleted the branch wip-goyat, since it will not be integrated

=== PLUGINS ===
* ovpCBoxAlgorithmSignalConcatenation.cpp : using time64 to log time values.
* ovpCBoxAlgorithmLuaStimulator.cpp : using time64 to log time values.
* ovpCBoxAlgorithmClassifierAccuracyMeasure.cpp : using time64 to log time values.

- removed the branch wip-gionescu which was deprecated and will be integrated from another version of the code
+ ovpCBoxAlgorithmSynchro : Added an input synchronization box written by Gelu Ionescu & Matthieu Goyat modified by Nicolas Tarrin
- doc/Doc_BoxAlgorithm_Synchro.dox-part : box renamed to Stream Synchronization
+ Doc_BoxAlgorithm_StreamSynchronization.dox-part : box renamed
+ SimpleDSP : optionnaly allowed to have date mismatch while
processing multiple inputs - this is usefull to contrast different ERPs (as for instance target vs non target) but should be used with care as the output is only produced when 1 chunk is available on each input
* ovpCBoxAlgorithmSynchro.h : changed box name to Stream Synchronization and category to Basic.
* updated channel selector and channel rename to use the new split callback design
* ovpCBoxAlgorithmChannelSelector: inlined a function that is called quite often
* ovpCBoxStimulationBasedEpoching : log all times and dates with time64 typed values.
* ovpCSignalConcat.h : updated description to tell user to use the Signal concatenation box in file-io instead of this deprecated one.

- Doc_BoxAlgorithm_SignalStreamConcatenation.dox-part : box renamed to Signal Concatenation
+ Doc_BoxAlgorithm_SignalConcatenation.dox-part : real doc page for the box.
* ovpCBoxAlgorithmSignalConcatenation : added a stim output that sends OVTK_StimulationId_EndOfFile upon successful concatenation. Fixed a bug when removing inputs resulting in bad reallocation and links of other inputs.
* Doc_BoxAlgorithm_SignalConcatenation.dox-part : update for the new output.

* electrode_set_standard_* : added the coordinates for electrode placements T7;T8;P7;P8 (same coordinates as T3, T4, T5, T6) - MantisId#0000077
* CSV file writer : disabled trace message

openvibe-plugins-streaming :
* fixed bug in stream switch that caused header to be sent each time a new buffer is sent (it was not deprecated after being processed)

* safely guard first call to matlab engine for delay-load library on windows.
* fixed the default settings for cross platform coherency
* renamed inaccurate setting.
* now user must specify the path to matlab. It is added on windows in the environment PATH. Settings are now properly saved at initialization time.
* added the version of matlab to be installed in the error message (32bits). Fixed typo.
* fix compilation problem on Linux.
* Doc_BoxAlgorithm_MatlabFilter.dox-part : minor updates + added a note about matlab 64 bits uncompatibility
* doc : images updated

* ovpCBoxAlgorithmStimulationListener : log all times and dates with time64 typed values.

* ovpCBoxAlgorithmClock : log all times and dates with time64 typed values.

* ovpCBoxAlgorithmOpenALSoundPlayer.cpp : resync stimulation date properly.
* ovpCBoxAlgorithmOpenALSoundPlayer.cpp : fixed a bug with "play" output stimulation not being sent under certain conditions.

* Doc_BoxAlgorithm_XDAWNSpatialFilterTrainer.dox-part : updated "outputs" section of the documentation page.

+ motor-imagery-replay.png : image for the MI-CSP documentation page
* openvibe.dox : added reference to the motor-imagery-CSP scenarios
* ExistingScenarios.dox : minor fix
* faq.dox : fixed color in the compatibility table
* faq.dox : updated the supported platform (added win7 64b official support --> lbonnet) and last built time. Added 0.11.0 functionalities + update.
* header.html : updated the contacts on the left sidebar

openvibe-website :
* index.php : updated the news and download sections for the 0.11.0 release.

* build scripts : the matlab box is now in the default build order.
* win32-openvibe-x.x.x-setup.nsi : added a warning about possible firewall problem when downloading DirectX (MantisId#0000058)
* win32-build.cmd : added optional flags to customize the build process (use win32-build.cmd --help for usage)
Usage: win32-build.cmd [Build Type] [Init-env Script]
-- Build Type option can be : --release (-r) or --debug (-d). Default is release.
-- Default Init-env script is: win32-init_env_command.cmd
* win32-openvibe-x.x.x-setup.nsi : added AccessControl plugin call to give full r/w rights on the installation directory (problem on win7 32b)

* FindThirdPartyUSBFirstAmpAPI.cmake : added the path to default install directory of the API on windows 7 (suffix "x86").
* FindThirdPartyEmotivAPI.cmake : added the /DELAYLOAD flag in the link properties.
* FindThirdPartyEmotivAPI.cmake : added a compilation option to delay the load of Edk.dll. removed the dll copy at post-build.
* FindThirdPartyGUSBampCAPI.cmake : now search into the right path, for compatibility with the latest gtec API version (3.11). Added path for windows 7 64b edition (suffix "(x86)" in path).
* FindThirdPartyMatlab.cmake : delay-load matlab dlls.