All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Changelog

List of changes between different versions of Cornerstone SDK are detailed below.

2.1.2

  • Added warning message on Linux about low PCI express speed to GPUs
  • Added more attributes to Extensions::Effects::Sparkles effect
  • Fixed issues in interaction and feedback in MultiWidgets::KeyboardWidget2
  • Fixed crash in browser favicon handling
  • Fixed crash in erasing spline annotations
  • Fixed Windows Touch driver on Windows 10 Anniversary update

2.1.1

2.1.0

2.0.8

  • Fixed touch offset issue in BrowserWidget

2.0.7

  • Added improved Windows Touch Support (WindowsTouchProxy-application)
  • Added way to close menus in Experience
  • Added self-registration of markers to Experience
  • Added command line parameter "fonts-dir" for automatic font loading
  • Updated glew to 1.13
  • Updated application icons to use new MultiTaction branding
  • Changed SiteManager not to require a license
  • Changed Experience sphere distortion to be optional
  • Changed Nimble::Random to use STL-implementations
  • Fixed invalid state of Widget if flags were changed while interacting with it
  • Fixed incorrect "90% of GPU memory used"-warnings
  • Fixed clipping of sounds
  • Fixed multiple issues in Resonant
  • Fixed Luminous::Image copy constructor
  • Fixed unregistering directories in Valuable::FileWatcher
  • Fixed deadlock in Radiant::SynchronizedQueue assignment operator
  • Fixed command-line applications not responding in OS X
  • Fixed excessive error prints from Radiant::UDPSocket on Linux and OS X
  • Fixed handling of some video file formats
  • Fixed memory leak in VideoDisplay::LibAvDecoder
  • Fixed loading of mipmaps in the case when image file is changed
  • Fixed tracking of framebuffers in RenderContext

2.0.7-beta1

  • Added support for OS X Yosemite, Ubuntu 14.04 and Windows 8.1
  • Added pass-through command line arguments for embedded Node.js.
  • Added TextEditWidget::onKeyEvent that allows external handling and filtering of key events
  • Added Qt ODBC plugin with Windows installation package
  • Added support for changing custom fonts from JS using $.app.addFont
  • Updated Node.js to latest stable version v0.10.35
  • Updated Qt to 4.8.6 on Windows and OS X
  • Updated Libav to 9.17
  • Fixed Node.js/v8 Debian packages, they no longer conflict with system packages. This also means that node and npm binaries are no longer in PATH but can be found in /opt/multitouch-nodejs-1/bin
  • Fixed memory leaks related to v8 and JavaScript wrapper code. Garbage collector is also more stable.
  • Fixed ImageWidget initial state and atomic image change issues
  • Fixed AttributeFlags when used from CSS files. Fixes cases like { input-flags: translate-xy; input-translate-x: false; }
  • Fixed zero duration single-taps sent using Windows touch
  • Fixed crash on WidgetInspector if Widget id of monitored widget changed
  • Experience: Make fullscreen-mode optional
  • Experience: Fixed crashes with Twitter plugin
  • Experience: Various minor bug fixes

2.0.6

  • Added option to control glFinish() in Luminous::MultiHead
  • Changed OS X builds to use Clang 5.1
  • Fixed GoogleImageSearch example startup script on OS X

2.0.5

2.0.4

2.0.3

2.0.2

  • Added icons for Cornerstone applications
  • Added more customization options for cornerstone.BasicDrawWidget
  • Added "list-offset" to scroll MultiWidgets::ListWidget
  • Added more documentation about attributes and cyclic dependencies in lambdas
  • Fixed MultiWidgets::VideoWidget added with –background not looping by default
  • Fixed Resonant not being exposed to JavaScript
  • Fixed crash in MultiWidgets::ContentLoader when using SYNCHRONOUS loading and the instance was destroyed before loading finished
  • Fixed excessive thread creation when running with NO_WATCHDOG
  • Fixed content-locking not working properly in MultiTaction Experience
  • Fixed synchronization issues in threaded rendering
  • Fixed several issues in Site Manager
  • Fixed TUIO import not working with certain 3rd party sources
  • Fixed pens not being forwarded in XML stream

2.0.1

2.0.0

2.0.0-rc5

  • Added eof event when ImageMovieWidget reaches the last frame of the movie
  • Added the possibility to set Widget parent pointer in the constructor.
  • Changed TUIO Sender is now silent by default. Adding "verbose" to its features-list makes it verbose.
  • Fixed ImageMovieWidget preloading when the fps is negative.
  • Fixed The merging of data from multiple Cells on Windows
  • Fixed Widget::reparent(nullptr)
  • Fixed the calculation of data sizes for 3D textures
  • Fixed a bug with CSS rule priorities

2.0.0-rc4

2.0.0-rc3

2.0.0-rc2

  • Added CloudWidget to javascript libraries
  • Added possibility to override font for specific keys in KeyboardWidget
  • Added possibility to set the virtual marker code through application argument –virtual-marker-code CODE
  • Changed ImageMovieWidget's attribute "rotation-speed" to "interaction-speed"
  • Changed MarkerLauncherWidget's interface, now sends an event on marker-down and -up
  • Changed BookWidget::loadBook() to BookWidget::load()
  • Changed Plugins into new namespace: Extensions. Added the classes to developer documentation
  • Fixed user configuration folder creation if it doesn't exist
  • Fixed crash when creating a new TapAndHoldGestureOperator
  • Fixed text-alignment issues with TextWidget
  • Fixed serialization of TextEditWidget, newlines were deserialized as instead of
  • Fixed scrollbar behaviour in TextEditWidget when enabling "follow-cursor"
  • Fixed line-height and letter-spacing in SimpleTextLayout
  • Fixed crash in JavaScript interpreter when pressing CTRL-c or CTRL-d
  • Fixed recursive input in ViewWidget
  • Fixed to ModuleSamplePlayer::stop()
  • Fixed Pong plugin startup
  • Fixed performance display
  • Fixed issues in software color correction
  • Fixed rectangles plugin behaviour and color
  • Fixed crash when changing virtual input while grabbing an object

2.0.0-rc1

  • Added removeOperator(), hasOperator() to JavaScript
  • Added tracked object type filtering to TapAndHoldGesture
  • Added GPU id to performance display if AMD_gpu_association is supported
  • Changed sceneRect() to sceneRectangle()
  • Changed event sending to happen after callbacks
  • Changed Momentum behaviour to be frame-rate independent
  • Changed Widget::autoRaiseToTop from attribute to flag
  • Changed Widget::force-rendering from attribute to flag
  • Changed Qt version to 4.8.4 on Windows
  • Changed Widget::is-visible with display: none/block to match CSS
  • Changed FunctionTask to be more consistent with other tasks
  • Changed RippleOverlayWidget to be frame-rate independent
  • Removed "load" event from VideoWidget. Use "source" attribute instead.
  • Fixed audio device detection on Debian
  • Fixed Widget::lowerToBottom(), raise(), lower() consistent when LOCK_DEPTH is set
  • Fixed potential crash in reparent()
  • Fixed missing Animator::Flags macro
  • Fixed BrowserWidget error pseudo-state not being reset
  • Fixed animation issue in VideoControlWidget
  • Fixed tasks not being cancelled when BGThread is shutdown
  • Fixed interaction in ListWidget
  • Fixed cursor clipping in TextEditWidget
  • Fixed cursor position in TextEditWidget when changing text
  • Fixed issues in image loading
  • Fixed scrollbar behaviour in ScrollAreaWidget
  • Fixed crash in FontCache when shutting down
  • Fixed rendering latency issue
  • Fixed load() functions not keeping the widget alive during the function call
  • Fixed text alignment
  • Fixed several shortcuts in AttributeFont

2.0.0-beta13

2.0.0-beta12

IMPORTANT: On OS X, beta12 requires a new dependency package. Other platforms don't require changes.

  • Added utilities to determine if content is visible in a ViewWidget
  • Added load() to VideoWidget in JavaScript
  • Added orientation attribute to ListWidget
  • Added implicit copy constructors to JavaScript
  • Added –trace-file for Application
  • Added dummy mode when using an empty config file
  • Added Twinkle back to Applications
  • Added contrast adjustment for VideoWidget
  • Added default interactions to ScrollAreaWidget
  • Changed ContentLoader to execute callbacks in main-thread
  • Changed RippleOverlayWidget so it can be placed anywhere in the hierarchy
  • Changed Application to dynamically load Mushy when needed
  • Changed DisableInputOperator to InputFlagsOperator
  • Changed processMessage() to eventProcess()
  • Changed DelayOperator to TimerOperator
  • Changed plugin filenames to include version and .plugin
  • Changed library filenames to include version
  • Fixed Nimble::RectT(const QRect&) constructor
  • Fixed opacity handling in ItemFlowWidget
  • Fixed lambda function in ViewWidget::setScene()
  • Fixed mouse cursor issues on OS X
  • Fixed Radiant::BinaryData copy operator
  • Fixed crash in texture handling
  • Fixed crash with recursive views
  • Fixed memory consumption in image loading
  • Fixed issues in glyph generation and font cache
  • Fixed issues with plugin loading
  • Fixed opacity in CloudWidget
  • Fixed memory leak in KeyboardWidget
  • Fixed several issues in the web browser
  • Fixed rendering artifact in VideoControlWidget
  • Fixed thread-safety issue in TextLayout generation
  • Fixed cursor position in empty TextEditWidget
  • Fixed error handling in VideoWidget

2.0.0-beta11

IMPORTANT: On OS X, beta11 requires a new dependency package. Other platforms don't require changes.

  • Added Debian Squeeze support
  • Added hilite to selected widgets in WidgetInspector
  • Added support for multiple sound cards (–audio-devices)
  • Added font stretch support
  • Changed GrabFlags to TrackedObjectType
  • Fixed ImageMovieWidget::intrinsicSize()
  • Fixed thread-safety issues in image and video loading
  • Fixed some incorrect OpenGL commands in rendering
  • Fixed nullptr handling in JavaScript
  • Fixed several issues preventing application from closing properly
  • Fixed OpenGL shaders leaking memory
  • Fixed ItemFlowWidget CSS issues
  • Fixed FileWatcher::removePath()
  • Fixed Plot2D example

2.0.0-beta10

  • Added JavaScriptOperator
  • Added $("css selector") syntax to find widgets in JavaScript
  • Added 'follow-cursor' attribute to TextEditWidget
  • Added 'clear' event to clear TextEditWidget
  • Added marker bookmarks for BrowserWidget
  • Added a new test application 'MultiTouchBench'
  • Added 'font' support to CSS
  • Added Operator::added() and Operator::removed() callbacks
  • Added accessor for VideoControlWidget in VideoWidget
  • Added TapAndHoldGestureRecognizer
  • Added "resize-to-content" to ScrollAreaWidget
  • Added support for more image codecs
  • Added widget count to performance display ('e')
  • Changed browser backend to restart if it crashes
  • Fixed progress bar rendering in BrowserWidget
  • Fixed video playback when no audio latency is available
  • Fixed some OpenGL crashes due to unsupported hardware
  • Fixed Operator::input() not being called sometimes
  • Fixed ViewWidget style handling with the scene widget
  • Fixed TextWidget::boundingBox()
  • Fixed memory leak in loading images and videos
  • Fixed performance issues when removing widgets

2.0.0-beta9

IMPORTANT: 2.0.0-beta9 will require newer v8 and nodejs packages. On Windows they are included in the SDK package. On OS X, you must update to cornerstone-dependencies-2.0.0-beta9 on Linux, you must update to both mt-libv8_0.9.9-mt1 and mt-nodejs_0.9.9-mt1 packages. All package files are available from the download section.

  • Added CSS type for Operators
  • Added WidgetInspector to applications (press 'i')
  • Added 'pseudo-class-changed' event to Widgets
  • Changed –ignore-virtual-input to –simultaneous-virtual-input and disabled it by default
  • Fixed broken attribute listeners in RenderTargetWidget
  • Fixed Widget::markerUp() never being called
  • Fixed GL_SAMPLE_SHADING crashes on older GPUs by disabling it
  • Fixed incorrect ALL enum in AttributeBorder
  • Fixed video playback when soundtrack and video have different lengths
  • Fixed defining AttributeVector values from CSS
  • Fixed some layout problems in the web browser
  • Fixed JavaScript rendering and v8 casting issues

2.0.0-beta8

IMPORTANT: Cornerstone 2.0.0-beta8 changed some widget input event names to make the naming more consistent. The changes are:

  • "singletap" is now "single-tap"
  • "interactionbegin" is now "interaction-begin"
  • "interactionend" is now "interaction-end"

The old event names still work, but you will get a warning when using them. Rest of the changes are described below:

  • Added option to ignore virtual input (e.g. Windows Touch)
  • Added positional sound playback to Resonant::ModuleSamplePlayer
  • Added JavaScriptWidget for extending widget in JavaScript
  • Changed RenderTargetWidget default texture from RGB to BGRA
  • Changed some widget input event names
  • Fixed color names not working in selectors in CSS
  • Fixed crash in CSS parser running out of file descriptors
  • Fixed incorrectly placed keyboard in BrowserWidget
  • Fixed incorrect CSS file listeners in Application
  • Fixed byte-order in VideoWidget preview images
  • Fixed text rendering with projective transforms
  • Fixed incorrect CSS type in RenderTargetWidget
  • Fixed performance regressions in loading images

2.0.0-beta7

  • Added support for CSS3 border shortcut
  • Fixed checks for non-existing config files as command line arguments
  • Fixed DocumentWidget crashes
  • Fixed incorrect timeout in Radiant::Thread::waitEnd(timeout)
  • Fixed bug in font generation that would cause some text to render incorrectly

2.0.0-beta6

  • Removed Box2D as it is not being used
  • Added setWidth(), setHeight(), setSize(), setX(), setY(), setLocation() to widget that accept units (callable from JavaScript)
  • Added full CSS selector syntax support to Widget::find()
  • Added BrowserFrameWidget
  • Added attributes to rotate, translate, and scale applications globally
  • Added mouse cursor hiding
  • Added text color support to DocumentWidget
  • Added "source" attribute to BrowserWidget
  • Added Widget::stopMotion() to stop all motion in a widget
  • Changed Node::eventAddListener() to return an id
  • Changed MultiHead deserialization to ignore unknown tags
  • Changed ClusterBridge dead source logic to less aggressive
  • Fixed high-score behaviour in MissileCommand
  • Fixed layout with long time-stamps in VideoControlWidget
  • Fixed Matroska file format detection
  • Fixed RotateTowardsHandsOperator to always choose the shorter rotation path
  • Fixed hands not being passed to tracked objects when INPUT_INCLUDE_EVERYTHING_INSIDE was set
  • Fixed parser error in configuration files with valid syntax
  • Fixed duplicate commands in DSPNetwork
  • Fixed incorrect FPS in ClusterBridge with multiple sources
  • Fixed PenExample visualization
  • Fixed SpringField grabbing logic
  • Fixed missing Widget.onTrackedObjectUp in JavaScript
  • Fixed Radint::FlagsT not being exported to JavaScript
  • Fixed object ownership when passing pointers from JavaScript to C++

2.0.0-beta5

  • Fixed missile command rendering
  • Fixed INPUT_INCLUDE_EVERYTHING_INSIDE for hands
  • Fixed error spam when using universal CSS selectors
  • Fixed Node::m_sender initialization
  • Fixed RGBA videos
  • Fixed BookWidget rendering artifacts
  • Fixed threading issues in Canvas
  • Fixed race condition in Luminous::Image::texture()
  • Fixed ImageMovieWidget
  • Changed video decoder from ffmpeg to libav
  • Changed default texture wrap mode for images to clamp to edge from repeat
  • Changed frameless mode to bypass window manager on X11
  • Added Widget.addOperator() to JavaScript
  • Added CSS3 background-repeat modes
  • Added support for synchronous loading of images and videos
  • Added line break support to TextWidget
  • Added animation API to JavaScript

2.0.0-beta4

  • Fixed Nimble::Rectangle constructor
  • Fixed crash in ScriptRunner when no arguments are specified
  • Fixed MissileCommand rendering
  • Fixed Canvas layout
  • Fixed a case where delayed events in widgets could get lost
  • Fixed potential crashes in deserialization
  • Fixed AnimatorRotation
  • Fixed ripple overlay (–withripple)
  • Fixed some missing JavaScript callbacks in Widget
  • Fixed font cache crash on application exit if caches were still being generated
  • Changed Operator::input() API
  • Changed the built-in performance display

2.0.0-beta3

  • Fixed plugin loading
  • Fixed watchdog behavior when waiting for activation
  • Fixed wrong coordinate system in BookWidget input
  • Fixed bug in CSS letter spacing
  • Fixed various CSS selector matching errors
  • Fixed slow finger movement in Twinkle
  • Fixed lambda-related memory corruption when reparenting widgets
  • Fixed potential infinite loop in TextLayout::boundingBox()
  • Fixed video looping not properly toggled after video was opened
  • Fixed INPUT_PASS_TO_CHILDREN input flag
  • Fixed INPUT_INCLUDE_EVERYTHING_INSIDE input flag
  • Fixed operator serialization
  • Changed DELETE_ME to REMOVE_ME in Widget
  • Changed grabbing to use flags
  • Changed CORNERSTONE_SDK and CORNERSTONE_SDK_PATH to CORNERSTONE_ROOT
  • Added "child-removed" event to Widget
  • Added getAttribute() to JavaScript
  • Added VC2012 x64 redistributable to the installer
  • Added INPUT_KEEP_GRABS to default input flags
  • Added stencil buffer support to rendering
  • Added trackedObjectUp/Down callbacks to Widget

2.0.0-beta1

  • Support for writing applications with Javascript.
  • Support for rich text rendering, with complex layouts.
  • Support for several text effects (outline, shadow, blur).
  • Optimized rendering engine, with a streamlined rendering API.
  • Use of C++ smart pointers to make memory management easier.
  • Updated Widget API to provide more callbacks for input processing (fingerUp/Down, markerUp/Down etc.) and less need to call parent implementations for various functions.
  • Support for using C++11, for example by using Lambdas with event processing.
  • New web browser, that works on Windows, Linux and OS X.
  • Support for practically all CSS 2.1 features, and some CSS 3.0 features.
  • Automatic real-time reloading of CSS files, for faster software development.
  • Unified tracking API for fingers, hands, markers and pens.
  • New video player with support for several simultaneous 4k videos and video streaming.
  • Simplified base application class.