function SoundModelDefines() {
}
{
    SoundModelDefines.SL2_TVAPI_I32_SOUND_MAIN_VOLUME = "tvapi.i32.sound.main.volume";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_MAIN_MUTE = "tvapi.i32.sound.main.mute";
    SoundModelDefines.SL2_TVAPI_VINT32_SOUND_SOUND_MODE_LIST = "tvapi.vint32.sound.sound.mode.list";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_SOUND_MODE = "tvapi.i32.sound.sound.mode";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_HEADPHONE_VOLUME = "tvapi.i32.sound.headphone.volume";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_HEADPHONE_VOLUME_EXIST = "tvapi.i32.sound.headphone.volume.exist";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_TOTAL_SONICS = "tvapi.i32.sound.total.sonics";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_TOTAL_SURROUND = "tvapi.i32.sound.total.surround";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_TOTAL_VOLUME = "tvapi.i32.sound.total.volume";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_SUBWOOFER = "tvapi.i32.sound.subwoofer";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BASS_BOOST = "tvapi.i32.sound.bass.boost";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_SAP = "tvapi.i32.sound.sap";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_TRACK = "tvapi.i32.sound.audio.track";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_150HZ = "tvapi.i32.sound.equalizer.freq.120hz";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_500HZ = "tvapi.i32.sound.equalizer.freq.500hz";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_1K5HZ = "tvapi.i32.sound.equalizer.freq.1k5hz";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_5KHZ = "tvapi.i32.sound.equalizer.freq.5khz";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_10KHZ = "tvapi.i32.sound.equalizer.freq.10khz";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_LIPSYNC = "tvapi.i32.sound.lipsync";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BALANCE = "tvapi.i32.sound.balance";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_DIGITAL_AUDIO_OUT = "tvapi.i32.sound.digital.audio.out";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_DIGITAL_AUDIO_DELAY = "tvapi.i32.sound.digital.audio.delay";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_SPEAKER_ARC = "tvapi.i32.sound.speaker.arc";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_OUT = "tvapi.i32.sound.audio.out";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_TYPE = "tvapi.i32.sound.audio.type";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_DESCRIPTION_OUTPUT = "tvapi.i32.sound.description.output";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_DESCRIPTION_VOLUME = "tvapi.i32.sound.description.volume";
    SoundModelDefines.SL2_TVAPI_ACTION_SOUND_RESTORE_DEFAULT_AUDIO_SETTINGS = "tvapi.action.sound.restore.default.audio.settings";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_SUBWOOFER_DEVICE_EXIST = "tvapi.i32.sound.subwoofer.device.exist";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BASS_BOOST_DEVICE_EXIST = "tvapi.i32.sound.bass.boost.device.exist";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_OUT_DEVICE_EXIST = "tvapi.i32.sound.audio.out.device.exist";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_TV_SPEAKER = "tvapi.i32.sound.tv.speaker";
    SoundModelDefines.SL2_TVAPI_ACTION_SOUND_RESET_EQUALIZER = "tvapi.action.sound.reset.equalizer";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_WALL_MODE = "tvapi.i32.sound.wall.mode";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EXTERN_DEVICE = "tvapi.i32.sound.extern.device";
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BT_AUDIO_SUPPORT = "tvapi.i32.sound.bt.audio.support";
    SoundModelDefines.SL2_TVAPI_SOUND_VOLUME_MIN = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_VOLUME_MAX = 100;
    SoundModelDefines.SL2_TVAPI_SOUND_VOLUME_DEFAULT = 20;
    SoundModelDefines.SL2_TVAPI_SOUND_SOUND_MODE_STANDARD = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_SOUND_MODE_THEATER = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_SOUND_MODE_MUSIC = 2;
    SoundModelDefines.SL2_TVAPI_SOUND_SOUND_MODE_SPEECH = 3;
    SoundModelDefines.SL2_TVAPI_SOUND_SOUND_MODE_LATE_NIGHT = 4;
    SoundModelDefines.SL2_TVAPI_SOUND_TOTAL_VOLUME_OFF = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_TOTAL_VOLUME_NORMAL = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_TOTAL_VOLUME_NIGHT = 2;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_SUBWOOFER_OFF = 0;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_SUBWOOFER_ON = 1;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BASS_BOOST_MAX = 100;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BASS_BOOST_MIN = 0;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BASS_BOOST_DEFAULT = 50;
    SoundModelDefines.SL2_TVAPI_SOUND_SAP_MONO = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_SAP_STEREO = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_SAP_SAP = 2;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_VALUE_MAX = 10;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_VALUE_MIN = -10;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_VALUE_DEFAULT = 0;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BALANCE_VALUE_MAX = 50;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BALANCE_VALUE_MIN = -50;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_BALANCE_VALUE_DEFAULT = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_DIGITAL_AUDIO_OUT_OFF = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_DIGITAL_AUDIO_OUT_PCM = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_DIGITAL_AUDIO_OUT_RAW = 2;
    SoundModelDefines.SL2_TVAPI_SOUND_SPEAKER_ARC_SPEAKER = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_SPEAKER_ARC_OFF = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_SPEAKER_ARC_ARC_FIRST = 2;
    SoundModelDefines.SL2_TVAPI_SOUND_AUDIO_OUT_VARIABLE = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_AUDIO_OUT_FIXED = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_AUDIO_TYPE_NORMAL = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_AUDIO_TYPE_VISUALLY_IMPAIRED = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_AUDIO_DESCRIPTION_OUTPUT_SPEAKER = 0;
    SoundModelDefines.SL2_TVAPI_SOUND_AUDIO_DESCRIPTION_OUTPUT_HEADPHONE = 1;
    SoundModelDefines.SL2_TVAPI_SOUND_AUDIO_DESCRIPTION_OUTPUT_ALL = 2;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_DESCRIPTION_VOLUME_MAX = 50;
    SoundModelDefines.SL2_TVAPI_I32_SOUND_DESCRIPTION_VOLUMEE_MIN = -50
}
function SoundModel(e) {
    SubModel.call(this, e, SoundModelDefines);

    this.registerSubObject = function () {
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_MAIN_VOLUME, "getMainVolume", "setMainVolume", "onMainVolumeChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_MAIN_MUTE, "getMainMute", "setMainMute", "onMainMuteChaged", null, null);

        this.registerIntegerVectorObject(SoundModelDefines.SL2_TVAPI_VINT32_SOUND_SOUND_MODE_LIST, "getSoundModeList", "setSoundModeList", "onSoundModeListChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_SOUND_MODE, "getSoundMode", "setSoundMode", "onSoundModeChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_WALL_MODE, "getWallMode", "setWallMode", "onWallModeChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_HEADPHONE_VOLUME, "getHeadphoneVolume", "setHeadphoneVolume", "onHeadphoneVolumeChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_HEADPHONE_VOLUME_EXIST, "getHeadphoneVolumeExist", "setHeadphoneVolumeExist", "onHeadphoneVolumeExistChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_TOTAL_SONICS, "getTotalSonics", "setTotalSonics", "onTotalSonicsChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_TOTAL_SURROUND, "getTotalSurround", "setTotalSurround", "onTotalSurroundChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_TOTAL_VOLUME, "getTotalVolume", "setTotalVolume", "onTotalVolumeChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_SUBWOOFER, "getSubwoofer", "setSubwoofer", "onSubwooferChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_BASS_BOOST, "getBassBoost", "setBassBoost", "onBassBoostChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_SAP, "getSap", "setSap", "onSapChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_TRACK, "getAudioTrack", "setAudioTrack", "onAudioTrackChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_150HZ, "getEqualizerFreq120hz", "setEqualizerFreq120hz", "onEqualizerFreq120hzChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_500HZ, "getEqualizerFreq500hz", "setEqualizerFreq500hz", "onEqualizerFreq500hzChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_1K5HZ, "getEqualizerFreq1k5hz", "setEqualizerFreq1k5hz", "onEqualizerFreq1k5hzChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_5KHZ, "getEqualizerFreq5khz", "setEqualizerFreq5khz", "onEqualizerFreq5khzChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_EQUALIZER_FREQ_10KHZ, "getEqualizerFreq10khz", "setEqualizerFreq10khz", "onEqualizerFreq10khzChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_LIPSYNC, "getLipsync", "setLipsync", "onLipsyncChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_BALANCE, "getBalance", "setBalance", "onBalanceChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_DIGITAL_AUDIO_OUT, "getDigitalAudioOut", "setDigitalAudioOut", "onDigitalAudioOutChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_DIGITAL_AUDIO_DELAY, "getDigitalAudioDelay", "setDigitalAudioDelay", "onDigitalAudioDelayChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_SPEAKER_ARC, "getSpeakerArc", "setSpeakerArc", "onSpeakerArcChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_OUT, "getAudioOut", "setAudioOut", "onAudioOutChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_TYPE, "getAudioType", "setAudioType", "onAudioTypeChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_DESCRIPTION_OUTPUT, "getDescriptionOutput", "setDescriptionOutput", "onDescriptionOutputChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_DESCRIPTION_VOLUME, "getDescriptionVolume", "setDescriptionVolume", "onDescriptionVolumeChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_EXTERN_DEVICE, "getExternalDevice", "setExternalDevice", "onExternalDeviceChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_BT_AUDIO_SUPPORT, "getBtAudioSupport", "setBtAudioSupport", "onBtAudioSupportChaged", null, null);
        this.registerActionObject(SoundModelDefines.SL2_TVAPI_ACTION_SOUND_RESTORE_DEFAULT_AUDIO_SETTINGS, [{
            name: "RestoreDefaultAudioSettings",
            method: function (e) {
                return e.invoke()
            }
        }], "null");
        this.registerActionObject(SoundModelDefines.SL2_TVAPI_ACTION_SOUND_RESET_EQUALIZER, [{
            name: "ResetEqualizer",
            method: function (e) {
                return e.invoke()
            }
        }], "ResetEqualizerResult");
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_SUBWOOFER_DEVICE_EXIST, "getSubwooferDeviceExist", "setSubwooferDeviceExist", "onSubwooferDeviceExistChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_BASS_BOOST_DEVICE_EXIST, "getBassBoostDeviceExist", "setBassBoostDeviceExist", "onBassBoostDeviceExistChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_AUDIO_OUT_DEVICE_EXIST, "getAudioOutDeviceExist", "setAudioOutDeviceExist", "onAudioOutDeviceExistChaged", null, null);
        this.registerIntegerObject(SoundModelDefines.SL2_TVAPI_I32_SOUND_TV_SPEAKER, "getTvSpeaker", "setTvSpeaker", "onTvSpeakerChaged", null, null)
    }

}
SoundModel.prototype = new SubModel;
SoundModel.prototype.constructor = SoundModel;
{
    SubModel.registerStaticConstants(SoundModel, SoundModelDefines, [])
}
