summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
commit66bbf336c6af7353ef0aeed58002c46543b30635 (patch)
treead4a63860df2626b22f77e7dac712e958bea54cb /sound
parentccc0a3f4dbf58c005b22341ac8874252924690cd (diff)
downloadopenttd-66bbf336c6af7353ef0aeed58002c46543b30635.tar.xz
(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
Diffstat (limited to 'sound')
-rw-r--r--sound/cocoa_s.c149
-rw-r--r--sound/cocoa_s.h10
-rw-r--r--sound/null_s.c13
-rw-r--r--sound/null_s.h10
-rw-r--r--sound/sdl_s.c47
-rw-r--r--sound/sdl_s.h10
-rw-r--r--sound/win32_s.c87
-rw-r--r--sound/win32_s.h10
8 files changed, 0 insertions, 336 deletions
diff --git a/sound/cocoa_s.c b/sound/cocoa_s.c
deleted file mode 100644
index 3b758ad71..000000000
--- a/sound/cocoa_s.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/* $Id$ */
-
-/*****************************************************************************
- * Cocoa sound driver *
- * Known things left to do: *
- * - Might need to do endian checking for it to work on both ppc and x86 *
- *****************************************************************************/
-
-#ifdef WITH_COCOA
-
-#include <AudioUnit/AudioUnit.h>
-
-/* Name conflict */
-#define Rect OTTDRect
-#define Point OTTDPoint
-#define WindowClass OTTDWindowClass
-/* Defined in stdbool.h */
-#ifndef __cplusplus
-# ifndef __BEOS__
-# undef bool
-# undef false
-# undef true
-# endif
-#endif
-
-#include "../stdafx.h"
-#include "../openttd.h"
-#include "../debug.h"
-#include "../driver.h"
-#include "../mixer.h"
-#include "../sdl.h"
-
-#include "cocoa_s.h"
-
-#undef WindowClass
-#undef Point
-#undef Rect
-
-
-static AudioUnit _outputAudioUnit;
-
-/* The CoreAudio callback */
-static OSStatus audioCallback(void *inRefCon, AudioUnitRenderActionFlags inActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, AudioBuffer *ioData)
-{
- MxMixSamples(ioData->mData, ioData->mDataByteSize / 4);
-
- return noErr;
-}
-
-
-static const char *CocoaSoundStart(const char * const *parm)
-{
- Component comp;
- ComponentDescription desc;
- struct AudioUnitInputCallback callback;
- AudioStreamBasicDescription requestedDesc;
-
- /* Setup a AudioStreamBasicDescription with the requested format */
- requestedDesc.mFormatID = kAudioFormatLinearPCM;
- requestedDesc.mFormatFlags = kLinearPCMFormatFlagIsPacked;
- requestedDesc.mChannelsPerFrame = 2;
- requestedDesc.mSampleRate = GetDriverParamInt(parm, "hz", 11025);
-
- requestedDesc.mBitsPerChannel = 16;
- requestedDesc.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
-
-#ifdef TTD_BIG_ENDIAN
- requestedDesc.mFormatFlags |= kLinearPCMFormatFlagIsBigEndian;
-#endif
-
- requestedDesc.mFramesPerPacket = 1;
- requestedDesc.mBytesPerFrame = requestedDesc.mBitsPerChannel * requestedDesc.mChannelsPerFrame / 8;
- requestedDesc.mBytesPerPacket = requestedDesc.mBytesPerFrame * requestedDesc.mFramesPerPacket;
-
-
- /* Locate the default output audio unit */
- desc.componentType = kAudioUnitComponentType;
- desc.componentSubType = kAudioUnitSubType_Output;
- desc.componentManufacturer = kAudioUnitID_DefaultOutput;
- desc.componentFlags = 0;
- desc.componentFlagsMask = 0;
-
- comp = FindNextComponent (NULL, &desc);
- if (comp == NULL) {
- return "cocoa_s: Failed to start CoreAudio: FindNextComponent returned NULL";
- }
-
- /* Open & initialize the default output audio unit */
- if (OpenAComponent(comp, &_outputAudioUnit) != noErr) {
- return "cocoa_s: Failed to start CoreAudio: OpenAComponent";
- }
-
- if (AudioUnitInitialize(_outputAudioUnit) != noErr) {
- return "cocoa_s: Failed to start CoreAudio: AudioUnitInitialize";
- }
-
- /* Set the input format of the audio unit. */
- if (AudioUnitSetProperty(_outputAudioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &requestedDesc, sizeof(requestedDesc)) != noErr) {
- return "cocoa_s: Failed to start CoreAudio: AudioUnitSetProperty (kAudioUnitProperty_StreamFormat)";
- }
-
- /* Set the audio callback */
- callback.inputProc = audioCallback;
- callback.inputProcRefCon = NULL;
- if (AudioUnitSetProperty(_outputAudioUnit, kAudioUnitProperty_SetInputCallback, kAudioUnitScope_Input, 0, &callback, sizeof(callback)) != noErr) {
- return "cocoa_s: Failed to start CoreAudio: AudioUnitSetProperty (kAudioUnitProperty_SetInputCallback)";
- }
-
- /* Finally, start processing of the audio unit */
- if (AudioOutputUnitStart(_outputAudioUnit) != noErr) {
- return "cocoa_s: Failed to start CoreAudio: AudioOutputUnitStart";
- }
-
- /* We're running! */
- return NULL;
-}
-
-
-static void CocoaSoundStop(void)
-{
- struct AudioUnitInputCallback callback;
-
- /* stop processing the audio unit */
- if (AudioOutputUnitStop(_outputAudioUnit) != noErr) {
- DEBUG(driver, 0, "cocoa_s: Core_CloseAudio: AudioOutputUnitStop failed");
- return;
- }
-
- /* Remove the input callback */
- callback.inputProc = 0;
- callback.inputProcRefCon = 0;
- if (AudioUnitSetProperty(_outputAudioUnit, kAudioUnitProperty_SetInputCallback, kAudioUnitScope_Input, 0, &callback, sizeof(callback)) != noErr) {
- DEBUG(driver, 0, "cocoa_s: Core_CloseAudio: AudioUnitSetProperty (kAudioUnitProperty_SetInputCallback) failed");
- return;
- }
-
- if (CloseComponent(_outputAudioUnit) != noErr) {
- DEBUG(driver, 0, "cocoa_s: Core_CloseAudio: CloseComponent failed");
- return;
- }
-}
-
-
-const HalSoundDriver _cocoa_sound_driver = {
- CocoaSoundStart,
- CocoaSoundStop,
-};
-
-#endif /* WITH_COCOA */
diff --git a/sound/cocoa_s.h b/sound/cocoa_s.h
deleted file mode 100644
index 7db5f7023..000000000
--- a/sound/cocoa_s.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* $Id$ */
-
-#ifndef SOUND_COCOA_H
-#define SOUND_COCOA_H
-
-#include "../hal.h"
-
-extern const HalSoundDriver _cocoa_sound_driver;
-
-#endif
diff --git a/sound/null_s.c b/sound/null_s.c
deleted file mode 100644
index f68c4b13a..000000000
--- a/sound/null_s.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* $Id$ */
-
-#include "../stdafx.h"
-#include "../openttd.h"
-#include "null_s.h"
-
-static const char *NullSoundStart(const char * const *parm) { return NULL; }
-static void NullSoundStop(void) {}
-
-const HalSoundDriver _null_sound_driver = {
- NullSoundStart,
- NullSoundStop,
-};
diff --git a/sound/null_s.h b/sound/null_s.h
deleted file mode 100644
index 6ccd19aed..000000000
--- a/sound/null_s.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* $Id$ */
-
-#ifndef SOUND_NULL_H
-#define SOUND_NULL_H
-
-#include "../hal.h"
-
-extern const HalSoundDriver _null_sound_driver;
-
-#endif
diff --git a/sound/sdl_s.c b/sound/sdl_s.c
deleted file mode 100644
index 4b1da52d6..000000000
--- a/sound/sdl_s.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* $Id$ */
-
-#include "../stdafx.h"
-
-#ifdef WITH_SDL
-
-#include "../openttd.h"
-#include "../driver.h"
-#include "../mixer.h"
-#include "../sdl.h"
-#include "sdl_s.h"
-#include <SDL.h>
-
-static void CDECL fill_sound_buffer(void *userdata, Uint8 *stream, int len)
-{
- MxMixSamples(stream, len / 4);
-}
-
-static const char *SdlSoundStart(const char * const *parm)
-{
- SDL_AudioSpec spec;
-
- const char *s = SdlOpen(SDL_INIT_AUDIO);
- if (s != NULL) return s;
-
- spec.freq = GetDriverParamInt(parm, "hz", 11025);
- spec.format = AUDIO_S16SYS;
- spec.channels = 2;
- spec.samples = 512;
- spec.callback = fill_sound_buffer;
- SDL_CALL SDL_OpenAudio(&spec, &spec);
- SDL_CALL SDL_PauseAudio(0);
- return NULL;
-}
-
-static void SdlSoundStop(void)
-{
- SDL_CALL SDL_CloseAudio();
- SdlClose(SDL_INIT_AUDIO);
-}
-
-const HalSoundDriver _sdl_sound_driver = {
- SdlSoundStart,
- SdlSoundStop,
-};
-
-#endif
diff --git a/sound/sdl_s.h b/sound/sdl_s.h
deleted file mode 100644
index 6fc2b6dc0..000000000
--- a/sound/sdl_s.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* $Id$ */
-
-#ifndef SOUND_SDL_H
-#define SOUND_SDL_H
-
-#include "../hal.h"
-
-extern const HalSoundDriver _sdl_sound_driver;
-
-#endif
diff --git a/sound/win32_s.c b/sound/win32_s.c
deleted file mode 100644
index a39cee985..000000000
--- a/sound/win32_s.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* $Id$ */
-
-#include "../stdafx.h"
-#include "../openttd.h"
-#include "../driver.h"
-#include "../functions.h"
-#include "../mixer.h"
-#include "win32_s.h"
-#include <windows.h>
-#include <mmsystem.h>
-
-static HWAVEOUT _waveout;
-static WAVEHDR _wave_hdr[2];
-static int _bufsize;
-
-static void PrepareHeader(WAVEHDR *hdr)
-{
- hdr->dwBufferLength = _bufsize * 4;
- hdr->dwFlags = 0;
- hdr->lpData = malloc(_bufsize * 4);
- if (hdr->lpData == NULL ||
- waveOutPrepareHeader(_waveout, hdr, sizeof(WAVEHDR)) != MMSYSERR_NOERROR)
- error("waveOutPrepareHeader failed");
-}
-
-static void FillHeaders(void)
-{
- WAVEHDR *hdr;
-
- for (hdr = _wave_hdr; hdr != endof(_wave_hdr); hdr++) {
- if (!(hdr->dwFlags & WHDR_INQUEUE)) {
- MxMixSamples(hdr->lpData, hdr->dwBufferLength / 4);
- if (waveOutWrite(_waveout, hdr, sizeof(WAVEHDR)) != MMSYSERR_NOERROR)
- error("waveOutWrite failed");
- }
- }
-}
-
-static void CALLBACK waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance,
- DWORD dwParam1, DWORD dwParam2)
-{
- switch (uMsg) {
- case WOM_DONE:
- if (_waveout) FillHeaders();
- break;
-
- default:
- break;
- }
-}
-
-static const char *Win32SoundStart(const char* const* parm)
-{
- WAVEFORMATEX wfex;
- int hz;
-
- _bufsize = GetDriverParamInt(parm, "bufsize", 1024);
- hz = GetDriverParamInt(parm, "hz", 11025);
- wfex.wFormatTag = WAVE_FORMAT_PCM;
- wfex.nChannels = 2;
- wfex.nSamplesPerSec = hz;
- wfex.nAvgBytesPerSec = hz * 2 * 2;
- wfex.nBlockAlign = 4;
- wfex.wBitsPerSample = 16;
- if (waveOutOpen(&_waveout, WAVE_MAPPER, &wfex, (DWORD_PTR)&waveOutProc, 0, CALLBACK_FUNCTION) != MMSYSERR_NOERROR)
- return "waveOutOpen failed";
- PrepareHeader(&_wave_hdr[0]);
- PrepareHeader(&_wave_hdr[1]);
- FillHeaders();
- return NULL;
-}
-
-static void Win32SoundStop(void)
-{
- HWAVEOUT waveout = _waveout;
-
- _waveout = NULL;
- waveOutReset(waveout);
- waveOutUnprepareHeader(waveout, &_wave_hdr[0], sizeof(WAVEHDR));
- waveOutUnprepareHeader(waveout, &_wave_hdr[1], sizeof(WAVEHDR));
- waveOutClose(waveout);
-}
-
-const HalSoundDriver _win32_sound_driver = {
- Win32SoundStart,
- Win32SoundStop,
-};
diff --git a/sound/win32_s.h b/sound/win32_s.h
deleted file mode 100644
index 65c6a957d..000000000
--- a/sound/win32_s.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* $Id$ */
-
-#ifndef SOUND_WIN32_H
-#define SOUND_WIN32_H
-
-#include "../hal.h"
-
-extern const HalSoundDriver _win32_sound_driver;
-
-#endif