OpenViBE 2.2.0 released

OpenViBE software releases, jobs and events
Posts: 775
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

OpenViBE 2.2.0 released

Post by jtlindgren »

We are pleased to announce the release of OpenViBE 2.2.0 (download). This release has some exciting highlights,
  • Fully 64bit OpenViBE (optional dl): You can use 64bit Python and Matlab versions with it
  • OpenViBE Tracker : A new data analysis application allowing to load, freely browse and process multiple EEG files simultaneously
  • Automatic box update (simple boxes that need update can be sorted out with right-click + update)
The new release also includes a lot of bug-fixes and smaller features, like the 'Keypress Emulator' box that allows sending keypresses to the currently active window.

For contributions to this version, we would like to thank
  • Mensia Technologies for contributing the Stream End Detector, finishing the box update feature from Cedric Riou / Inria and for various bugfixes regarding the SDK and Designer, as well as for the new documentation conventions (not yet used)
  • Brain Products and gtec for helping to support their devices in the 64bit version
  • Other manufacturers whose previous materials already allowed us to support their devices in the 64bit version: Cognionics, EEGO, mBrainTrain, NeuroServo, NeuroSky, OpenBCI, OpenEEG, and TMSi.
Additional notes:
  • The 64bit version has not been thoroughly tested (especially not with all the possible EEG hardware). The 64bit Acquisition Server does not feature all the drivers that the 32bit version has (see the details on the supported hardware page). If you encounter issues, please file a bug report and give the 32bit version a try if it solves the problem meanwhile.
  • Due to the new box update feature, the scenarios saved with OpenViBE 2.2.0 cannot be loaded with older versions of the software
We are also very interested to get feedback on the new Tracker application; feel free to post your thoughts on the forum.

For a full list of changes in the 2.2.0 version, please see the following message.

On behalf of the development team,

Posts: 775
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: OpenViBE 2.2.0 released

Post by jtlindgren »


[Applications] Import plugin-inspector from neurort repository, with the functionality to generate a box documentation .rst template
[Box] Add error checking to the Timeout box
[Box] Cleanup in the Timeout plugin
[CMake] Add possibility to override the version
[Documentation] Add attribution to box documentation
[Documentation] Add Sphinx/RST documentation
[Documentation] Create doc directories at install time
[Documentation] Document the documentation
[Documentation] Fix documentation build script on Windows
[Examples] Make external processing example depend on toolkit compilation
[Kernel] Actually export the onUninitialize method of plugins
[Kernel] Add a copy constructor and copy assignment operators to CMatrix
[Kernel] Check boolean settings
[Kernel] Correctly add Settings using addInterfacor function
[Kernel] Correctly update initial box I/O/S count values
[Kernel] Do not offer to update boxes with non-changed hash
[Kernel] Fix compilation on broken windows compilers
[Kernel] Fix compilation on linux
[Kernel] Fix compilation on windows
[Kernel] Fix the scenario not initializing on enumerations that actually use guard values as correct ones
[Kernel] Fix updating metaboxes
[Kernel] Fixes after code review
[Kernel] Guess the Root directory on Linux
[Kernel] Implement root directory guessing on macos and cache it
[Kernel] Move the directories function out to a stl only class
[Kernel] Preserve the backslashes when expanding var keyword for the 1st time
[Kernel] Properly restore original settings after box update
[Kernel] Refuse to update boxes with modifiable IOS
[Kernel] Remove more warnings when importing scenarios
[Kernel] Rename "needs update" boxes to "outdated"
[Kernel] Return an undefined identifier when failing to import a scenario
[Kernel] Stop scenario execution if an enumeration setting is incorrect
[Kernel] Try to guess the root directory location rather than relying on default variables on Windows
[Kernel] Update CMatrix to initialize members in declarations
[Kernel] Update the checkSettingValue to check enum settings
[Kernel] Update the SBoxProto to take identifiers into account when computing hashes
[Kernel] Whitespace fixes and comments
[Plugin Inspector] Add missing quote in box documentation templates around I/O/S types. * Change TODO mentions to .rst todo flags
[Plugin Inspector] Fix CMakeLists.txt to package plugin-inspector
[Plugin inspector] Fix x64 warning
[Plugin Inspector] Work on generation of box documentation templates
[Plugin Inspector] Work on generation of box rst documentation, and rst indexes
[Plugin Inspector] Work on generation of rst box documentation templates
[Plugin] Fix Hanning windowing (Hanning = Hann)
[Plugin] Windowing : update documentation (Hann equivalent to Hanning)
[Plugin] Windowing : update documentation (Hanning equivalent to Hann)
[Plugins] Add a Stream End Detector plugin
[Plugins] Add a Stream Structure decoder
[Plugins] Fix a potential crash in matrix decoder if the buffer is empty
[Plugins] Fix Channel Rename box usage with spectrum streams
[Plugins] Make channel rename accept any kind of input
[Plugins] Make trim function in matrix decoder return void
[Plugins] Revert the null buffers check from the Matrix Decoder
[Plugins] Update box-tutorials to work with changes made to Timeout
[Plugins] Update external box documentation
[Plugins] Update External Processing component versions
[Plugins] Update the Stream End Detector documentation
[Scripts] Add OV_PATH_ROOT to unit test launchers
[Scripts] Add the possibility to install plugin-inspector and id-generator in AddOVSDKComponents
[Scripts] Update vs project generation
[Test] Add unit tests for Streamed Matrix Encoder/Decoder
[Tests] Update unit test to do everything in SetUp and TearDown
[Toolkit] Fix incorrect defines for channel units and localization types
[Tools] Generate attribution paragraph in rst templates
Bugfix jole CORE-1389 verify enumeration settings
Bugfix jole CORE-1416 fix timout plugin errors
Kernel: Add scenario auto-update capability
Kernel: Add support for identifiers instead of indexes for i/o and settings
Kernel: Do not generate Ids from the name and type, rather generate them at random
Kernel: Fix box copy initializer so it updates the settings correctly
Kernel: Improved thread safety of various managers
Kernel: Remove the possibility to generate identifiers from name and id
Kernel: Remove warnings during v1 scenario import
Kernel: Rename "Missing" I/O/S to "Deprecated Interfacors"
Kernel: Update the external launcher variable to actually work
Kernel: Update the handling of box updates and refactor TBox


[Kernel] inputs/ouputs/settings building by kernel prototypes requests
[Archway] Display all log messages in the archway handler
[Box Tutorials] Update Channel Rename box in box tutorials scenarios after update of SDK to 1.1.0
[box update] add bNotify parameter in modifiers prototypes
[box update] Prevent the user to save or execute a scenario when update could not have been fully processed (loose of I/O/Settings)
[Build] Downgrade some status messages to debug messages, and some other to warnings, in order to clarify console. Remove useless information message in designer.
[CMake] Add possibility to override the version
[CMake] Include the canonical path to zlib headers
[Dependencies] Update SDK dependency
[Designer] Add GUI to edit and generate identifiers for metabox i/o
[Designer] Avoid crashing when scenario fails to initialize
[Designer] Cache deprecated and present box status in the proxy
[Designer] Change some log levels in Visualization Tree file.
[Designer] Disable auto update option when it would not work
[Designer] Edit copy/paste of boxes in order to avoid to exactly superimpose boxes after pasting a box.
[Designer] Fix a Gtk warning when opening the configuration settings of a box that doesn't have any settings.
[Designer] Fix compilation in release builds
[Designer] Fix compilation of the open source version
[Designer] Fix compilation on windows and linux
[Designer] Fix compilation with newer SDK
[Designer] Fix contextual menu item names and warnings
[Designer] Fix opening of documentation from the menu
[Designer] Fix opening quoted URLs in the open source version
[Designer] Fix some warnings
[Designer] Fix zlib finding and some warnings on 64bit platform
[Designer] Fixes after code review
[Designer] Improve Engine Control Panel: add possibility to open a scenario from engine panel
[Designer] Make the browseURL method accept a prefix and a postfix
[Designer] Properly initialize window splits in windnow manager
[Designer] Quote the URL before opening so it can contain whitespace
[Designer] Remove Mensia specific documentation code
[Designer] Rename "Missing" I/O/S to "Deprecated Interfacors"
[Designer] Update "needs update" boxes to "outdated"
[Designer] Update SDK dependency to 1.1.0.
[Designer] Update to work with the IBox/TBox update
[Documentation] Add attribution to box documentation
[Documentation] Add Sphinx/RST documentation
[Documentation] Fix packaging and remove loreta references
[Kernel] add input/ouput handling by identifier or name
[Kernel] add settings handling by identifier or name
[Kernel] inputs/ouputs/settings building by kernel prototypes requests
[Kernel] update metabox i/o configuration
[Lib Adv Viz] Add capacity to offset visualizations in time
[Lib Adv Viz] Added a simple test for the crash
[Lib Adv Viz] Fix crash of bitmap renderer when given no data to display
[Packaging] Deprecate issue-reporter
[Scripts] Update vs project generation
Designer: Cleanup in the InterfacedScenario file


[build] fix --sdk-src option for including sdk documentation
Boxes: Added a comment about arrow keys to Keypress Emulator
Boxes: Added a Null box that consumes input
Boxes: Added doc for Keypress Emulator
Boxes: Added Keypress Emulator box
Boxes: Added materials to do basic ERSP plots
Boxes: Fixed indexing issue in Kappa Coefficient
Boxes: Fixed issue with 2 matlab boxes in the same scenario
Boxes: Fixed issue with sendings stims out from Matlab Scripting Box
Boxes: Fixed logging related crash in Matlab Scripting box
Boxes: Fixed some crashes if certain boxes failed to init
Boxes: Fixed wrong indexing in Outlier Removal box
Boxes: Improvements to the ERP Plot box
Build: Added mention of 32/64bit if Python not found
Build: Added nsis installer script for 64bit
Build: Added NSIS to the dependencies (for packaging)
Build: Added some VS redists to the dependencies
Build: Enabled compilation of the Acquisition Server on Win 64bit
Build: Enabled more drivers on 64bit
Build: Enabled several Brain Products amps on 64bit
Build: Enabling components for 64bit ov
Build: Fix issues with dependencies
Build: Fixed compilation and test issues on Linux
Build: Removed the subproject specific platform settings
Build: Removed vc140 from the compile-time dependencies
Build: Renamed the win32-* scripts to windows-* for clarity
Build: Towards 64bit openvibe build
Build: Updated the lua dependency to one relying on vc110
Build: Various fixes
Demos: Made P300 Magic Card scenarios use TCP tagging
Demos: Removed misleading classifier configuration files
Demos: Updated the P300 Magic Card scenarios
Drivers: Added freezing simulation to Simulated Deviator
Drivers: Added' Simulated Deviator' to study effects of a drifting driver
Drivers: Periodic stimulation interval can now be chosen
Drivers: Simulated Deviator can now create a Sine wave
Everything: Code level changes of "visualise" to "visualize"
Everything: Great NULL->nullptr overhaul
Everything: Renamed visualisation->visualization to follow coding conventions
Fix : CSV Comparaison
Fix : Update Coding Style
Fix : Update double vector declaration
Plugins: Added a warning to the old CSV File Reader
Plugins: Added TCP Tagging support to the Keyboard Stimulator
Plugins: Fixed Classifier Accuracy Measure visualizer box
Plugins: Fixes to Matlab Scripting box
Plugins: Noise Generator can now also bake Gaussian noise
Plugins: Updated LSL dependency to 1.12
Plugins: Updated Noise Generator box doc
Server: Acquisition Server will now complain if ports are already in use
Server: Drift Correction can now have an initial skip period
Tests: Added more data to Regularized CSP test to avoid random fails
Tests: Made the Regularized CSP test 'none' more lenient
Tracker: Added "Memory Save" mode
Tracker: Added a few filters that can be used on tracks
Tracker: Added a multithread compatible gtk log listener
Tracker: Added a very early GUI
Tracker: Added a warning about non-contiguous streams
Tracker: Added a window to show track/stream information
Tracker: Added ability to apply basic filters to streams
Tracker: Added basic track/stream selection mechanisms
Tracker: Added classes for the rest of the OV types
Tracker: Added code for using multiple cores
Tracker: Added elementary routing of data to Designer
Tracker: Added ERP example to the Tracker
Tracker: Added ERP processor example
Tracker: Added feature to enter workspace notes
Tracker: Added GUI option to show only selected streams
Tracker: Added log printing to the GUI
Tracker: Added menu for Processor settings
Tracker: Added new type ovtime_t
Tracker: Added option to save the workspace including track content
Tracker: Added --play-fast option
Tracker: Added primitive renderers for the remaining stream types
Tracker: Added renderer for Matrix streams
Tracker: Added rulers for Signal, Stimulation and Spectrum
Tracker: Added selection consistency checking for processing
Tracker: Added several box applier plugins
Tracker: Added simple revision handling
Tracker: Added support for moving tracks and streams
Tracker: Added support for plugins processing a whole Workspace
Tracker: Added support for plugins that can access tracks
Tracker: Added vertical scrollbar
Tracker: Allowed Tracker plugins to use Parallel Executor
Tracker: Box plugins can now use multiple threads if configured
Tracker: Catenating mode now filters stims used to control scenarios
Tracker: Changed KernelContext refs to const
Tracker: Changed lot of cout printing to use LogManager instead
Tracker: Changes to make it compile on Ubuntu
Tracker: Code cleanup
Tracker: Code refactoring / cleanup
Tracker: Configuration related work
Tracker: Configuration tokens can now be passed to processor
Tracker: Differentiated between clearing workspace and deleting tracks
Tracker: Documented & reorganized the headers some
Tracker: Enabled the timestamps on the x-axis
Tracker: Enabled vertical scaling by right mouse click + move
Tracker: Fix build on gcc
Tracker: Fixed build on Linux
Tracker: Fixed build on Linux
Tracker: Fixed build on Ubuntu
Tracker: Fixed compilation issues on Ubuntu/gcc
Tracker: Fixed compilation issues on Ubuntu16/gcc
Tracker: Fixed compilation warnings
Tracker: Fixed handling of .ov streams with no chunks
Tracker: Fixed issues with redraws
Tracker: Fixed issues with spaces in paths
Tracker: Fixed memory leaks
Tracker: Fixed menu graying items on Windows
Tracker: Fixed menu item disable issues on Ubuntu
Tracker: Fixed stalling issue
Tracker: Fixed switching between memory save and normal mode
Tracker: Fixed version printing
Tracker: Further tweaks for locks & waits
Tracker: Implemented mode where processing replaces old contents
Tracker: Implemented saving/loading workspace from the GUI
Tracker: Improved multitrack handling
Tracker: Indented track/stream numbers in .conf files with 0's
Tracker: Initial hack for bidirectional communication
Tracker: Initial hacking towards displaying all streams in an .ov file
Tracker: Initial hacks for representing streams as classes
Tracker: Integrated Advanced Visualization plugins to do drawing
Tracker: Made horizontal sliders operational
Tracker: Made it clearer how the toolkit codecs are used
Tracker: Made rulers togglable by left mouse-button
Tracker: Made the pimpl/adapter patterns a bit more clear
Tracker: Minor code cleanup
Tracker: Misc small changes
Tracker: Misc small features & polish
Tracker: Moved codec mapper macros from Decoder.h to Codecs.h
Tracker: Moved Stream and StreamRenderer factories to their own classes
Tracker: Moved the code to OpenViBETracker namespace
Tracker: Multiple tracks can be now processed as one big track
Tracker: Multiple tracks can now be sent to Processor
Tracker: On save, only saves modified ('dirty') tracks
Tracker: Plugin multithread support for inplace/memorysave modes
Tracker: Refactored codecs out from the Stream class
Tracker: Refactored KernelContext & getters to a derivable class
Tracker: Refactored ParallelExecutor
Tracker: Refactored Selection
Tracker: Refactored the encoders to use toolkit functions too
Tracker: Refactored the Stream Renderer classes
Tracker: Refactored the streams to a single template class
Tracker: Refactored toolkit codec mappers to a single macro
Tracker: Refactoring and cleanup
Tracker: Removed headless/endless hacks from Stream class
Tracker: Renamed 'apply/box filters' to 'box plugins' for clarity.
Tracker: Renamed TrackRenderer to StreamRenderer
Tracker: Renderer scale & ruler settings are now saved/restored
Tracker: Right click on streams now reveals a chunk list
Tracker: Scenario-based processing is now multithreaded
Tracker: Selections are now marked by stream numbers in .ovw
Tracker: shared_ptr is now used for Streams
Tracker: Towards elementary multitrack support
Tracker: Towards using External Processing box for communication
Tracker: Towards using window space efficiently
Tracker: Typedeffed shared_ptr<StreamBase> to StreamPtr for clarity
Tracker: Updated stubs for the changed IBox interface
Tracker: Various fixes
Tracker: Various refactorings
Tracker: Widgets will now be disabled when not they're not usable
Tracker: Work on the menus
Tracker: Workspace path is now automatically generated
Tutorials: Added ERP Plot box tutorial
Tutorials: Fixed a few typos