| Index: third_party/google_input_tools/src/chrome/os/inputview/soundcontroller.js
|
| diff --git a/third_party/google_input_tools/src/chrome/os/inputview/soundcontroller.js b/third_party/google_input_tools/src/chrome/os/inputview/soundcontroller.js
|
| deleted file mode 100644
|
| index 19b702450d76ed6c7040d037dc2ab180dede980b..0000000000000000000000000000000000000000
|
| --- a/third_party/google_input_tools/src/chrome/os/inputview/soundcontroller.js
|
| +++ /dev/null
|
| @@ -1,226 +0,0 @@
|
| -// Copyright 2014 The ChromeOS IME Authors. All Rights Reserved.
|
| -// limitations under the License.
|
| -// See the License for the specific language governing permissions and
|
| -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -// distributed under the License is distributed on an "AS-IS" BASIS,
|
| -// Unless required by applicable law or agreed to in writing, software
|
| -//
|
| -// http://www.apache.org/licenses/LICENSE-2.0
|
| -//
|
| -// You may obtain a copy of the License at
|
| -// you may not use this file except in compliance with the License.
|
| -// Licensed under the Apache License, Version 2.0 (the "License");
|
| -//
|
| -goog.provide('i18n.input.chrome.inputview.SoundController');
|
| -
|
| -goog.require('goog.Disposable');
|
| -goog.require('goog.dom');
|
| -goog.require('i18n.input.chrome.inputview.Sounds');
|
| -goog.require('i18n.input.chrome.inputview.elements.ElementType');
|
| -
|
| -goog.scope(function() {
|
| -var Sounds = i18n.input.chrome.inputview.Sounds;
|
| -var ElementType = i18n.input.chrome.inputview.elements.ElementType;
|
| -var keyToSoundIdOnKeyUp = {};
|
| -var keyToSoundIdOnKeyRepeat = {};
|
| -
|
| -
|
| -/**
|
| - * Sound controller for the keyboard.
|
| - *
|
| - * @param {!boolean} enabled Whether sounds is enabled by default.
|
| - * @param {?number} opt_volume The default volume for sound tracks.
|
| - * @constructor
|
| - * @extends {goog.Disposable}
|
| - */
|
| -i18n.input.chrome.inputview.SoundController = function(enabled, opt_volume) {
|
| -
|
| - /**
|
| - * Collection of all the sound pools.
|
| - *
|
| - * @type {!Object.<string, !Object>}
|
| - */
|
| - this.sounds_ = {};
|
| -
|
| - this.enabled_ = enabled;
|
| -
|
| - /**
|
| - * The default volume for all audio tracks. Tracks with volume 0 will be
|
| - * skipped.
|
| - *
|
| - * @type {number}
|
| - */
|
| - this.volume_ = opt_volume || this.DEFAULT_VOLUME;
|
| -
|
| - if (enabled)
|
| - this.initialize();
|
| -};
|
| -goog.inherits(i18n.input.chrome.inputview.SoundController, goog.Disposable);
|
| -
|
| -
|
| -var Controller = i18n.input.chrome.inputview.SoundController;
|
| -
|
| -
|
| -/**
|
| - * @define {number} The size of the pool to use for playing audio sounds.
|
| - */
|
| -Controller.prototype.POOL_SIZE = 10;
|
| -
|
| -
|
| -/**
|
| - * @define {number} The default audio track volume.
|
| - */
|
| -Controller.prototype.DEFAULT_VOLUME = 0.6;
|
| -
|
| -
|
| -/**
|
| - * Initializes the sound controller.
|
| - */
|
| -Controller.prototype.initialize = function() {
|
| - for (var sound in Sounds) {
|
| - this.addSound_(Sounds[sound]);
|
| - }
|
| - keyToSoundIdOnKeyUp[ElementType.BACKSPACE_KEY] = Sounds.NONE;
|
| - keyToSoundIdOnKeyUp[ElementType.ENTER_KEY] = Sounds.RETURN;
|
| - keyToSoundIdOnKeyUp[ElementType.SPACE_KEY] = Sounds.SPACEBAR;
|
| - keyToSoundIdOnKeyRepeat[ElementType.BACKSPACE_KEY] = Sounds.DELETE;
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Caches the specified sound on the keyboard.
|
| - *
|
| - * @param {string} soundId The name of the .wav file in the "sounds"
|
| - directory.
|
| - * @private
|
| - */
|
| -Controller.prototype.addSound_ = function(soundId) {
|
| - if (soundId == Sounds.NONE || this.sounds_[soundId])
|
| - return;
|
| - var pool = [];
|
| - // Create sound pool.
|
| - for (var i = 0; i < this.POOL_SIZE; i++) {
|
| - var audio = goog.dom.createDom('audio', {
|
| - preload: 'auto',
|
| - id: soundId,
|
| - src: 'sounds/' + soundId + '.wav',
|
| - volume: this.volume_
|
| - });
|
| - pool.push(audio);
|
| - }
|
| - this.sounds_[soundId] = pool;
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Sets the volume for the specified sound.
|
| - *
|
| - * @param {string} soundId The id of the sound.
|
| - * @param {number} volume The volume to set.
|
| - */
|
| -Controller.prototype.setVolume = function(soundId, volume) {
|
| - var pool = this.sounds_[soundId];
|
| - if (!pool) {
|
| - console.error('Cannot find sound: ' + soundId);
|
| - return;
|
| - }
|
| - // Change volume for all sounds in the pool.
|
| - for (var i = 0; i < pool.length; i++) {
|
| - pool[i].volume = volume;
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Enables or disable playing sounds on keypress.
|
| - * @param {!boolean} enabled
|
| - */
|
| -Controller.prototype.setEnabled = function(enabled) {
|
| - this.enabled_ = enabled;
|
| - if (this.enabled_)
|
| - this.initialize();
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Sets the volume for all sounds on the keyboard.
|
| - *
|
| - * @param {number} volume The volume of the sounds.
|
| - */
|
| -Controller.prototype.setMasterVolume = function(volume) {
|
| - this.volume_ = volume;
|
| - for (var id in this.sounds_) {
|
| - this.setVolume(id, volume);
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Plays the specified sound.
|
| - *
|
| - * @param {string} soundId The id of the audio tag.
|
| - * @private
|
| - */
|
| -Controller.prototype.playSound_ = function(soundId) {
|
| - // If master volume is zero, ignore the request.
|
| - if (!this.enabled_ || this.volume_ == 0 || soundId == Sounds.NONE)
|
| - return;
|
| - var pool = this.sounds_[soundId];
|
| - if (!pool) {
|
| - console.error('Cannot find sound: ' + soundId);
|
| - return;
|
| - }
|
| - // Search the sound pool for a free resource.
|
| - for (var i = 0; i < pool.length; i++) {
|
| - if (pool[i].paused) {
|
| - pool[i].play();
|
| - return;
|
| - }
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * On key up.
|
| - *
|
| - * @param {ElementType} key The key released.
|
| - */
|
| - Controller.prototype.onKeyUp = function(key) {
|
| - var sound = keyToSoundIdOnKeyUp[key] || Sounds.STANDARD;
|
| - this.playSound_(sound);
|
| - };
|
| -
|
| -
|
| - /**
|
| - * On key repeat.
|
| - *
|
| - * @param {ElementType} key The key that is being repeated.
|
| - */
|
| - Controller.prototype.onKeyRepeat = function(key) {
|
| - var sound = keyToSoundIdOnKeyRepeat[key] || Sounds.NONE;
|
| - this.playSound_(sound);
|
| - };
|
| -
|
| -
|
| - /** @override */
|
| - Controller.prototype.disposeInternal = function() {
|
| - for (var soundId in this.sounds_) {
|
| - var pool = this.sounds_[soundId];
|
| - for (var i = 0; i < pool.length; i++) {
|
| - var tag = pool[i];
|
| - if (tag && tag.loaded) {
|
| - tag.pause();
|
| - tag.autoplay = false;
|
| - tag.loop = false;
|
| - tag.currentTime = 0;
|
| - }
|
| - }
|
| - delete this.sounds_[soundId];
|
| - }
|
| - this.sounds_ = {};
|
| - keyToSoundIdOnKeyUp = {};
|
| - keyToSoundIdOnKeyRepeat = {};
|
| - goog.base(this, 'disposeInternal');
|
| - };
|
| -
|
| -}); // goog.scope
|
|
|