Panda3D
 All Classes Functions Variables Enumerations
config_audio.h
1 // Filename: config_audio.h
2 // Created by: cary (22Sep00)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef __CONFIG_AUDIO_H__
16 #define __CONFIG_AUDIO_H__
17 
18 #include "pandabase.h"
19 #include "notifyCategoryProxy.h"
20 #include "configVariableInt.h"
21 #include "configVariableBool.h"
22 #include "configVariableDouble.h"
23 #include "configVariableString.h"
24 #include "configVariableFilename.h"
25 
26 #if defined(WIN32_VC) || defined(WIN64_VC)
27 #pragma warning (disable : 4231)
28 #endif
29 
30 NotifyCategoryDecl(audio, EXPCL_PANDA_AUDIO, EXPTP_PANDA_AUDIO);
31 
32 extern EXPCL_PANDA_AUDIO ConfigVariableBool audio_active;
33 extern EXPCL_PANDA_AUDIO ConfigVariableInt audio_cache_limit;
34 extern EXPCL_PANDA_AUDIO ConfigVariableDouble audio_volume;
35 extern EXPCL_PANDA_AUDIO ConfigVariableFilename audio_dls_file;
36 
37 //We Need This one.
38 extern EXPCL_PANDA_AUDIO ConfigVariableString audio_library_name;
39 
40 // Config vars for Fmod:
41 
42 // Values match FMOD_SPEAKERMODE enum.
43 enum FmodSpeakerMode {
44  FSM_raw,
45  FSM_mono,
46  FSM_stereo,
47  FSM_quad,
48  FSM_surround,
49  FSM_5point1,
50  FSM_7point1,
51 
52  // For backward compatibility
53  FSM_unspecified
54 };
55 
56 EXPCL_PANDA_AUDIO ostream &operator << (ostream &out, FmodSpeakerMode sm);
57 EXPCL_PANDA_AUDIO istream &operator >> (istream &in, FmodSpeakerMode &sm);
58 
59 extern EXPCL_PANDA_AUDIO ConfigVariableInt fmod_number_of_sound_channels;
60 extern EXPCL_PANDA_AUDIO ConfigVariableBool fmod_use_surround_sound;
61 extern EXPCL_PANDA_AUDIO ConfigVariableEnum<FmodSpeakerMode> fmod_speaker_mode;
62 
63 // Config vars for OpenAL:
64 
65 extern EXPCL_PANDA_AUDIO ConfigVariableDouble audio_doppler_factor;
66 extern EXPCL_PANDA_AUDIO ConfigVariableDouble audio_distance_factor;
67 extern EXPCL_PANDA_AUDIO ConfigVariableDouble audio_drop_off_factor;
68 extern EXPCL_PANDA_AUDIO ConfigVariableDouble audio_buffering_seconds;
69 extern EXPCL_PANDA_AUDIO ConfigVariableInt audio_preload_threshold;
70 
71 // Config vars for Miles:
72 
73 extern EXPCL_PANDA_AUDIO ConfigVariableBool audio_software_midi;
74 extern EXPCL_PANDA_AUDIO ConfigVariableFilename audio_dls_file;
75 extern EXPCL_PANDA_AUDIO ConfigVariableBool audio_play_midi;
76 extern EXPCL_PANDA_AUDIO ConfigVariableBool audio_play_wave;
77 extern EXPCL_PANDA_AUDIO ConfigVariableBool audio_play_mp3;
78 extern EXPCL_PANDA_AUDIO ConfigVariableInt audio_output_rate;
79 extern EXPCL_PANDA_AUDIO ConfigVariableInt audio_output_bits;
80 extern EXPCL_PANDA_AUDIO ConfigVariableInt audio_output_channels;
81 
82 
83 
84 #ifdef NOTIFY_DEBUG //[
85  // Non-release build:
86  #define audio_debug(msg) \
87  if (audio_cat.is_debug()) { \
88  audio_cat->debug() << msg << endl; \
89  } else {}
90 #else //][
91  // Release build:
92  #define audio_debug(msg) ((void)0);
93 #endif //]
94 
95 #define audio_info(msg) \
96  audio_cat->info() << msg << endl
97 
98 #define audio_warning(msg) \
99  audio_cat->warning() << msg << endl
100 
101 #define audio_error(msg) \
102  audio_cat->error() << msg << endl
103 
104 #endif /* __CONFIG_AUDIO_H__ */
This is a convenience class to specialize ConfigVariable as a Filename type.
This is a convenience class to specialize ConfigVariable as a boolean type.
This is a convenience class to specialize ConfigVariable as a floating-point type.
This is a convenience class to specialize ConfigVariable as a string type.
This class specializes ConfigVariable as an enumerated type.
This is a convenience class to specialize ConfigVariable as an integer type.