From bc949250de1fda6b47b99facbdf0c349835b1f53 Mon Sep 17 00:00:00 2001 From: Adrian Frühwirth Date: Tue, 22 May 2018 15:37:49 +0200 Subject: JANITORIAL: Convert line endings from CRLF/mixed to LF --- engines/cryo/sound.cpp | 226 ++++++++++++++++++++++++------------------------- engines/cryo/sound.h | 140 +++++++++++++++--------------- 2 files changed, 183 insertions(+), 183 deletions(-) (limited to 'engines/cryo') diff --git a/engines/cryo/sound.cpp b/engines/cryo/sound.cpp index 68f067588f..95bf39eca9 100644 --- a/engines/cryo/sound.cpp +++ b/engines/cryo/sound.cpp @@ -1,113 +1,113 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#include "cryo/sound.h" -#include "audio/audiostream.h" -#include "audio/mixer.h" -#include "audio/decoders/raw.h" - -namespace Cryo { - -CSoundChannel::CSoundChannel(Audio::Mixer *mixer, unsigned int sampleRate, bool stereo, bool is16bits) : _mixer(mixer), _sampleRate(sampleRate), _stereo(stereo) { - _bufferFlags = is16bits ? (Audio::FLAG_LITTLE_ENDIAN | Audio::FLAG_16BITS) : Audio::FLAG_UNSIGNED; - if (stereo) - _bufferFlags |= Audio::FLAG_STEREO; - _audioStream = nullptr; - _volumeLeft = _volumeRight = Audio::Mixer::kMaxChannelVolume; -} - -CSoundChannel::~CSoundChannel() { - stop(); - if (_audioStream) - delete _audioStream; -} - -void CSoundChannel::queueBuffer(byte *buffer, unsigned int size, bool playNow, bool playQueue, bool buffering) { - if (playNow) - stop(); - - if (!buffer || !size) - return; - - if (!_audioStream) - _audioStream = Audio::makeQueuingAudioStream(_sampleRate, _stereo); - - if (buffering) { - byte *localBuffer = (byte*)malloc(size); - memcpy(localBuffer, buffer, size); - _audioStream->queueBuffer(localBuffer, size, DisposeAfterUse::YES, _bufferFlags); - } else - _audioStream->queueBuffer(buffer, size, DisposeAfterUse::NO, _bufferFlags); - if (playNow || playQueue) - play(); -} - -void CSoundChannel::play() { - if (!_audioStream) - return; - if (!_mixer->isSoundHandleActive(_soundHandle)) { - _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, _audioStream, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO); - applyVolumeChange(); - } -} - -void CSoundChannel::stop() { - if (_mixer->isSoundHandleActive(_soundHandle)) - _mixer->stopHandle(_soundHandle); - - if (_audioStream) { - _audioStream->finish(); - delete _audioStream; - _audioStream = nullptr; - } -} - -unsigned int CSoundChannel::numQueued() { - return _audioStream ? _audioStream->numQueuedStreams() : 0; -} - -unsigned int CSoundChannel::getVolume() { - return (_volumeRight + _volumeLeft) / 2; -} - -void CSoundChannel::setVolume(unsigned int volumeLeft, unsigned int volumeRight) { - _volumeLeft = volumeLeft; - _volumeRight = volumeRight; - applyVolumeChange(); -} - -void CSoundChannel::setVolumeLeft(unsigned int volume) { - setVolume(volume, _volumeRight); -} - -void CSoundChannel::setVolumeRight(unsigned int volume) { - setVolume(_volumeLeft, volume); -} - -void CSoundChannel::applyVolumeChange() { - unsigned int volume = (_volumeRight + _volumeLeft) / 2; - int balance = (signed int)(_volumeRight - _volumeLeft) / 2; - _mixer->setChannelVolume(_soundHandle, volume); - _mixer->setChannelBalance(_soundHandle, balance); -} - -} +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include "cryo/sound.h" +#include "audio/audiostream.h" +#include "audio/mixer.h" +#include "audio/decoders/raw.h" + +namespace Cryo { + +CSoundChannel::CSoundChannel(Audio::Mixer *mixer, unsigned int sampleRate, bool stereo, bool is16bits) : _mixer(mixer), _sampleRate(sampleRate), _stereo(stereo) { + _bufferFlags = is16bits ? (Audio::FLAG_LITTLE_ENDIAN | Audio::FLAG_16BITS) : Audio::FLAG_UNSIGNED; + if (stereo) + _bufferFlags |= Audio::FLAG_STEREO; + _audioStream = nullptr; + _volumeLeft = _volumeRight = Audio::Mixer::kMaxChannelVolume; +} + +CSoundChannel::~CSoundChannel() { + stop(); + if (_audioStream) + delete _audioStream; +} + +void CSoundChannel::queueBuffer(byte *buffer, unsigned int size, bool playNow, bool playQueue, bool buffering) { + if (playNow) + stop(); + + if (!buffer || !size) + return; + + if (!_audioStream) + _audioStream = Audio::makeQueuingAudioStream(_sampleRate, _stereo); + + if (buffering) { + byte *localBuffer = (byte*)malloc(size); + memcpy(localBuffer, buffer, size); + _audioStream->queueBuffer(localBuffer, size, DisposeAfterUse::YES, _bufferFlags); + } else + _audioStream->queueBuffer(buffer, size, DisposeAfterUse::NO, _bufferFlags); + if (playNow || playQueue) + play(); +} + +void CSoundChannel::play() { + if (!_audioStream) + return; + if (!_mixer->isSoundHandleActive(_soundHandle)) { + _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, _audioStream, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO); + applyVolumeChange(); + } +} + +void CSoundChannel::stop() { + if (_mixer->isSoundHandleActive(_soundHandle)) + _mixer->stopHandle(_soundHandle); + + if (_audioStream) { + _audioStream->finish(); + delete _audioStream; + _audioStream = nullptr; + } +} + +unsigned int CSoundChannel::numQueued() { + return _audioStream ? _audioStream->numQueuedStreams() : 0; +} + +unsigned int CSoundChannel::getVolume() { + return (_volumeRight + _volumeLeft) / 2; +} + +void CSoundChannel::setVolume(unsigned int volumeLeft, unsigned int volumeRight) { + _volumeLeft = volumeLeft; + _volumeRight = volumeRight; + applyVolumeChange(); +} + +void CSoundChannel::setVolumeLeft(unsigned int volume) { + setVolume(volume, _volumeRight); +} + +void CSoundChannel::setVolumeRight(unsigned int volume) { + setVolume(_volumeLeft, volume); +} + +void CSoundChannel::applyVolumeChange() { + unsigned int volume = (_volumeRight + _volumeLeft) / 2; + int balance = (signed int)(_volumeRight - _volumeLeft) / 2; + _mixer->setChannelVolume(_soundHandle, volume); + _mixer->setChannelBalance(_soundHandle, balance); +} + +} diff --git a/engines/cryo/sound.h b/engines/cryo/sound.h index 72232cc4f1..ad5312f527 100644 --- a/engines/cryo/sound.h +++ b/engines/cryo/sound.h @@ -1,70 +1,70 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#pragma once - -#include "audio/audiostream.h" -#include "audio/mixer.h" -#include "audio/decoders/raw.h" - -#include "cryo/cryolib.h" - -namespace Cryo { - -class CryoEngine; - -class CSoundChannel { -private: - Audio::Mixer *_mixer; - Audio::QueuingAudioStream *_audioStream; - Audio::SoundHandle _soundHandle; - unsigned int _sampleRate; - bool _stereo; - unsigned int _bufferFlags; - - void applyVolumeChange(); - -public: - CSoundChannel(Audio::Mixer *mixer, unsigned int sampleRate, bool stereo, bool is16bits = false); - ~CSoundChannel(); - - // Queue a new buffer, cancel any previously queued buffers if playNow is set - void queueBuffer(byte *buffer, unsigned int size, bool playNow = false, bool playQueue = true, bool buffering = true); - - // Play any queued buffers - void play(); - - // Stop playing and purge play queue - void stop(); - - // How many buffers in queue (including currently playing one) - unsigned int numQueued(); - - // Volume control - int _volumeLeft, _volumeRight; - unsigned int getVolume(); - void setVolume(unsigned int volumeLeft, unsigned int volumeRight); - void setVolumeLeft(unsigned int volume); - void setVolumeRight(unsigned int volume); -}; - -} +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#pragma once + +#include "audio/audiostream.h" +#include "audio/mixer.h" +#include "audio/decoders/raw.h" + +#include "cryo/cryolib.h" + +namespace Cryo { + +class CryoEngine; + +class CSoundChannel { +private: + Audio::Mixer *_mixer; + Audio::QueuingAudioStream *_audioStream; + Audio::SoundHandle _soundHandle; + unsigned int _sampleRate; + bool _stereo; + unsigned int _bufferFlags; + + void applyVolumeChange(); + +public: + CSoundChannel(Audio::Mixer *mixer, unsigned int sampleRate, bool stereo, bool is16bits = false); + ~CSoundChannel(); + + // Queue a new buffer, cancel any previously queued buffers if playNow is set + void queueBuffer(byte *buffer, unsigned int size, bool playNow = false, bool playQueue = true, bool buffering = true); + + // Play any queued buffers + void play(); + + // Stop playing and purge play queue + void stop(); + + // How many buffers in queue (including currently playing one) + unsigned int numQueued(); + + // Volume control + int _volumeLeft, _volumeRight; + unsigned int getVolume(); + void setVolume(unsigned int volumeLeft, unsigned int volumeRight); + void setVolumeLeft(unsigned int volume); + void setVolumeRight(unsigned int volume); +}; + +} -- cgit v1.2.3