mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 00:06:44 -04:00
fixed to actually work
This commit is contained in:
parent
2bba74fc8b
commit
0f2496a467
@ -9,11 +9,17 @@
|
|||||||
audio_midi.h audio_music.I audio_music.cxx audio_music.h \
|
audio_midi.h audio_music.I audio_music.cxx audio_music.h \
|
||||||
audio_pool.I audio_pool.cxx audio_pool.h audio_sample.I \
|
audio_pool.I audio_pool.cxx audio_pool.h audio_sample.I \
|
||||||
audio_sample.cxx audio_sample.h audio_trait.cxx audio_trait.h \
|
audio_sample.cxx audio_sample.h audio_trait.cxx audio_trait.h \
|
||||||
config_audio.cxx config_audio.h
|
config_audio.cxx config_audio.h audio_mikmod_traits.cxx \
|
||||||
|
audio_mikmod_traits.h audio_win_traits.I audio_win_traits.cxx \
|
||||||
|
audio_win_traits.h audio_null_traits.I audio_null_traits.cxx \
|
||||||
|
audio_null_traits.h audio_linux_traits.I audio_linux_traits.cxx \
|
||||||
|
audio_linux_traits.h
|
||||||
|
|
||||||
#define INSTALL_HEADERS \
|
#define INSTALL_HEADERS \
|
||||||
audio.h audio_manager.h audio_music.h audio_pool.I audio_pool.h \
|
audio.h audio_manager.h audio_music.h audio_pool.I audio_pool.h \
|
||||||
audio_sample.I audio_sample.h audio_trait.h
|
audio_sample.I audio_sample.h audio_trait.h audio_mikmod_traits.h \
|
||||||
|
audio_win_traits.I audio_win_traits.h audio_null_traits.I \
|
||||||
|
audio_null_traits.h audio_linux_traits.I audio_linux_traits.h
|
||||||
|
|
||||||
#define IGATESCAN audio.h
|
#define IGATESCAN audio.h
|
||||||
|
|
||||||
@ -39,6 +45,16 @@
|
|||||||
|
|
||||||
#end lib_target
|
#end lib_target
|
||||||
|
|
||||||
|
// #begin lib_target
|
||||||
|
// #define TARGET audio_load_st
|
||||||
|
// #define LOCAL_LIBS \
|
||||||
|
// audio
|
||||||
|
//
|
||||||
|
// #define SOURCES \
|
||||||
|
// audio_load_st.cxx
|
||||||
|
//
|
||||||
|
// #end lib_target
|
||||||
|
|
||||||
#begin test_bin_target
|
#begin test_bin_target
|
||||||
#define TARGET test_audio
|
#define TARGET test_audio
|
||||||
|
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "audio_linux_traits.h"
|
#include "audio_linux_traits.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_LINUX
|
||||||
|
|
||||||
#include "audio_manager.h"
|
#include "audio_manager.h"
|
||||||
#include "config_audio.h"
|
#include "config_audio.h"
|
||||||
#include <ipc_thread.h>
|
#include <ipc_thread.h>
|
||||||
@ -278,3 +281,5 @@ LinuxPlayer* LinuxPlayer::get_instance(void) {
|
|||||||
_global_instance = new LinuxPlayer();
|
_global_instance = new LinuxPlayer();
|
||||||
return _global_instance;
|
return _global_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* AUDIO_USE_LINUX */
|
||||||
|
@ -3,11 +3,14 @@
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// yes, this needs to be outside the ifdef protection
|
||||||
|
#include "audio_trait.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_LINUX
|
||||||
|
|
||||||
#ifndef __AUDIO_LINUX_TRAITS_H__
|
#ifndef __AUDIO_LINUX_TRAITS_H__
|
||||||
#define __AUDIO_LINUX_TRAITS_H__
|
#define __AUDIO_LINUX_TRAITS_H__
|
||||||
|
|
||||||
#include "audio_trait.h"
|
|
||||||
|
|
||||||
typedef unsigned char byte;
|
typedef unsigned char byte;
|
||||||
|
|
||||||
class EXPCL_PANDA Buffer {
|
class EXPCL_PANDA Buffer {
|
||||||
@ -86,3 +89,4 @@ private:
|
|||||||
#include "audio_linux_traits.I"
|
#include "audio_linux_traits.I"
|
||||||
|
|
||||||
#endif /* __AUDIO_LINUX_TRAITS_H__ */
|
#endif /* __AUDIO_LINUX_TRAITS_H__ */
|
||||||
|
#endif /* AUDIO_USE_LINUX */
|
||||||
|
@ -6,10 +6,11 @@
|
|||||||
#include <dconfig.h>
|
#include <dconfig.h>
|
||||||
#include "audio_pool.h"
|
#include "audio_pool.h"
|
||||||
#include "config_audio.h"
|
#include "config_audio.h"
|
||||||
|
#include "audio_trait.h"
|
||||||
|
|
||||||
Configure(audio_load_midi);
|
Configure(audio_load_midi);
|
||||||
|
|
||||||
#ifdef USE_MIKMOD
|
#ifdef AUDIO_USE_MIKMOD
|
||||||
|
|
||||||
#include "audio_mikmod_traits.h"
|
#include "audio_mikmod_traits.h"
|
||||||
|
|
||||||
@ -27,9 +28,9 @@ void AudioLoadMidi(AudioTraits::MusicClass** music,
|
|||||||
*destroy = AudioDestroyMidi;
|
*destroy = AudioDestroyMidi;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else /* AUDIO_USE_MIKMOD */
|
||||||
|
|
||||||
#ifdef PENV_WIN32
|
#ifdef AUDIO_USE_WIN32
|
||||||
|
|
||||||
#include "audio_win_traits.h"
|
#include "audio_win_traits.h"
|
||||||
|
|
||||||
@ -49,7 +50,27 @@ void AudioLoadMidi(AudioTraits::MusicClass** music,
|
|||||||
<< " player = " << (void*)*player << " destroy = "
|
<< " player = " << (void*)*player << " destroy = "
|
||||||
<< (void*)*destroy << endl;
|
<< (void*)*destroy << endl;
|
||||||
}
|
}
|
||||||
#else
|
#else /* AUDIO_USE_WIN32 */
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_LINUX
|
||||||
|
|
||||||
|
void AudioDestroyMidi(AudioTraits::MusicClass* music) {
|
||||||
|
delete music;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AudioLoadMidi(AudioTraits::MusicClass** music,
|
||||||
|
AudioTraits::PlayerClass** player,
|
||||||
|
AudioTraits::DeleteMusicFunc** destroy, Filename) {
|
||||||
|
audio_cat->warning() << "linux doesn't support reading midi data yet"
|
||||||
|
<< endl;
|
||||||
|
*music = (AudioTraits::MusicClass*)0L;
|
||||||
|
*player = (AudioTraits::PlayerClass*)0L;
|
||||||
|
*destroy = AudioDestroyMidi;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* AUDIO_USE_LINUX */
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_NULL
|
||||||
|
|
||||||
// Null driver
|
// Null driver
|
||||||
#include "audio_null_traits.h"
|
#include "audio_null_traits.h"
|
||||||
@ -66,8 +87,14 @@ void AudioLoadMidi(AudioTraits::MusicClass** music,
|
|||||||
*destroy = AudioDestroyMidi;
|
*destroy = AudioDestroyMidi;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* win32 */
|
#else /* AUDIO_USE_NULL */
|
||||||
#endif /* mikmod */
|
|
||||||
|
#error "unknown driver type"
|
||||||
|
|
||||||
|
#endif /* AUDIO_USE_NULL */
|
||||||
|
#endif /* AUDIO_USE_LINUX */
|
||||||
|
#endif /* AUDIO_USE_WIN32 */
|
||||||
|
#endif /* AUDIO_USE_MIKMOD */
|
||||||
|
|
||||||
ConfigureFn(audio_load_midi) {
|
ConfigureFn(audio_load_midi) {
|
||||||
AudioPool::register_music_loader("midi", AudioLoadMidi);
|
AudioPool::register_music_loader("midi", AudioLoadMidi);
|
||||||
|
@ -6,9 +6,10 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "audio_pool.h"
|
#include "audio_pool.h"
|
||||||
#include "config_audio.h"
|
#include "config_audio.h"
|
||||||
|
#include "audio_trait.h"
|
||||||
|
|
||||||
#include <st.h>
|
#include <sox/st.h>
|
||||||
#include <patchlvl.h>
|
#include <sox/patchlvl.h>
|
||||||
|
|
||||||
#if (PATCHLEVEL == 16)
|
#if (PATCHLEVEL == 16)
|
||||||
#define FORMATS formats
|
#define FORMATS formats
|
||||||
@ -220,7 +221,7 @@ static byte* read_file(Filename filename) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_MIKMOD
|
#ifdef AUDIO_USE_MIKMOD
|
||||||
|
|
||||||
void AudioDestroySt(AudioTraits::SampleClass* sample) {
|
void AudioDestroySt(AudioTraits::SampleClass* sample) {
|
||||||
delete sample;
|
delete sample;
|
||||||
@ -236,9 +237,9 @@ void AudioLoadSt(AudioTraits::SampleClass** sample,
|
|||||||
*destroy = AudioDestroySt;
|
*destroy = AudioDestroySt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* no MikMod */
|
#else /* AUDIO_USE_MIKMOD */
|
||||||
|
|
||||||
ifdef PENV_WIN32
|
#ifdef AUDIO_USE_WIN32
|
||||||
|
|
||||||
void AudioDestroySt(AudioTraits::SampleClass* sample) {
|
void AudioDestroySt(AudioTraits::SampleClass* sample) {
|
||||||
delete sample;
|
delete sample;
|
||||||
@ -254,9 +255,9 @@ void AudioLoadSt(AudioTraits::SampleClass** sample,
|
|||||||
*destroy = AudioDestroySt;
|
*destroy = AudioDestroySt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* no win32 */
|
#else /* AUDIO_USE_WIN32 */
|
||||||
|
|
||||||
#ifdev PENV_LINUX
|
#ifdef AUDIO_USE_LINUX
|
||||||
|
|
||||||
void AudioDestroySt(AudioTraits::SampleClass* sample) {
|
void AudioDestroySt(AudioTraits::SampleClass* sample) {
|
||||||
delete sample;
|
delete sample;
|
||||||
@ -272,7 +273,9 @@ void AudioLoadSt(AudioTraits::SampleClass** sample,
|
|||||||
*destroy = AudioDestroySt;
|
*destroy = AudioDestroySt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* no linux */
|
#else /* AUDIO_USE_LINUX */
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_NULL
|
||||||
|
|
||||||
// Null driver
|
// Null driver
|
||||||
#include "audio_null_traits.h"
|
#include "audio_null_traits.h"
|
||||||
@ -289,9 +292,14 @@ void AudioLoadSt(AudioTraits::SampleClass** sample,
|
|||||||
*destroy = AudioDestroySt;
|
*destroy = AudioDestroySt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* linux */
|
#else /* AUDIO_USE_NULL */
|
||||||
#endif /* win32 */
|
|
||||||
#endif /* MikMod */
|
#error "unknown audio driver type"
|
||||||
|
|
||||||
|
#endif /* AUDIO_USE_NULL */
|
||||||
|
#endif /* AUDIO_USE_LINUX */
|
||||||
|
#endif /* AUDIO_USE_WIN32 */
|
||||||
|
#endif /* AUDIO_USE_MIKMOD */
|
||||||
|
|
||||||
ConfigureFn(audio_load_st) {
|
ConfigureFn(audio_load_st) {
|
||||||
for (int i=0; FORMATS[i].names != (char**)0L; ++i)
|
for (int i=0; FORMATS[i].names != (char**)0L; ++i)
|
||||||
|
@ -8,7 +8,9 @@
|
|||||||
|
|
||||||
Configure(audio_load_wav);
|
Configure(audio_load_wav);
|
||||||
|
|
||||||
#ifdef USE_MIKMOD
|
#include "audio_trait.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_MIKMOD
|
||||||
|
|
||||||
#include "audio_mikmod_traits.h"
|
#include "audio_mikmod_traits.h"
|
||||||
|
|
||||||
@ -26,9 +28,9 @@ void AudioLoadWav(AudioTraits::SampleClass** sample,
|
|||||||
*destroy = AudioDestroyWav;
|
*destroy = AudioDestroyWav;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* no MikMod */
|
#else /* AUDIO_USE_MIKMOD */
|
||||||
|
|
||||||
#ifdef PENV_WIN32
|
#ifdef AUDIO_USE_WIN32
|
||||||
|
|
||||||
#include "audio_win_traits.h"
|
#include "audio_win_traits.h"
|
||||||
|
|
||||||
@ -46,7 +48,25 @@ void AudioLoadWav(AudioTraits::SampleClass** sample,
|
|||||||
*destroy = AudioDestroyWav;
|
*destroy = AudioDestroyWav;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* no win32 */
|
#else /* AUDIO_USE_WIN32 */
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_LINUX
|
||||||
|
|
||||||
|
void AudioDestroyWav(AudioTraits::SampleClass* sample) {
|
||||||
|
delete sample;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AudioLoadWav(AudioTraits::SampleClass** sample,
|
||||||
|
AudioTraits::PlayerClass** player,
|
||||||
|
AudioTraits::DeleteSampleFunc** destroy, Filename) {
|
||||||
|
*sample = (AudioTraits::SampleClass*)0L;
|
||||||
|
*player = (audioTraits::PlayerClass*)0L;
|
||||||
|
*destroy = AudioDestroyWav;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* AUDIO_USE_LINUX */
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_NULL
|
||||||
|
|
||||||
// Null driver
|
// Null driver
|
||||||
#include "audio_null_traits.h"
|
#include "audio_null_traits.h"
|
||||||
@ -63,8 +83,14 @@ void AudioLoadWav(AudioTraits::SampleClass** sample,
|
|||||||
*destroy = AudioDestroyWav;
|
*destroy = AudioDestroyWav;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* win32 */
|
#else /* AUDIO_USE_NULL */
|
||||||
#endif /* MikMod */
|
|
||||||
|
#error "unknown implementation driver"
|
||||||
|
|
||||||
|
#endif /* AUDIO_USE_NULL */
|
||||||
|
#endif /* AUDIO_USE_LINUX */
|
||||||
|
#endif /* AUDIO_USE_WIN32 */
|
||||||
|
#endif /* AUDIO_USE_MIKMOD */
|
||||||
|
|
||||||
ConfigureFn(audio_load_wav) {
|
ConfigureFn(audio_load_wav) {
|
||||||
AudioPool::register_sample_loader("wav", AudioLoadWav);
|
AudioPool::register_sample_loader("wav", AudioLoadWav);
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "audio_mikmod_traits.h"
|
#include "audio_mikmod_traits.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_MIKMOD
|
||||||
|
|
||||||
#include "audio_manager.h"
|
#include "audio_manager.h"
|
||||||
#include "config_audio.h"
|
#include "config_audio.h"
|
||||||
#include <list>
|
#include <list>
|
||||||
@ -303,3 +306,5 @@ MikModMidiPlayer* MikModMidiPlayer::get_instance(void) {
|
|||||||
_global_instance = new MikModMidiPlayer();
|
_global_instance = new MikModMidiPlayer();
|
||||||
return _global_instance;
|
return _global_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* AUDIO_USE_MIKMOD */
|
||||||
|
@ -3,10 +3,13 @@
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// yes, this should be outside
|
||||||
|
#include "audio_trait.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_MIKMOD
|
||||||
#ifndef __AUDIO_MIKMOD_TRAITS_H__
|
#ifndef __AUDIO_MIKMOD_TRAITS_H__
|
||||||
#define __AUDIO_MIKMOD_TRAITS_H__
|
#define __AUDIO_MIKMOD_TRAITS_H__
|
||||||
|
|
||||||
#include "audio_trait.h"
|
|
||||||
#include <pandabase.h>
|
#include <pandabase.h>
|
||||||
#include <filename.h>
|
#include <filename.h>
|
||||||
#include <mikmod.h>
|
#include <mikmod.h>
|
||||||
@ -100,3 +103,4 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __AUDIO_MIKMOD_TRAITS_H__ */
|
#endif /* __AUDIO_MIKMOD_TRAITS_H__ */
|
||||||
|
#endif /* AUDIO_USE_MIKMOD */
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "audio_null_traits.h"
|
#include "audio_null_traits.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_NULL
|
||||||
|
|
||||||
#include "audio_manager.h"
|
#include "audio_manager.h"
|
||||||
#include "config_audio.h"
|
#include "config_audio.h"
|
||||||
|
|
||||||
@ -68,3 +71,5 @@ void NullPlayer::set_volume(AudioTraits::MusicClass*, int) {
|
|||||||
if (audio_cat->is_debug())
|
if (audio_cat->is_debug())
|
||||||
audio_cat->debug() << "in set volume (music) in Null audio driver" << endl;
|
audio_cat->debug() << "in set volume (music) in Null audio driver" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* AUDIO_USE_NULL */
|
||||||
|
@ -3,11 +3,14 @@
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// yes, this needs to be outside the ifdef protection
|
||||||
|
#include "audio_trait.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_NULL
|
||||||
|
|
||||||
#ifndef __AUDIO_NULL_TRAITS_H__
|
#ifndef __AUDIO_NULL_TRAITS_H__
|
||||||
#define __AUDIO_NULL_TRAITS_H__
|
#define __AUDIO_NULL_TRAITS_H__
|
||||||
|
|
||||||
#include "audio_trait.h"
|
|
||||||
|
|
||||||
class EXPCL_PANDA NullSample : public AudioTraits::SampleClass {
|
class EXPCL_PANDA NullSample : public AudioTraits::SampleClass {
|
||||||
public:
|
public:
|
||||||
INLINE NullSample(void);
|
INLINE NullSample(void);
|
||||||
@ -39,3 +42,4 @@ public:
|
|||||||
#include "audio_null_traits.I"
|
#include "audio_null_traits.I"
|
||||||
|
|
||||||
#endif /* __AUDIO_NULL_TRAITS_H__ */
|
#endif /* __AUDIO_NULL_TRAITS_H__ */
|
||||||
|
#endif /* AUDIO_USE_NULL */
|
||||||
|
@ -46,4 +46,25 @@ public:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// this is really ugly. But since we have to be able to include/compile
|
||||||
|
// all of the driver files on any system, I need to centralize a switch
|
||||||
|
// for which one is real.
|
||||||
|
#ifdef HAVE_MIKMOD
|
||||||
|
#define AUDIO_USE_MIKMOD
|
||||||
|
#else /* HAVE_MIKMOD */
|
||||||
|
#ifdef PENV_WIN32
|
||||||
|
#define AUDIO_USE_WIN32
|
||||||
|
#else /* PENV_WIN32 */
|
||||||
|
/*
|
||||||
|
#ifdef PENV_LINUX
|
||||||
|
#define AUDIO_USE_LINUX
|
||||||
|
#else /* PENV_LINUX *
|
||||||
|
*/
|
||||||
|
#define AUDIO_USE_NULL
|
||||||
|
/*
|
||||||
|
#endif /* PENV_LINUX *
|
||||||
|
*/
|
||||||
|
#endif /* PENV_WIN32 */
|
||||||
|
#endif /* HAVE_MIKMOD */
|
||||||
|
|
||||||
#endif /* __AUDIO_TRAIT_H__ */
|
#endif /* __AUDIO_TRAIT_H__ */
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "audio_win_traits.h"
|
#include "audio_win_traits.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_WIN32
|
||||||
|
|
||||||
#include "audio_manager.h"
|
#include "audio_manager.h"
|
||||||
#include "config_audio.h"
|
#include "config_audio.h"
|
||||||
|
|
||||||
@ -658,3 +661,5 @@ WinPlayer* WinPlayer::get_instance(void) {
|
|||||||
_global_instance = new WinPlayer();
|
_global_instance = new WinPlayer();
|
||||||
return _global_instance;
|
return _global_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* AUDIO_USE_WIN32 */
|
||||||
|
@ -3,10 +3,13 @@
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// yes, this needs to be outside the ifdef protection
|
||||||
|
#include "audio_trait.h"
|
||||||
|
|
||||||
|
#ifdef AUDIO_USE_WIN32
|
||||||
#ifndef __AUDIO_WIN_TRAITS_H__
|
#ifndef __AUDIO_WIN_TRAITS_H__
|
||||||
#define __AUDIO_WIN_TRAITS_H__
|
#define __AUDIO_WIN_TRAITS_H__
|
||||||
|
|
||||||
#include "audio_trait.h"
|
|
||||||
#include <filename.h>
|
#include <filename.h>
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
@ -76,3 +79,4 @@ private:
|
|||||||
#include "audio_win_traits.I"
|
#include "audio_win_traits.I"
|
||||||
|
|
||||||
#endif /* __AUDIO_WIN_TRAITS_H__ */
|
#endif /* __AUDIO_WIN_TRAITS_H__ */
|
||||||
|
#endif /* AUDIO_USE_WIN32 */
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
#include "audio_sample.h"
|
#include "audio_sample.h"
|
||||||
#include "audio_music.h"
|
#include "audio_music.h"
|
||||||
#include <dconfig.h>
|
#include <dconfig.h>
|
||||||
|
#include <filename.h>
|
||||||
|
#include <load_dso.h>
|
||||||
|
|
||||||
Configure(config_audio);
|
Configure(config_audio);
|
||||||
NotifyCategoryDef(audio, "");
|
NotifyCategoryDef(audio, "");
|
||||||
@ -16,6 +18,8 @@ int audio_mix_freq = config_audio.GetInt("audio-mix-freq", 11025);
|
|||||||
string* audio_mode_flags;
|
string* audio_mode_flags;
|
||||||
int audio_driver_select = config_audio.GetInt("audio-driver-select", 0);
|
int audio_driver_select = config_audio.GetInt("audio-driver-select", 0);
|
||||||
string* audio_driver_params;
|
string* audio_driver_params;
|
||||||
|
int audio_buffer_size = config_audio.GetInt("audio-buffer-size", 4096);
|
||||||
|
string* audio_device;
|
||||||
|
|
||||||
ConfigureFn(config_audio) {
|
ConfigureFn(config_audio) {
|
||||||
AudioSample::init_type();
|
AudioSample::init_type();
|
||||||
@ -38,4 +42,17 @@ ConfigureFn(config_audio) {
|
|||||||
*audio_driver_params += " ";
|
*audio_driver_params += " ";
|
||||||
*audio_driver_params += (*i).Val();
|
*audio_driver_params += (*i).Val();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Config::ConfigTable::Symbol loaders;
|
||||||
|
config_audio.GetAll("audio-loader", loaders);
|
||||||
|
for (i=loaders.begin(); i!=loaders.end(); ++i) {
|
||||||
|
Filename dlname = Filename::dso_filename("libaudio_load_" + (*i).Val() +
|
||||||
|
".so");
|
||||||
|
audio_cat->info() << "loading '" << (*i).Val() << "' loader" << endl;
|
||||||
|
void* tmp = load_dso(dlname.to_os_specific());
|
||||||
|
if (tmp == (void*)0L)
|
||||||
|
audio_cat->info() << "unable to load: " << load_dso_error() << endl;
|
||||||
|
}
|
||||||
|
audio_device = new string(config_audio.GetString("audio-device",
|
||||||
|
"/dev/dsp"));
|
||||||
}
|
}
|
||||||
|
@ -16,5 +16,7 @@ extern int audio_mix_freq;
|
|||||||
extern string* audio_mode_flags;
|
extern string* audio_mode_flags;
|
||||||
extern int audio_driver_select;
|
extern int audio_driver_select;
|
||||||
extern string* audio_driver_params;
|
extern string* audio_driver_params;
|
||||||
|
extern int audio_buffer_size;
|
||||||
|
extern string* audio_device;
|
||||||
|
|
||||||
#endif /* __CONFIG_AUDIO_H__ */
|
#endif /* __CONFIG_AUDIO_H__ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user