File: /home/padewitte/projets/webcomponents/myscript-js/src/input/music/musicParameter.js
'use strict';
(function (scope) {
/**
* Parameters used for music recognition
*
* @class MusicParameter
* @extends AbstractParameter
* @constructor
*/
function MusicParameter(obj) {
scope.AbstractParameter.call(this, obj);
this.resultTypes = [];
this.userResources = [];
if (obj) {
if (obj.divisions) {
this.divisions = obj.divisions;
}
if (obj.staff) {
this.staff = new scope.MusicStaff(obj.staff);
}
if (obj.scratchOutDetectionSensitivity) {
this.scratchOutDetectionSensitivity = obj.scratchOutDetectionSensitivity;
}
if (obj.userResources) {
this.userResources = obj.userResources;
}
if (obj.resultTypes) {
this.resultTypes = obj.resultTypes;
}
}
}
/**
* Inheritance property
*/
MusicParameter.prototype = new scope.AbstractParameter();
/**
* Constructor property
*/
MusicParameter.prototype.constructor = MusicParameter;
/**
* Get the music result types (e.g. MusicXML, ScoreTree)
*
* @method getResultTypes
* @returns {Array}
*/
MusicParameter.prototype.getResultTypes = function () {
return this.resultTypes;
};
/**
* Set the music result types (e.g. MusicXML, ScoreTree)
*
* @method setResultTypes
* @param {Array} resultTypes
*/
MusicParameter.prototype.setResultTypes = function (resultTypes) {
this.resultTypes = resultTypes;
};
/**
* Get the user resources
*
* @method getUserResources
* @returns {Array}
*/
MusicParameter.prototype.getUserResources = function () {
return this.userResources;
};
/**
* Set the user resources
*
* @method setUserResources
* @param {Array} userResources
*/
MusicParameter.prototype.setUserResources = function (userResources) {
this.userResources = userResources;
};
/**
* Get the sensitivity of the scratch-out detection
*
* @method getScratchOutDetectionSensitivity
* @returns {Number}
*/
MusicParameter.prototype.getScratchOutDetectionSensitivity = function () {
return this.scratchOutDetectionSensitivity;
};
/**
* Set the sensitivity of the scratch-out detection
*
* @method setScratchOutDetectionSensitivity
* @param {Number} scratchOutDetectionSensitivity
*/
MusicParameter.prototype.setScratchOutDetectionSensitivity = function (scratchOutDetectionSensitivity) {
this.scratchOutDetectionSensitivity = scratchOutDetectionSensitivity;
};
/**
* Get the staff
*
* @method getStaff
* @returns {MusicStaff}
*/
MusicParameter.prototype.getStaff = function () {
return this.staff;
};
/**
* Set the staff
*
* @method setStaff
* @param {MusicStaff} staff
*/
MusicParameter.prototype.setStaff = function (staff) {
this.staff = staff;
};
/**
* Get the number of divisions
*
* @method getDivisions
* @returns {Number}
*/
MusicParameter.prototype.getDivisions = function () {
return this.divisions;
};
/**
* Set the number of divisions
*
* @method setDivisions
* @param {Number} divisions
*/
MusicParameter.prototype.setDivisions = function (divisions) {
this.divisions = divisions;
};
// Export
scope.MusicParameter = MusicParameter;
})(MyScript);