/* * * * (c) 2009-2019 Øystein Moseng * * Sonification module for Highcharts * * License: www.highcharts.com/license * * */ 'use strict'; var _Globals = require('../../parts/Globals.js'); var _Globals2 = _interopRequireDefault(_Globals); var _Instrument = require('Instrument.js'); var _Instrument2 = _interopRequireDefault(_Instrument); var _instrumentDefinitions = require('instrumentDefinitions.js'); var _instrumentDefinitions2 = _interopRequireDefault(_instrumentDefinitions); var _Earcon = require('Earcon.js'); var _Earcon2 = _interopRequireDefault(_Earcon); var _pointSonify = require('pointSonify.js'); var _pointSonify2 = _interopRequireDefault(_pointSonify); var _chartSonify = require('chartSonify.js'); var _chartSonify2 = _interopRequireDefault(_chartSonify); var _utilities = require('utilities.js'); var _utilities2 = _interopRequireDefault(_utilities); var _Timeline = require('Timeline.js'); var _Timeline2 = _interopRequireDefault(_Timeline); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Expose on the Highcharts object /** * Global classes and objects related to sonification. * * @requires module:modules/sonification * * @name Highcharts.sonification * @type {Highcharts.SonificationObject} */ /** * Global classes and objects related to sonification. * * @requires module:modules/sonification * * @interface Highcharts.SonificationObject */ /** * Note fade-out-time in milliseconds. Most notes are faded out quickly by * default if there is time. This is to avoid abrupt stops which will cause * perceived clicks. * @name Highcharts.SonificationObject#fadeOutDuration * @type {number} */ /** * Utility functions. * @name Highcharts.SonificationObject#utilities * @private * @type {object} */ /** * The Instrument class. * @name Highcharts.SonificationObject#Instrument * @type {Function} */ /** * Predefined instruments, given as an object with a map between the instrument * name and the Highcharts.Instrument object. * @name Highcharts.SonificationObject#instruments * @type {Object} */ /** * The Earcon class. * @name Highcharts.SonificationObject#Earcon * @type {Function} */ /** * The TimelineEvent class. * @private * @name Highcharts.SonificationObject#TimelineEvent * @type {Function} */ /** * The TimelinePath class. * @private * @name Highcharts.SonificationObject#TimelinePath * @type {Function} */ /** * The Timeline class. * @private * @name Highcharts.SonificationObject#Timeline * @type {Function} */ _Globals2.default.sonification = { fadeOutDuration: 20, // Classes and functions utilities: _utilities2.default, Instrument: _Instrument2.default, instruments: _instrumentDefinitions2.default, Earcon: _Earcon2.default, TimelineEvent: _Timeline2.default.TimelineEvent, TimelinePath: _Timeline2.default.TimelinePath, Timeline: _Timeline2.default.Timeline }; // Chart specific _Globals2.default.Point.prototype.sonify = _pointSonify2.default.pointSonify; _Globals2.default.Point.prototype.cancelSonify = _pointSonify2.default.pointCancelSonify; _Globals2.default.Series.prototype.sonify = _chartSonify2.default.seriesSonify; _Globals2.default.extend(_Globals2.default.Chart.prototype, { sonify: _chartSonify2.default.chartSonify, pauseSonify: _chartSonify2.default.pause, resumeSonify: _chartSonify2.default.resume, rewindSonify: _chartSonify2.default.rewind, cancelSonify: _chartSonify2.default.cancel, getCurrentSonifyPoints: _chartSonify2.default.getCurrentPoints, setSonifyCursor: _chartSonify2.default.setCursor, resetSonifyCursor: _chartSonify2.default.resetCursor, resetSonifyCursorEnd: _chartSonify2.default.resetCursorEnd, sonification: {} });