commit 298307f5219ff7e2acde2e6d7786c4314a3a2e9f Author: Jack Andersen Date: Wed May 18 20:09:10 2016 -1000 Initial docs diff --git a/_audio_group_8hpp_source.html b/_audio_group_8hpp_source.html new file mode 100644 index 0000000..95fd837 --- /dev/null +++ b/_audio_group_8hpp_source.html @@ -0,0 +1,126 @@ + + + + + + +Amuse: include/amuse/AudioGroup.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AudioGroup.hpp
+
+
+
1 #ifndef __AMUSE_AUDIOGROUP_HPP__
2 #define __AMUSE_AUDIOGROUP_HPP__
3 
4 #include "AudioGroupPool.hpp"
5 #include "AudioGroupProject.hpp"
6 #include "AudioGroupSampleDirectory.hpp"
7 
8 namespace amuse
9 {
10 class AudioGroupData;
11 
12 using Sample = std::pair<AudioGroupSampleDirectory::Entry,
13  AudioGroupSampleDirectory::ADPCMParms>;
14 
17 {
18  AudioGroupProject m_proj;
19  AudioGroupPool m_pool;
21  const unsigned char* m_samp;
22  bool m_valid;
23 public:
24  operator bool() const {return m_valid;}
25  AudioGroup(const AudioGroupData& data);
26 
27  const Sample* getSample(int sfxId) const;
28  const unsigned char* getSampleData(uint32_t offset) const;
29  const AudioGroupProject& getProj() const {return m_proj;}
30  const AudioGroupPool& getPool() const {return m_pool;}
31 };
32 
33 }
34 
35 #endif // __AMUSE_AUDIOGROUP_HPP__
+ + + + + +
+
+ + + + diff --git a/_audio_group_data_8hpp_source.html b/_audio_group_data_8hpp_source.html new file mode 100644 index 0000000..99fa142 --- /dev/null +++ b/_audio_group_data_8hpp_source.html @@ -0,0 +1,123 @@ + + + + + + +Amuse: include/amuse/AudioGroupData.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AudioGroupData.hpp
+
+
+
1 #ifndef __AMUSE_AUDIOGROUPDATA_HPP__
2 #define __AMUSE_AUDIOGROUPDATA_HPP__
3 
4 namespace amuse
5 {
6 
9 {
10 protected:
11  unsigned char* m_proj;
12  unsigned char* m_pool;
13  unsigned char* m_sdir;
14  unsigned char* m_samp;
15 public:
16  AudioGroupData(unsigned char* proj, unsigned char* pool,
17  unsigned char* sdir, unsigned char* samp)
18  : m_proj(proj), m_pool(pool), m_sdir(sdir), m_samp(samp) {}
19 
20  const unsigned char* getProj() const {return m_proj;}
21  const unsigned char* getPool() const {return m_pool;}
22  const unsigned char* getSdir() const {return m_sdir;}
23  const unsigned char* getSamp() const {return m_samp;}
24 };
25 
28 {
29  bool m_owns = true;
30 public:
31  using AudioGroupData::AudioGroupData;
33 
35  IntrusiveAudioGroupData& operator=(const IntrusiveAudioGroupData&)=delete;
36 
39 };
40 
41 }
42 
43 #endif // __AMUSE_AUDIOGROUPDATA_HPP__
+ + +
+
+ + + + diff --git a/_audio_group_pool_8hpp_source.html b/_audio_group_pool_8hpp_source.html new file mode 100644 index 0000000..56e9052 --- /dev/null +++ b/_audio_group_pool_8hpp_source.html @@ -0,0 +1,126 @@ + + + + + + +Amuse: include/amuse/AudioGroupPool.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AudioGroupPool.hpp
+
+
+
1 #ifndef __AMUSE_AUDIOGROUPPOOL_HPP__
2 #define __AMUSE_AUDIOGROUPPOOL_HPP__
3 
4 #include <stdint.h>
5 #include <vector>
6 #include <cmath>
7 #include <unordered_map>
8 #include "Entity.hpp"
9 #include "Common.hpp"
10 
11 namespace amuse
12 {
13 
15 static inline double TimeCentsToSeconds(int32_t tc)
16 {
17  if (tc == 0x80000000)
18  return 0.0;
19  return std::exp2(tc / (1200.0 * 65536.0));
20 }
21 
23 struct ADSR
24 {
25  uint8_t attackFine; /* 0-255ms */
26  uint8_t attackCoarse; /* 0-65280ms */
27  uint8_t decayFine; /* 0-255ms */
28  uint8_t decayCoarse; /* 0-65280ms */
29  uint8_t sustainFine; /* multiply by 0.0244 for percentage */
30  uint8_t sustainCoarse; /* multiply by 6.25 for percentage */
31  uint8_t releaseFine; /* 0-255ms */
32  uint8_t releaseCoarse; /* 0-65280ms */
33 
34  double getAttack() const {return (attackCoarse * 255 + attackFine) / 1000.0;}
35  double getDecay() const {return decayCoarse == 128 ? 0.0 : ((decayCoarse * 255 + decayFine) / 1000.0);}
36  double getSustain() const {return decayCoarse == 128 ? 1.0 : ((sustainCoarse * 6.25 + sustainFine * 0.0244) / 100.0);}
37  double getRelease() const {return (releaseCoarse * 255 + releaseFine) / 1000.0;}
38 };
39 
41 struct ADSRDLS
42 {
43  uint32_t attack; /* 16.16 Time-cents */
44  uint32_t decay; /* 16.16 Time-cents */
45  uint16_t sustain; /* 0x1000 == 100% */
46  uint16_t release; /* milliseconds */
47  uint32_t velToAttack; /* 16.16, 1000.0 == 100%; attack = <attack> + (vel/128) * <velToAttack> */
48  uint32_t keyToDecay; /* 16.16, 1000.0 == 100%; decay = <decay> + (note/128) * <keyToDecay> */
49 
50  double getAttack() const {return TimeCentsToSeconds(attack);}
51  double getDecay() const {return TimeCentsToSeconds(decay);}
52  double getSustain() const {return sustain / double(0x1000);}
53  double getRelease() const {return release / double(1000);}
54  double getVelToAttack(int8_t vel) const
55  {
56  if (velToAttack == 0x80000000)
57  return getAttack();
58  return getAttack() + vel * (velToAttack / 65536.0 / 1000.0) / 128.0;
59  }
60  double getKeyToDecay(int8_t note) const
61  {
62  if (keyToDecay == 0x80000000)
63  return getDecay();
64  return getDecay() + note * (keyToDecay / 65536.0 / 1000.0) / 128.0;
65  }
66 };
67 
70 struct Keymap
71 {
72  int16_t objectId;
73  int8_t transpose;
74  int8_t pan; /* -128 for surround-channel only */
75  int8_t prioOffset;
76  int8_t pad[3];
77 };
78 
81 {
82  int16_t objectId;
83  int8_t keyLo;
84  int8_t keyHi;
85  int8_t transpose;
86  int8_t volume;
87  int8_t pan; /* -128 for surround-channel only */
88  int8_t prioOffset;
89  int8_t unk; /* usually 0x40 */
90 };
91 
94 {
95  std::unordered_map<ObjectId, const unsigned char*> m_soundMacros;
96  std::unordered_map<ObjectId, const unsigned char*> m_tables;
97  std::unordered_map<ObjectId, const Keymap*> m_keymaps;
98  std::unordered_map<ObjectId, std::vector<const LayerMapping*>> m_layers;
99 public:
100  AudioGroupPool(const unsigned char* data);
101  const unsigned char* soundMacro(ObjectId id) const;
102  const Keymap* keymap(ObjectId id) const;
103  const std::vector<const LayerMapping*>* layer(ObjectId id) const;
104  const ADSR* tableAsAdsr(ObjectId id) const;
105  const ADSRDLS* tableAsAdsrDLS(ObjectId id) const
106  {return reinterpret_cast<const ADSRDLS*>(tableAsAdsr(id));}
107  const Curve* tableAsCurves(ObjectId id) const
108  {return reinterpret_cast<const Curve*>(tableAsAdsr(id));}
109 };
110 
111 }
112 
113 #endif // __AMUSE_AUDIOGROUPPOOL_HPP__
+ + + + + +
+
+ + + + diff --git a/_audio_group_project_8hpp_source.html b/_audio_group_project_8hpp_source.html new file mode 100644 index 0000000..657917e --- /dev/null +++ b/_audio_group_project_8hpp_source.html @@ -0,0 +1,128 @@ + + + + + + +Amuse: include/amuse/AudioGroupProject.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AudioGroupProject.hpp
+
+
+
1 #ifndef __AMUSE_AUDIOGROUPPROJECT_HPP__
2 #define __AMUSE_AUDIOGROUPPROJECT_HPP__
3 
4 #include "Entity.hpp"
5 #include <vector>
6 #include <array>
7 #include <unordered_map>
8 
9 namespace amuse
10 {
11 
14 {
15  const uint16_t* m_soundMacroIndex;
16  const uint16_t* m_tablesIndex;
17  const uint16_t* m_keymapsIndex;
18  const uint16_t* m_layersIndex;
19 };
20 
23 {
25  struct PageEntry
26  {
27  ObjectId objId;
28  uint8_t priority;
29  uint8_t maxVoices;
30  uint8_t programNo;
31  uint8_t pad;
32  };
33  std::unordered_map<uint8_t, const PageEntry*> m_normPages;
34  std::unordered_map<uint8_t, const PageEntry*> m_drumPages;
35 
37  struct MIDISetup
38  {
39  uint8_t programNo;
40  uint8_t volume;
41  uint8_t panning;
42  uint8_t reverb;
43  uint8_t chorus;
44  };
45  std::unordered_map<int, const std::array<MIDISetup, 16>*> m_midiSetups;
46 };
47 
50 {
52  struct SFXEntry
53  {
54  uint16_t defineId;
55  ObjectId objId;
56  uint8_t priority;
57  uint8_t maxVoices;
58  uint8_t defVel;
59  uint8_t panning;
60  uint8_t defKey;
61  uint8_t pad;
62  };
63  std::unordered_map<uint16_t, const SFXEntry*> m_sfxEntries;
64 };
65 
68 {
69  std::unordered_map<int, SongGroupIndex> m_songGroups;
70  std::unordered_map<int, SFXGroupIndex> m_sfxGroups;
71 public:
72  AudioGroupProject(const unsigned char* data);
73 
74  const SongGroupIndex* getSongGroupIndex(int groupId) const;
75  const SFXGroupIndex* getSFXGroupIndex(int groupId) const;
76 
77  const std::unordered_map<int, SongGroupIndex>& songGroups() const {return m_songGroups;}
78  const std::unordered_map<int, SFXGroupIndex>& sfxGroups() const {return m_sfxGroups;}
79 };
80 
81 }
82 
83 #endif // __AMUSE_AUDIOGROUPPROJECT_HPP__
+ + + + + +
+ +
+
+ + + + diff --git a/_audio_group_sample_directory_8hpp_source.html b/_audio_group_sample_directory_8hpp_source.html new file mode 100644 index 0000000..2c50aa9 --- /dev/null +++ b/_audio_group_sample_directory_8hpp_source.html @@ -0,0 +1,125 @@ + + + + + + +Amuse: include/amuse/AudioGroupSampleDirectory.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
AudioGroupSampleDirectory.hpp
+
+
+
1 #ifndef __AMUSE_AUDIOGROUPSAMPLEDIR_HPP__
2 #define __AMUSE_AUDIOGROUPSAMPLEDIR_HPP__
3 
4 #include <unordered_map>
5 #include <stdint.h>
6 
7 namespace amuse
8 {
9 
12 {
13  friend class AudioGroup;
14 public:
15  struct Entry
16  {
17  uint16_t m_sfxId;
18  uint32_t m_sampleOff;
19  uint32_t m_unk;
20  uint8_t m_pitch;
21  uint16_t m_sampleRate;
22  uint32_t m_numSamples;
23  uint32_t m_loopStartSample;
24  uint32_t m_loopLengthSamples;
25  uint32_t m_adpcmParmOffset;
26  void swapBig();
27  };
28  struct ADPCMParms
29  {
30  uint16_t m_bytesPerFrame;
31  uint8_t m_ps;
32  uint8_t m_lps;
33  int16_t m_hist1;
34  int16_t m_hist2;
35  int16_t m_coefs[8][2];
36  void swapBig();
37  };
38 private:
39  std::unordered_map<uint16_t, std::pair<Entry, ADPCMParms>> m_entries;
40 public:
41  AudioGroupSampleDirectory(const unsigned char* data);
42 };
43 
44 }
45 
46 #endif // __AMUSE_AUDIOGROUPSAMPLEDIR_HPP__
+ + +
+ +
+
+ + + + diff --git a/_boo_backend_8hpp_source.html b/_boo_backend_8hpp_source.html new file mode 100644 index 0000000..52efeb0 --- /dev/null +++ b/_boo_backend_8hpp_source.html @@ -0,0 +1,134 @@ + + + + + + +Amuse: include/amuse/BooBackend.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
BooBackend.hpp
+
+
+
1 #ifndef __AMUSE_BOO_BACKEND_HPP__
2 #define __AMUSE_BOO_BACKEND_HPP__
3 
4 #include <boo/audiodev/IAudioVoiceEngine.hpp>
5 #include <boo/audiodev/IAudioSubmix.hpp>
6 #include "IBackendVoice.hpp"
7 #include "IBackendSubmix.hpp"
8 #include "IBackendVoiceAllocator.hpp"
9 
10 namespace amuse
11 {
12 
15 {
16  friend class BooBackendVoiceAllocator;
17  Voice& m_clientVox;
18  struct VoiceCallback : boo::IAudioVoiceCallback
19  {
20  BooBackendVoice& m_parent;
21  size_t supplyAudio(boo::IAudioVoice& voice, size_t frames, int16_t* data);
22  VoiceCallback(BooBackendVoice& parent) : m_parent(parent) {}
23  } m_cb;
24  std::unique_ptr<boo::IAudioVoice> m_booVoice;
25 public:
26  BooBackendVoice(boo::IAudioVoiceEngine& engine, Voice& clientVox,
27  double sampleRate, bool dynamicPitch);
28  BooBackendVoice(boo::IAudioSubmix& submix, Voice& clientVox,
29  double sampleRate, bool dynamicPitch);
30  void resetSampleRate(double sampleRate);
31  void setMatrixCoefficients(const float coefs[8]);
32  void setPitchRatio(double ratio, bool slew);
33  void start();
34  void stop();
35 };
36 
39 {
40  friend class BooBackendVoiceAllocator;
41  Submix& m_clientSmx;
42  struct SubmixCallback : boo::IAudioSubmixCallback
43  {
44  BooBackendSubmix& m_parent;
45  bool canApplyEffect() const;
46  void applyEffect(int16_t* audio, size_t frameCount,
47  const boo::ChannelMap& chanMap, double sampleRate) const;
48  void applyEffect(int32_t* audio, size_t frameCount,
49  const boo::ChannelMap& chanMap, double sampleRate) const;
50  void applyEffect(float* audio, size_t frameCount,
51  const boo::ChannelMap& chanMap, double sampleRate) const;
52  SubmixCallback(BooBackendSubmix& parent) : m_parent(parent) {}
53  } m_cb;
54  std::unique_ptr<boo::IAudioSubmix> m_booSubmix;
55 public:
56  BooBackendSubmix(boo::IAudioVoiceEngine& engine, Submix& clientSmx);
57  BooBackendSubmix(boo::IAudioSubmix& parent, Submix& clientSmx);
58  void setChannelGains(const float gains[8]);
59  std::unique_ptr<IBackendVoice> allocateVoice(Voice& clientVox, double sampleRate, bool dynamicPitch);
60  double getSampleRate() const;
61  SubmixFormat getSampleFormat() const;
62 };
63 
66 {
67  boo::IAudioVoiceEngine& m_booEngine;
68 public:
69  BooBackendVoiceAllocator(boo::IAudioVoiceEngine& booEngine);
70  std::unique_ptr<IBackendVoice> allocateVoice(Voice& clientVox, double sampleRate, bool dynamicPitch);
71  std::unique_ptr<IBackendSubmix> allocateSubmix(Submix& clientSmx);
72  AudioChannelSet getAvailableSet();
73  void pumpAndMixVoices();
74 };
75 
76 }
77 
78 #endif // __AMUSE_BOO_BACKEND_HPP__
void resetSampleRate(double sampleRate)
+ + + + + + +
void setMatrixCoefficients(const float coefs[8])
+ + +
void setPitchRatio(double ratio, bool slew)
+ + + +
+
+ + + + diff --git a/_common_8hpp_source.html b/_common_8hpp_source.html new file mode 100644 index 0000000..c8a723c --- /dev/null +++ b/_common_8hpp_source.html @@ -0,0 +1,121 @@ + + + + + + +Amuse: include/amuse/Common.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Common.hpp
+
+
+
1 #ifndef __AMUSE_COMMON_HPP__
2 #define __AMUSE_COMMON_HPP__
3 
4 #include <algorithm>
5 #include <limits.h>
6 
7 namespace amuse
8 {
9 
10 #ifndef PRISize
11 #ifdef _MSC_VER
12 #define PRISize "Iu"
13 #else
14 #define PRISize "zu"
15 #endif
16 #endif
17 
18 template <typename T>
19 static inline T clamp(T a, T val, T b) {return std::max<T>(a, std::min<T>(b, val));}
20 
21 template <typename T>
22 static inline T ClampFull(float in) {return in;}
23 
24 template <>
25 inline int16_t ClampFull<int16_t>(float in)
26 {
27  if (in < SHRT_MIN)
28  return SHRT_MIN;
29  else if (in > SHRT_MAX)
30  return SHRT_MAX;
31  return in;
32 }
33 
34 template <>
35 inline int32_t ClampFull<int32_t>(float in)
36 {
37  if (in < INT_MIN)
38  return INT_MIN;
39  else if (in > INT_MAX)
40  return INT_MAX;
41  return in;
42 }
43 
44 template <>
45 inline float ClampFull<float>(float in)
46 {
47  if (in < -1.f)
48  return -1.f;
49  else if (in > 1.f)
50  return 1.f;
51  return in;
52 }
53 
54 #ifndef M_PIF
55 #define M_PIF 3.14159265358979323846f /* pi */
56 #endif
57 
58 #undef bswap16
59 #undef bswap32
60 #undef bswap64
61 
62 /* Type-sensitive byte swappers */
63 template <typename T>
64 static inline T bswap16(T val)
65 {
66 #if __GNUC__
67  return __builtin_bswap16(val);
68 #elif _WIN32
69  return _byteswap_ushort(val);
70 #else
71  return (val = (val << 8) | ((val >> 8) & 0xFF));
72 #endif
73 }
74 
75 template <typename T>
76 static inline T bswap32(T val)
77 {
78 #if __GNUC__
79  return __builtin_bswap32(val);
80 #elif _WIN32
81  return _byteswap_ulong(val);
82 #else
83  val = (val & 0x0000FFFF) << 16 | (val & 0xFFFF0000) >> 16;
84  val = (val & 0x00FF00FF) << 8 | (val & 0xFF00FF00) >> 8;
85  return val;
86 #endif
87 }
88 
89 template <typename T>
90 static inline T bswap64(T val)
91 {
92 #if __GNUC__
93  return __builtin_bswap64(val);
94 #elif _WIN32
95  return _byteswap_uint64(val);
96 #else
97  return ((val & 0xFF00000000000000ULL) >> 56) |
98  ((val & 0x00FF000000000000ULL) >> 40) |
99  ((val & 0x0000FF0000000000ULL) >> 24) |
100  ((val & 0x000000FF00000000ULL) >> 8) |
101  ((val & 0x00000000FF000000ULL) << 8) |
102  ((val & 0x0000000000FF0000ULL) << 24) |
103  ((val & 0x000000000000FF00ULL) << 40) |
104  ((val & 0x00000000000000FFULL) << 56);
105 #endif
106 }
107 
108 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
109 static inline int16_t SBig(int16_t val) {return bswap16(val);}
110 static inline uint16_t SBig(uint16_t val) {return bswap16(val);}
111 static inline int32_t SBig(int32_t val) {return bswap32(val);}
112 static inline uint32_t SBig(uint32_t val) {return bswap32(val);}
113 static inline int64_t SBig(int64_t val) {return bswap64(val);}
114 static inline uint64_t SBig(uint64_t val) {return bswap64(val);}
115 static inline float SBig(float val)
116 {
117  int32_t ival = bswap32(*((int32_t*)(&val)));
118  return *((float*)(&ival));
119 }
120 static inline double SBig(double val)
121 {
122  int64_t ival = bswap64(*((int64_t*)(&val)));
123  return *((double*)(&ival));
124 }
125 #ifndef SBIG
126 #define SBIG(q) ( ( (q) & 0x000000FF ) << 24 | ( (q) & 0x0000FF00 ) << 8 \
127  | ( (q) & 0x00FF0000 ) >> 8 | ( (q) & 0xFF000000 ) >> 24 )
128 #endif
129 
130 static inline int16_t SLittle(int16_t val) {return val;}
131 static inline uint16_t SLittle(uint16_t val) {return val;}
132 static inline int32_t SLittle(int32_t val) {return val;}
133 static inline uint32_t SLittle(uint32_t val) {return val;}
134 static inline int64_t SLittle(int64_t val) {return val;}
135 static inline uint64_t SLittle(uint64_t val) {return val;}
136 static inline float SLittle(float val) {return val;}
137 static inline double SLittle(double val) {return val;}
138 #ifndef SLITTLE
139 #define SLITTLE(q) (q)
140 #endif
141 #else
142 static inline int16_t SLittle(int16_t val) {return bswap16(val);}
143 static inline uint16_t SLittle(uint16_t val) {return bswap16(val);}
144 static inline int32_t SLittle(int32_t val) {return bswap32(val);}
145 static inline uint32_t SLittle(uint32_t val) {return bswap32(val);}
146 static inline int64_t SLittle(int64_t val) {return bswap64(val);}
147 static inline uint64_t SLittle(uint64_t val) {return bswap64(val);}
148 static inline float SLittle(float val)
149 {
150  int32_t ival = bswap32(*((int32_t*)(&val)));
151  return *((float*)(&ival));
152 }
153 static inline double SLittle(double val)
154 {
155  int64_t ival = bswap64(*((int64_t*)(&val)));
156  return *((double*)(&ival));
157 }
158 #ifndef SLITTLE
159 #define SLITTLE(q) ( ( (q) & 0x000000FF ) << 24 | ( (q) & 0x0000FF00 ) << 8 \
160  | ( (q) & 0x00FF0000 ) >> 8 | ( (q) & 0xFF000000 ) >> 24 )
161 #endif
162 
163 static inline int16_t SBig(int16_t val) {return val;}
164 static inline uint16_t SBig(uint16_t val) {return val;}
165 static inline int32_t SBig(int32_t val) {return val;}
166 static inline uint32_t SBig(uint32_t val) {return val;}
167 static inline int64_t SBig(int64_t val) {return val;}
168 static inline uint64_t SBig(uint64_t val) {return val;}
169 static inline float SBig(float val) {return val;}
170 static inline double SBig(double val) {return val;}
171 #ifndef SBIG
172 #define SBIG(q) (q)
173 #endif
174 #endif
175 
176 }
177 
178 #endif // __AMUSE_COMMON_HPP__
+
+
+ + + + diff --git a/_effect_base_8hpp_source.html b/_effect_base_8hpp_source.html new file mode 100644 index 0000000..42d1867 --- /dev/null +++ b/_effect_base_8hpp_source.html @@ -0,0 +1,124 @@ + + + + + + +Amuse: include/amuse/EffectBase.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
EffectBase.hpp
+
+
+
1 #ifndef __AMUSE_EFFECTBASE_HPP__
2 #define __AMUSE_EFFECTBASE_HPP__
3 
4 #include <stdint.h>
5 #include <stdlib.h>
6 
7 namespace amuse
8 {
9 class ChannelMap;
10 
12 {
13 public:
14  virtual ~EffectBaseTypeless() = default;
15 };
16 
17 template <typename T>
19 {
20 public:
21  virtual void applyEffect(T* audio, size_t frameCount, const ChannelMap& chanMap)=0;
22 };
23 
24 }
25 
26 #endif // __AMUSE_EFFECTBASE_HPP__
+ + + +
+
+ + + + diff --git a/_effect_chorus_8hpp_source.html b/_effect_chorus_8hpp_source.html new file mode 100644 index 0000000..5912b1e --- /dev/null +++ b/_effect_chorus_8hpp_source.html @@ -0,0 +1,125 @@ + + + + + + +Amuse: include/amuse/EffectChorus.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
EffectChorus.hpp
+
+
+
1 #ifndef __AMUSE_EFFECTCHORUS_HPP__
2 #define __AMUSE_EFFECTCHORUS_HPP__
3 
4 #include "EffectBase.hpp"
5 #include "Common.hpp"
6 #include <stdint.h>
7 
8 namespace amuse
9 {
10 template <typename T>
12 
13 #define AMUSE_CHORUS_NUM_BLOCKS 3
14 
17 {
18  uint32_t x90_baseDelay;
19  uint32_t x94_variation;
20  uint32_t x98_period;
21  bool m_dirty = true;
23  template <typename T>
24  friend class EffectChorusImp;
25  EffectChorus(uint32_t baseDelay, uint32_t variation, uint32_t period);
26 public:
27  template <typename T>
29 
30  void setBaseDelay(uint32_t baseDelay)
31  {
32  baseDelay = clamp(5u, baseDelay, 15u);
33  x90_baseDelay = baseDelay;
34  m_dirty = true;
35  }
36 
37  void setVariation(uint32_t variation)
38  {
39  variation = clamp(0u, variation, 5u);
40  x94_variation = variation;
41  m_dirty = true;
42  }
43 
44  void setPeriod(uint32_t period)
45  {
46  period = clamp(500u, period, 10000u);
47  x98_period = period;
48  m_dirty = true;
49  }
50 };
51 
53 template <typename T>
54 class EffectChorusImp : public EffectBase<T>, public EffectChorus
55 {
56  T* x0_lastChans[8][AMUSE_CHORUS_NUM_BLOCKS];
58  uint8_t x24_currentLast = 1;
59  T x28_oldChans[8][4] = {};
61  uint32_t x58_currentPosLo = 0;
62  uint32_t x5c_currentPosHi = 0;
64  int32_t x60_pitchOffset;
65  uint32_t x64_pitchOffsetPeriodCount;
66  uint32_t x68_pitchOffsetPeriod;
68  struct SrcInfo
69  {
70  T* x6c_dest;
71  T* x70_smpBase;
72  T* x74_old;
73  uint32_t x78_posLo;
74  uint32_t x7c_posHi;
75  uint32_t x80_pitchLo;
76  uint32_t x84_pitchHi;
77  uint32_t x88_trigger;
78  uint32_t x8c_target = 0;
80  void doSrc1(size_t blockSamples, size_t chanCount);
81  void doSrc2(size_t blockSamples, size_t chanCount);
82  } x6c_src;
83 
84  uint32_t m_sampsPerMs;
85  uint32_t m_blockSamples;
87  void _update();
88 
89 public:
90  ~EffectChorusImp();
91  EffectChorusImp(uint32_t baseDelay, uint32_t variation, uint32_t period, double sampleRate);
92  void applyEffect(T* audio, size_t frameCount, const ChannelMap& chanMap);
93 };
94 
95 }
96 
97 #endif // __AMUSE_EFFECTCHORUS_HPP__
+ + + + +
+
+ + + + diff --git a/_effect_delay_8hpp_source.html b/_effect_delay_8hpp_source.html new file mode 100644 index 0000000..9d943a6 --- /dev/null +++ b/_effect_delay_8hpp_source.html @@ -0,0 +1,129 @@ + + + + + + +Amuse: include/amuse/EffectDelay.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
EffectDelay.hpp
+
+
+
1 #ifndef __AMUSE_EFFECTDELAY_HPP__
2 #define __AMUSE_EFFECTDELAY_HPP__
3 
4 #include "EffectBase.hpp"
5 #include "Common.hpp"
6 #include <stdint.h>
7 #include <memory>
8 
9 namespace amuse
10 {
11 template <typename T>
13 
16 {
17 protected:
18  uint32_t x3c_delay[8];
19  uint32_t x48_feedback[8];
20  uint32_t x54_output[8];
21  bool m_dirty = true;
22 public:
23  template <typename T>
24  using ImpType = EffectDelayImp<T>;
25 
26  void setDelay(uint32_t delay)
27  {
28  delay = clamp(10u, delay, 5000u);
29  for (int i=0 ; i<8 ; ++i)
30  x3c_delay[i] = delay;
31  m_dirty = true;
32  }
33  void setChanDelay(int chanIdx, uint32_t delay)
34  {
35  delay = clamp(10u, delay, 5000u);
36  x3c_delay[chanIdx] = delay;
37  m_dirty = true;
38  }
39 
40  void setFeedback(uint32_t feedback)
41  {
42  feedback = clamp(0u, feedback, 100u);
43  for (int i=0 ; i<8 ; ++i)
44  x48_feedback[i] = feedback;
45  m_dirty = true;
46  }
47 
48  void setChanFeedback(int chanIdx, uint32_t feedback)
49  {
50  feedback = clamp(0u, feedback, 100u);
51  x48_feedback[chanIdx] = feedback;
52  m_dirty = true;
53  }
54 
55  void setOutput(uint32_t output)
56  {
57  output = clamp(0u, output, 100u);
58  for (int i=0 ; i<8 ; ++i)
59  x54_output[i] = output;
60  m_dirty = true;
61  }
62  void setChanOutput(int chanIdx, uint32_t output)
63  {
64  output = clamp(0u, output, 100u);
65  x54_output[chanIdx] = output;
66  m_dirty = true;
67  }
68 };
69 
71 template <typename T>
72 class EffectDelayImp : public EffectBase<T>, public EffectDelay
73 {
74  uint32_t x0_currentSize[8];
75  uint32_t xc_currentPos[8];
76  uint32_t x18_currentFeedback[8];
77  uint32_t x24_currentOutput[8];
79  std::unique_ptr<T[]> x30_chanLines[8];
81  uint32_t m_sampsPerMs;
82  uint32_t m_blockSamples;
83  void _update();
84 public:
85  EffectDelayImp(uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput, double sampleRate);
86  void applyEffect(T* audio, size_t frameCount, const ChannelMap& chanMap);
87 };
88 
89 }
90 
91 #endif // __AMUSE_EFFECTDELAY_HPP__
+ +
uint32_t x48_feedback[8]
Definition: EffectDelay.hpp:19
+ + +
uint32_t x3c_delay[8]
Definition: EffectDelay.hpp:18
+ + +
uint32_t x54_output[8]
Definition: EffectDelay.hpp:20
+
+
+ + + + diff --git a/_effect_reverb_8hpp_source.html b/_effect_reverb_8hpp_source.html new file mode 100644 index 0000000..d35d468 --- /dev/null +++ b/_effect_reverb_8hpp_source.html @@ -0,0 +1,133 @@ + + + + + + +Amuse: include/amuse/EffectReverb.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
EffectReverb.hpp
+
+
+
1 #ifndef __AMUSE_EFFECTREVERB_HPP__
2 #define __AMUSE_EFFECTREVERB_HPP__
3 
4 #include "EffectBase.hpp"
5 #include "amuse/Common.hpp"
6 #include <memory>
7 
8 namespace amuse
9 {
10 
13 {
14  int32_t x0_inPoint = 0;
15  int32_t x4_outPoint = 0;
16  int32_t x8_length = 0;
17  std::unique_ptr<float[]> xc_inputs;
18  float x10_lastInput = 0.f;
19 
20  void allocate(int32_t delay);
21  void setdelay(int32_t delay);
22 };
23 
24 template <typename T>
26 
27 template <typename T>
29 
32 {
33 protected:
35  float x144_x1cc_mix;
39  bool m_dirty = true;
41  template <typename T>
42  friend class EffectReverbStdImp;
43  template <typename T>
44  friend class EffectReverbHiImp;
45  EffectReverbStd(float coloration, float mix, float time,
46  float damping, float preDelay);
47 public:
48  template <typename T>
50 
51  void setColoration(float coloration)
52  {
53  x140_x1c8_coloration = clamp(0.f, coloration, 1.f);
54  m_dirty = true;
55  }
56 
57  void setMix(float mix)
58  {
59  x144_x1cc_mix = clamp(0.f, mix, 1.f);
60  m_dirty = true;
61  }
62 
63  void setTime(float time)
64  {
65  x148_x1d0_time = clamp(0.01f, time, 10.f);
66  m_dirty = true;
67  }
68 
69  void setDamping(float damping)
70  {
71  x14c_x1d4_damping = clamp(0.f, damping, 1.f);
72  m_dirty = true;
73  }
74 
75  void setPreDelay(float preDelay)
76  {
77  x150_x1d8_preDelay = clamp(0.f, preDelay, 0.1f);
78  m_dirty = true;
79  }
80 };
81 
84 {
85  float x1dc_crosstalk;
87  template <typename T>
88  friend class EffectReverbHiImp;
89  EffectReverbHi(float coloration, float mix, float time,
90  float damping, float preDelay, float crosstalk);
91 public:
92  template <typename T>
94 
95  void setCrosstalk(float crosstalk)
96  {
97  x1dc_crosstalk = clamp(0.f, crosstalk, 1.f);
98  m_dirty = true;
99  }
100 };
101 
103 template <typename T>
104 class EffectReverbStdImp : public EffectBase<T>, public EffectReverbStd
105 {
106  ReverbDelayLine x0_AP[8][2] = {};
107  ReverbDelayLine x78_C[8][2] = {};
108  float xf0_allPassCoef = 0.f;
109  float xf4_combCoef[8][2] = {};
110  float x10c_lpLastout[8] = {};
111  float x118_level = 0.f;
112  float x11c_damping = 0.f;
113  int32_t x120_preDelayTime = 0;
114  std::unique_ptr<float[]> x124_preDelayLine[8];
115  float* x130_preDelayPtr[8] = {};
117  double m_sampleRate;
118  void _update();
119 public:
120  EffectReverbStdImp(float coloration, float mix, float time,
121  float damping, float preDelay, double sampleRate);
122  void applyEffect(T* audio, size_t frameCount, const ChannelMap& chanMap);
123 };
124 
126 template <typename T>
127 class EffectReverbHiImp : public EffectBase<T>, public EffectReverbHi
128 {
129  ReverbDelayLine x0_AP[8][2] = {};
130  ReverbDelayLine x78_LP[8] = {};
131  ReverbDelayLine xb4_C[8][3] = {};
132  float x168_allPassCoef = 0.f;
133  float x16c_combCoef[8][3] = {};
134  float x190_lpLastout[8] = {};
135  float x19c_level = 0.f;
136  float x1a0_damping = 0.f;
137  int32_t x1a4_preDelayTime = 0;
138  std::unique_ptr<float[]> x1ac_preDelayLine[8];
139  float* x1b8_preDelayPtr[8] = {};
140  float x1a8_internalCrosstalk;
141 
142  double m_sampleRate;
143  void _update();
144  void _handleReverb(T* audio, int chanIdx, int chanCount, int sampleCount);
145  void _doCrosstalk(T* audio, float wet, float dry, int chanCount, int sampleCount);
146 public:
147  EffectReverbHiImp(float coloration, float mix, float time,
148  float damping, float preDelay, float crosstalk, double sampleRate);
149  void applyEffect(T* audio, size_t frameCount, const ChannelMap& chanMap);
150 };
151 
152 }
153 
154 #endif // __AMUSE_EFFECTREVERB_HPP__
+ + + + + + + + + + + + +
+
+ + + + diff --git a/_emitter_8hpp_source.html b/_emitter_8hpp_source.html new file mode 100644 index 0000000..7169795 --- /dev/null +++ b/_emitter_8hpp_source.html @@ -0,0 +1,125 @@ + + + + + + +Amuse: include/amuse/Emitter.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Emitter.hpp
+
+
+
1 #ifndef __AMUSE_EMITTER_HPP__
2 #define __AMUSE_EMITTER_HPP__
3 
4 #include "Entity.hpp"
5 #include <memory>
6 
7 namespace amuse
8 {
9 class Voice;
10 
11 using Vector3f = float[3];
12 
14 class Emitter : public Entity
15 {
16  std::shared_ptr<Voice> m_vox;
17 
18  friend class Engine;
19  void _destroy();
20 public:
21  ~Emitter();
22  Emitter(Engine& engine, const AudioGroup& group, std::shared_ptr<Voice>&& vox);
23 
24  void setPos(const Vector3f& pos);
25  void setDir(const Vector3f& dir);
26  void setMaxDist(float maxDist);
27  void setMaxVol(float maxVol);
28  void setMinVol(float minVol);
29  void setFalloff(float falloff);
30 
31  std::shared_ptr<Voice>& getVoice() {return m_vox;}
32 };
33 
34 }
35 
36 #endif // __AMUSE_EMITTER_HPP__
+ + + + +
+
+ + + + diff --git a/_engine_8hpp_source.html b/_engine_8hpp_source.html new file mode 100644 index 0000000..647e21b --- /dev/null +++ b/_engine_8hpp_source.html @@ -0,0 +1,142 @@ + + + + + + +Amuse: include/amuse/Engine.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Engine.hpp
+
+
+
1 #ifndef __AMUSE_ENGINE_HPP__
2 #define __AMUSE_ENGINE_HPP__
3 
4 #include <memory>
5 #include <list>
6 #include <random>
7 #include <unordered_map>
8 #include <unordered_set>
9 #include "Emitter.hpp"
10 #include "AudioGroupSampleDirectory.hpp"
11 #include "Sequencer.hpp"
12 
13 namespace amuse
14 {
15 class IBackendVoiceAllocator;
16 class Voice;
17 class Submix;
18 class Emitter;
19 class AudioGroup;
20 class AudioGroupData;
21 
23 class Engine
24 {
25  friend class Voice;
26  friend class Emitter;
27  friend class Sequencer;
28  friend class Sequencer::ChannelState;
29 
30  IBackendVoiceAllocator& m_backend;
31  std::unordered_map<const AudioGroupData*, std::unique_ptr<AudioGroup>> m_audioGroups;
32  std::list<std::shared_ptr<Voice>> m_activeVoices;
33  std::list<std::shared_ptr<Emitter>> m_activeEmitters;
34  std::list<std::shared_ptr<Sequencer>> m_activeSequencers;
35  std::list<Submix> m_activeSubmixes;
36  std::unordered_map<uint16_t, std::tuple<AudioGroup*, int, const SFXGroupIndex::SFXEntry*>> m_sfxLookup;
37  std::linear_congruential_engine<uint32_t, 0x41c64e6d, 0x3039, UINT32_MAX> m_random;
38  int m_nextVid = 0;
39 
40  std::pair<AudioGroup*, const SongGroupIndex*> _findSongGroup(int groupId) const;
41  std::pair<AudioGroup*, const SFXGroupIndex*> _findSFXGroup(int groupId) const;
42 
43  std::shared_ptr<Voice> _allocateVoice(const AudioGroup& group, int groupId, double sampleRate,
44  bool dynamicPitch, bool emitter, Submix* smx);
45  std::shared_ptr<Sequencer> _allocateSequencer(const AudioGroup& group, int groupId,
46  int setupId, Submix* smx);
47  Submix* _allocateSubmix(Submix* smx);
48  std::list<std::shared_ptr<Voice>>::iterator _destroyVoice(Voice* voice);
49  std::list<std::shared_ptr<Sequencer>>::iterator _destroySequencer(Sequencer* sequencer);
50  std::list<Submix>::iterator _destroySubmix(Submix* smx);
51  std::list<Submix>::iterator _removeSubmix(Submix* smx);
52  void _bringOutYourDead();
53 public:
54  ~Engine();
56 
58  IBackendVoiceAllocator& getBackend() {return m_backend;}
59 
61  void pumpEngine(double dt);
62 
64  const AudioGroup* addAudioGroup(const AudioGroupData& data);
65 
67  void removeAudioGroup(const AudioGroupData& data);
68 
70  Submix* addSubmix(Submix* parent=nullptr);
71 
73  void removeSubmix(Submix* smx);
74 
76  std::shared_ptr<Voice> fxStart(int sfxId, float vol, float pan, Submix* smx=nullptr);
77 
79  std::shared_ptr<Emitter> addEmitter(const Vector3f& pos, const Vector3f& dir, float maxDist,
80  float falloff, int sfxId, float minVol, float maxVol,
81  Submix* smx=nullptr);
82 
84  std::shared_ptr<Sequencer> seqPlay(int groupId, int songId, const unsigned char* arrData,
85  Submix* smx=nullptr);
86 
88  std::shared_ptr<Voice> findVoice(int vid);
89 
91  void killKeygroup(uint8_t kg, bool now);
92 
94  void sendMacroMessage(ObjectId macroId, int32_t val);
95 
97  uint32_t nextRandom() {return m_random();}
98 };
99 
100 }
101 
102 #endif // __AMUSE_ENGINE_HPP__
const AudioGroup * addAudioGroup(const AudioGroupData &data)
+ +
void killKeygroup(uint8_t kg, bool now)
+
uint32_t nextRandom()
Definition: Engine.hpp:97
+
std::shared_ptr< Voice > fxStart(int sfxId, float vol, float pan, Submix *smx=nullptr)
+
Submix * addSubmix(Submix *parent=nullptr)
+
void pumpEngine(double dt)
+ + +
void sendMacroMessage(ObjectId macroId, int32_t val)
+ + + + +
std::shared_ptr< Sequencer > seqPlay(int groupId, int songId, const unsigned char *arrData, Submix *smx=nullptr)
+
std::shared_ptr< Emitter > addEmitter(const Vector3f &pos, const Vector3f &dir, float maxDist, float falloff, int sfxId, float minVol, float maxVol, Submix *smx=nullptr)
+ +
void removeAudioGroup(const AudioGroupData &data)
+
IBackendVoiceAllocator & getBackend()
Definition: Engine.hpp:58
+ +
std::shared_ptr< Voice > findVoice(int vid)
+
void removeSubmix(Submix *smx)
+
+
+ + + + diff --git a/_entity_8hpp_source.html b/_entity_8hpp_source.html new file mode 100644 index 0000000..03dcfec --- /dev/null +++ b/_entity_8hpp_source.html @@ -0,0 +1,125 @@ + + + + + + +Amuse: include/amuse/Entity.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Entity.hpp
+
+
+
1 #ifndef __AMUSE_ENTITY_HPP__
2 #define __AMUSE_ENTITY_HPP__
3 
4 #include <stdint.h>
5 #include <functional>
6 #include <assert.h>
7 
8 namespace amuse
9 {
10 class Engine;
11 class AudioGroup;
12 
15 using ObjectId = uint16_t;
16 
18 class Entity
19 {
20  /* Only the Engine will manage Entity lifetimes,
21  * but shared_ptrs are issued to the client so it can safely track state */
22  friend class Engine;
23  friend class SoundMacroState;
24 protected:
25  bool m_destroyed = false;
26  void _destroy()
27  {
28 #ifndef NDEBUG
29  assert(!m_destroyed);
30 #endif
31  m_destroyed = true;
32  }
33  Engine& m_engine;
34  const AudioGroup& m_audioGroup;
35  int m_groupId;
36  ObjectId m_objectId = 0xffff; /* if applicable */
37 public:
38  Entity(Engine& engine, const AudioGroup& group, int groupId, ObjectId oid=ObjectId())
39  : m_engine(engine), m_audioGroup(group), m_groupId(groupId), m_objectId(oid) {}
40  ~Entity()
41  {
42 #ifndef NDEBUG
43  /* Ensure proper destruction procedure followed */
44  assert(m_destroyed);
45 #endif
46  }
47 
48  Engine& getEngine() {return m_engine;}
49  const AudioGroup& getAudioGroup() const {return m_audioGroup;}
50  int getGroupId() const {return m_groupId;}
51  ObjectId getObjectId() const {return m_objectId;}
52 };
53 
56 using Curve = uint8_t[128];
57 
58 }
59 
60 #endif // __AMUSE_ENTITY_HPP__
+ + + + +
+
+ + + + diff --git a/_envelope_8hpp_source.html b/_envelope_8hpp_source.html new file mode 100644 index 0000000..41df45f --- /dev/null +++ b/_envelope_8hpp_source.html @@ -0,0 +1,124 @@ + + + + + + +Amuse: include/amuse/Envelope.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Envelope.hpp
+
+
+
1 #ifndef __AMUSE_ENVELOPE_HPP__
2 #define __AMUSE_ENVELOPE_HPP__
3 
4 #include "AudioGroupPool.hpp"
5 
6 namespace amuse
7 {
8 
10 class Envelope
11 {
12 public:
13  enum class State
14  {
15  Attack,
16  Decay,
17  Sustain,
18  Release,
19  Complete
20  };
21 private:
22  State m_phase = State::Attack;
23  double m_attackTime = 0.0;
24  double m_decayTime = 0.0;
25  double m_sustainFactor = 1.0;
26  double m_releaseTime = 0.0;
27  double m_releaseStartFactor;
28  double m_curTime;
29 public:
30  void reset(const ADSR* adsr);
31  void reset(const ADSRDLS* adsr, int8_t note, int8_t vel);
32  void keyOff();
33  float nextSample(double sampleRate);
34  bool isComplete() const {return m_phase == State::Complete;}
35 };
36 
37 }
38 
39 #endif // __AMUSE_ENVELOPE_HPP__
+ + + +
+
+ + + + diff --git a/_i_backend_submix_8hpp_source.html b/_i_backend_submix_8hpp_source.html new file mode 100644 index 0000000..15eccbd --- /dev/null +++ b/_i_backend_submix_8hpp_source.html @@ -0,0 +1,123 @@ + + + + + + +Amuse: include/amuse/IBackendSubmix.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IBackendSubmix.hpp
+
+
+
1 #ifndef __AMUSE_IBACKENDSUBMIX_HPP__
2 #define __AMUSE_IBACKENDSUBMIX_HPP__
3 
4 #include <memory>
5 
6 namespace amuse
7 {
8 class IBackendVoice;
9 class Voice;
10 
11 enum class SubmixFormat
12 {
13  Int16,
14  Int32,
15  Float
16 };
17 
20 {
21 public:
22  virtual ~IBackendSubmix() = default;
23 
25  virtual void setChannelGains(const float gains[8])=0;
26 
28  virtual std::unique_ptr<IBackendVoice> allocateVoice(Voice& clientVox, double sampleRate, bool dynamicPitch)=0;
29 
31  virtual double getSampleRate() const=0;
32 
34  virtual SubmixFormat getSampleFormat() const=0;
35 };
36 
37 }
38 
39 #endif // __AMUSE_IBACKENDSUBMIX_HPP__
+ + +
+
+ + + + diff --git a/_i_backend_voice_8hpp_source.html b/_i_backend_voice_8hpp_source.html new file mode 100644 index 0000000..b83f080 --- /dev/null +++ b/_i_backend_voice_8hpp_source.html @@ -0,0 +1,123 @@ + + + + + + +Amuse: include/amuse/IBackendVoice.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IBackendVoice.hpp
+
+
+
1 #ifndef __AMUSE_IBACKENDVOICE_HPP__
2 #define __AMUSE_IBACKENDVOICE_HPP__
3 
4 namespace amuse
5 {
6 
8 enum class AudioChannel
9 {
10  FrontLeft,
11  FrontRight,
12  RearLeft,
13  RearRight,
14  FrontCenter,
15  LFE,
16  SideLeft,
17  SideRight,
18  Unknown = 0xff
19 };
20 
22 struct ChannelMap
23 {
24  unsigned m_channelCount = 0;
25  AudioChannel m_channels[8] = {};
26 };
27 
30 {
31 public:
32  virtual ~IBackendVoice() = default;
33 
35  virtual void resetSampleRate(double sampleRate)=0;
36 
38  virtual void setMatrixCoefficients(const float coefs[8])=0;
39 
41  virtual void setPitchRatio(double ratio, bool slew)=0;
42 
44  virtual void start()=0;
45 
47  virtual void stop()=0;
48 };
49 
50 }
51 
52 #endif // __AMUSE_IBACKENDVOICE_HPP__
+ + +
+
+ + + + diff --git a/_i_backend_voice_allocator_8hpp_source.html b/_i_backend_voice_allocator_8hpp_source.html new file mode 100644 index 0000000..33ae8a8 --- /dev/null +++ b/_i_backend_voice_allocator_8hpp_source.html @@ -0,0 +1,124 @@ + + + + + + +Amuse: include/amuse/IBackendVoiceAllocator.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IBackendVoiceAllocator.hpp
+
+
+
1 #ifndef __AMUSE_IBACKENDVOICEALLOCATOR_HPP__
2 #define __AMUSE_IBACKENDVOICEALLOCATOR_HPP__
3 
4 #include <memory>
5 
6 namespace amuse
7 {
8 class IBackendVoice;
9 class IBackendSubmix;
10 class Voice;
11 class Submix;
12 
14 enum class AudioChannelSet
15 {
16  Stereo,
17  Quad,
18  Surround51,
19  Surround71,
20  Unknown = 0xff
21 };
22 
25 {
26 public:
27  virtual ~IBackendVoiceAllocator() = default;
28 
30  virtual std::unique_ptr<IBackendVoice> allocateVoice(Voice& clientVox,
31  double sampleRate,
32  bool dynamicPitch)=0;
33 
35  virtual std::unique_ptr<IBackendSubmix> allocateSubmix(Submix& clientSmx)=0;
36 
38  virtual AudioChannelSet getAvailableSet()=0;
39 
41  virtual void pumpAndMixVoices()=0;
42 };
43 
44 }
45 
46 #endif // __AMUSE_IBACKENDVOICEALLOCATOR_HPP__
+ + + +
+
+ + + + diff --git a/_listener_8hpp_source.html b/_listener_8hpp_source.html new file mode 100644 index 0000000..7b7ef46 --- /dev/null +++ b/_listener_8hpp_source.html @@ -0,0 +1,123 @@ + + + + + + +Amuse: include/amuse/Listener.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Listener.hpp
+
+
+
1 #ifndef __AMUSE_LISTENER_HPP__
2 #define __AMUSE_LISTENER_HPP__
3 
4 #include "Entity.hpp"
5 
6 namespace amuse
7 {
8 
9 class Listener : public Entity
10 {
11 };
12 
13 }
14 
15 #endif // __AMUSE_LISTENER_HPP__
+ + +
+
+ + + + diff --git a/_r_e_a_d_m_e_8md_source.html b/_r_e_a_d_m_e_8md_source.html new file mode 100644 index 0000000..7e44c92 --- /dev/null +++ b/_r_e_a_d_m_e_8md_source.html @@ -0,0 +1,120 @@ + + + + + + +Amuse: README.md Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
README.md
+
+
+
1 ### Amuse {#mainpage}
2 
3 **Amuse** is a real-time MIDI and SFX sequencer, with basic effects,
4 3D positional audio and surround-output capabilities.
5 
6 The project is designed for compatibility with Audio Groups and Song data
7 found in PC/N64/GCN/GBA games using the *MusyX* audio engine; providing an
8 alternate runtime library to use for sequencing these games' audio libraries.
9 
10 #### Library
11 
12 The Amuse API exposes full interactivity between a client application
13 (game engine) and the sequencer engine. Unlike the interrupt-driven nature
14 of the original console implementations (where the audio chip 'requests' more
15 audio as needed), Amuse is entirely synchronous. This means the client must
16 periodically *pump* the audio engine (typically once per video frame) to keep
17 the OS' audio system fed.
18 
19 The client must provide the implementation for allocating and mixing audio
20 voices, since this may drastically differ from target to target.
21 `amuse::IBackendVoiceAllocator` is the pure-virtual interface to implement
22 for this. Alternatively, if [Boo](https://github.com/AxioDL/boo) is present
23 in the CMake project tree, Amuse will be compiled with a backend supporting
24 multiple popular low-level audio APIs. Windows, OS X, and Linux all have
25 excellent support this way.
26 
27 Here's an example usage:
28 
29 ```cpp
30 #include <amuse/amuse.hpp>
31 #include "MyVoiceAllocator.hpp"
32 #include "MyAudioGroupLoader.hpp"
33 
34 int main(int argc, char* argv[])
35 {
36  /* Up to the client to implement voice allocation and mixing */
37  std::unique_ptr<amuse::IBackendVoiceAllocator> voxAlloc = MakeMyVoiceAllocator();
38 
39  /* Application just needs one per audio output (not per channel) */
40  amuse::Engine snd(*voxAlloc);
41 
42  /* An 'AudioGroup' is an atomically-loadable unit within Amuse.
43  * A client-assigned integer serves as the handle to the group once loaded
44  */
45  amuse::IntrusiveAudioGroupData data = LoadMyAudioGroup();
46  snd.addAudioGroup(data);
47 
48  /* Starting a SoundMacro playing is accomplished like so: */
49  int sfxId = 0x1337;
50  float vol = 1.0f;
51  float pan = 0.0f;
52  std::shared_ptr<Voice> voice = snd.fxStart(sfxId, vol, pan);
53 
54  /* Play for ~5 sec */
55  int passedFrames = 0;
56  while (passedFrames < 300)
57  {
58  snd.pumpEngine();
59  ++passedFrames;
60  WaitForVSync();
61  }
62 
63  /* Stopping a SoundMacro is accomplished by sending a
64  * MIDI-style 'KeyOff' message for the voice
65  */
66  voice->keyOff();
67 
68  /* Play for 2 more seconds to allow the macro to gracefully fade-out */
69  passedFrames = 0;
70  while (passedFrames < 120)
71  {
72  snd.pumpEngine();
73  ++passedFrames;
74  WaitForVSync();
75  }
76 
77  /* Clean up and exit */
78  return 0;
79 }
80 ```
81 
82 #### Tool
83 
84 In addition to the library, a command-line tool for performing various pipeline
85 tasks is provided. Compilers for audio groups and song data, as well as basic
86 playback functionality is available via the tool.
+
+ + + + diff --git a/_sequencer_8hpp_source.html b/_sequencer_8hpp_source.html new file mode 100644 index 0000000..68d286a --- /dev/null +++ b/_sequencer_8hpp_source.html @@ -0,0 +1,133 @@ + + + + + + +Amuse: include/amuse/Sequencer.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sequencer.hpp
+
+
+
1 #ifndef __AMUSE_SEQUENCER_HPP__
2 #define __AMUSE_SEQUENCER_HPP__
3 
4 #include "Entity.hpp"
5 #include "AudioGroupProject.hpp"
6 #include "SongState.hpp"
7 #include "optional.hpp"
8 #include <unordered_map>
9 #include <unordered_set>
10 #include <memory>
11 #include <list>
12 
13 namespace amuse
14 {
15 class Submix;
16 class Voice;
17 
19 enum class SequencerState
20 {
21  Playing,
22  Interactive,
23  Dead
24 };
25 
27 class Sequencer : public Entity
28 {
29  friend class Engine;
30  const SongGroupIndex& m_songGroup;
31  const SongGroupIndex::MIDISetup* m_midiSetup = nullptr;
32  Submix* m_submix = nullptr;
33  std::list<std::shared_ptr<Sequencer>>::iterator m_engineIt;
35  const unsigned char* m_arrData = nullptr;
36  SongState m_songState;
37  double m_ticksPerSec = 1000.0;
38  SequencerState m_state = SequencerState::Interactive;
39  bool m_dieOnEnd = false;
41  float m_curVol = 1.f;
44  struct ChannelState
45  {
46  Sequencer& m_parent;
47  uint8_t m_chanId;
48  const SongGroupIndex::MIDISetup& m_setup;
49  const SongGroupIndex::PageEntry* m_page = nullptr;
50  Submix* m_submix = nullptr;
51  ~ChannelState();
52  ChannelState(Sequencer& parent, uint8_t chanId);
53 
55  std::unordered_map<uint8_t, std::shared_ptr<Voice>> m_chanVoxs;
56  std::unordered_set<std::shared_ptr<Voice>> m_keyoffVoxs;
57  int8_t m_ctrlVals[128];
58  float m_curPitchWheel = 0.f;
59  int8_t m_curProgram = 0;
60  float m_curVol = 1.f;
61  float m_curPan = 0.f;
63  void _bringOutYourDead();
64  size_t getVoiceCount() const;
65  std::shared_ptr<Voice> keyOn(uint8_t note, uint8_t velocity);
66  void keyOff(uint8_t note, uint8_t velocity);
67  void setCtrlValue(uint8_t ctrl, int8_t val);
68  bool programChange(int8_t prog);
69  void nextProgram();
70  void prevProgram();
71  void setPitchWheel(float pitchWheel);
72  void setVolume(float vol);
73  void setPan(float pan);
74  void allOff();
75  void killKeygroup(uint8_t kg, bool now);
76  std::shared_ptr<Voice> findVoice(int vid);
77  void sendMacroMessage(ObjectId macroId, int32_t val);
78  };
79  std::array<std::experimental::optional<ChannelState>, 16> m_chanStates;
81  void _bringOutYourDead();
82  void _destroy();
83 public:
84  ~Sequencer();
85  Sequencer(Engine& engine, const AudioGroup& group, int groupId,
86  const SongGroupIndex& songGroup, int setupId, Submix* smx);
87 
89  void advance(double dt);
90 
92  Submix* getSubmix() {return m_submix;}
93 
95  SequencerState state() const {return m_state;}
96 
98  size_t getVoiceCount() const;
99 
101  std::shared_ptr<Voice> keyOn(uint8_t chan, uint8_t note, uint8_t velocity);
102 
104  void keyOff(uint8_t chan, uint8_t note, uint8_t velocity);
105 
107  void setCtrlValue(uint8_t chan, uint8_t ctrl, int8_t val);
108 
110  void setPitchWheel(uint8_t chan, float pitchWheel);
111 
113  void allOff(bool now=false);
114 
116  void killKeygroup(uint8_t kg, bool now);
117 
119  std::shared_ptr<Voice> findVoice(int vid);
120 
122  void sendMacroMessage(ObjectId macroId, int32_t val);
123 
125  void setTempo(double ticksPerSec);
126 
128  void playSong(const unsigned char* arrData, bool dieOnEnd=true);
129 
131  void setVolume(float vol);
132 
134  int8_t getChanProgram(int8_t chanId) const;
135 
137  bool setChanProgram(int8_t chanId, int8_t prog);
138 
140  void nextChanProgram(int8_t chanId);
141 
143  void prevChanProgram(int8_t chanId);
144 
146  void kill() {m_state = SequencerState::Dead;}
147 };
148 
149 }
150 
151 #endif // __AMUSE_SEQUENCER_HPP__
+
Submix * getSubmix()
Definition: Sequencer.hpp:92
+ + + + + +
+ + + +
SequencerState state() const
Definition: Sequencer.hpp:95
+ +
+
+ + + + diff --git a/_song_state_8hpp_source.html b/_song_state_8hpp_source.html new file mode 100644 index 0000000..29c20bc --- /dev/null +++ b/_song_state_8hpp_source.html @@ -0,0 +1,125 @@ + + + + + + +Amuse: include/amuse/SongState.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SongState.hpp
+
+
+
1 #ifndef __AMUSE_SONGSTATE_HPP__
2 #define __AMUSE_SONGSTATE_HPP__
3 
4 #include <stdint.h>
5 #include <vector>
6 #include <list>
7 #include "optional.hpp"
8 #include "Entity.hpp"
9 
10 namespace amuse
11 {
12 class Sequencer;
13 
14 enum class SongPlayState
15 {
16  Stopped,
17  Playing
18 };
19 
21 class SongState
22 {
23  friend class Voice;
24 
26  struct Header
27  {
28  uint32_t m_version;
29  uint32_t m_chanIdxOff;
30  uint32_t m_chanMapOff;
31  uint32_t m_tempoTableOff;
32  uint32_t m_initialTempo;
33  uint32_t m_unkOff;
34  uint32_t m_chanOffs[64];
35  void swapBig();
36  } m_header;
37 
39  struct ChanHeader
40  {
41  uint32_t m_startTick;
42  uint16_t m_unk1;
43  uint16_t m_unk2;
44  uint16_t m_dataIndex;
45  uint16_t m_unk3;
46  uint32_t m_startTick2;
47  uint16_t m_unk4;
48  uint16_t m_unk5;
49  uint16_t m_unk6;
50  uint16_t m_unk7;
51  void swapBig();
52  };
53 
55  struct TempoChange
56  {
57  uint32_t m_tick;
58  uint32_t m_tempo;
59  void swapBig();
60  };
61 
63  struct Channel
64  {
65  struct Header
66  {
67  uint32_t m_type;
68  uint32_t m_pitchOff;
69  uint32_t m_modOff;
70  void swapBig();
71  };
72 
73  SongState& m_parent;
74  uint8_t m_midiChan;
75  uint32_t m_startTick;
77  const unsigned char* m_dataBase;
78  const unsigned char* m_data;
79  const unsigned char* m_pitchWheelData = nullptr;
80  const unsigned char* m_modWheelData = nullptr;
81  uint32_t m_lastPitchTick = 0;
82  int32_t m_lastPitchVal = 0;
83  uint32_t m_lastModTick = 0;
84  int32_t m_lastModVal = 0;
85  std::array<uint16_t, 128> m_remNoteLengths = {};
87  int32_t m_waitCountdown = 0;
89  Channel(SongState& parent, uint8_t midiChan, uint32_t startTick,
90  const unsigned char* song, const unsigned char* chan);
91  bool advance(Sequencer& seq, int32_t ticks);
92  };
93  std::array<std::experimental::optional<Channel>, 64> m_channels;
94 
96  const TempoChange* m_tempoPtr = nullptr;
97  uint32_t m_tempo = 120;
99  uint32_t m_curTick = 0;
100  SongPlayState m_songState = SongPlayState::Playing;
101  double m_curDt = 0.f;
103 public:
105  void initialize(const unsigned char* ptr);
106 
110  bool advance(Sequencer& seq, double dt);
111 };
112 
113 }
114 
115 #endif // __AMUSE_SONGSTATE_HPP__
+ + + + +
+
+ + + + diff --git a/_sound_macro_state_8hpp_source.html b/_sound_macro_state_8hpp_source.html new file mode 100644 index 0000000..0db55f7 --- /dev/null +++ b/_sound_macro_state_8hpp_source.html @@ -0,0 +1,129 @@ + + + + + + +Amuse: include/amuse/SoundMacroState.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SoundMacroState.hpp
+
+
+
1 #ifndef __AMUSE_SOUNDMACROSTATE_HPP__
2 #define __AMUSE_SOUNDMACROSTATE_HPP__
3 
4 #include <stdint.h>
5 #include <vector>
6 #include <list>
7 #include "Entity.hpp"
8 
9 namespace amuse
10 {
11 class Voice;
12 
15 {
16  friend class Voice;
17 
19  struct Header
20  {
21  uint32_t m_size;
22  ObjectId m_macroId;
23  uint8_t m_volume;
24  uint8_t m_pan;
25  void swapBig();
26  } m_header;
27 
29  enum class Op : uint8_t
30  {
31  End,
32  Stop,
33  SplitKey,
34  SplitVel,
35  WaitTicks,
36  Loop,
37  Goto,
38  WaitMs,
39  PlayMacro,
40  SendKeyOff,
41  SplitMod,
42  PianoPan,
43  SetAdsr,
44  ScaleVolume,
45  Panning,
46  Envelope,
47  StartSample,
48  StopSample,
49  KeyOff,
50  SplitRnd,
51  FadeIn,
52  Spanning,
53  SetAdsrCtrl,
54  RndNote,
55  AddNote,
56  SetNote,
57  LastNote,
58  Portamento,
59  Vibrato,
60  PitchSweep1,
61  PitchSweep2,
62  SetPitch,
63  SetPitchAdsr,
64  ScaleVolumeDLS,
65  Mod2Vibrange,
66  SetupTremolo,
67  Return,
68  GoSub,
69  TrapEvent = 0x28,
70  UntrapEvent,
71  SendMessage,
72  GetMessage,
73  GetVid,
74  AddAgeCount = 0x30,
75  SetAgeCount,
76  SendFlag,
77  PitchWheelR,
78  SetPriority,
79  AddPriority,
80  AgeCntSpeed,
81  AgeCntVel,
82  VolSelect = 0x40,
83  PanSelect,
84  PitchWheelSelect,
85  ModWheelSelect,
86  PedalSelect,
87  PortamentoSelect,
88  ReverbSelect,
89  SpanSelect,
90  DopplerSelect,
91  TremoloSelect,
92  PreASelect,
93  PreBSelect,
94  PostBSelect,
95  AuxAFXSelect,
96  AuxBFXSelect,
97  SetupLFO = 0x50,
98  ModeSelect = 0x58,
99  SetKeygroup,
100  SRCmodeSelect,
101  AddVars = 0x60,
102  SubVars,
103  MulVars,
104  DivVars,
105  AddIVars,
106  IfEqual = 0x70,
107  IfLess,
108  };
109 
111  struct Command
112  {
113  Op m_op;
114  char m_data[7];
115  void swapBig();
116  };
117 
119  std::vector<std::pair<const unsigned char*, int>> m_pc;
120 
121  double m_ticksPerSec;
122  uint8_t m_initVel;
123  uint8_t m_initMod;
124  uint8_t m_initKey;
125  uint8_t m_curVel;
126  uint8_t m_curMod;
127  uint32_t m_curPitch;
129  double m_execTime;
130  bool m_keyoff;
131  bool m_sampleEnd;
133  bool m_inWait = false;
134  bool m_indefiniteWait = false;
135  bool m_keyoffWait = false;
136  bool m_sampleEndWait = false;
137  double m_waitCountdown;
139  int m_loopCountdown = -1;
140  int m_lastPlayMacroVid = -1;
142  bool m_useAdsrControllers;
143  uint8_t m_midiAttack;
144  uint8_t m_midiDecay;
145  uint8_t m_midiSustain;
146  uint8_t m_midiRelease;
148  uint8_t m_portamentoMode;
149  uint8_t m_portamentoType;
150  float m_portamentoTime;
153  struct Evaluator
154  {
155  enum class Combine : uint8_t
156  {
157  Set,
158  Add,
159  Mult
160  };
161  enum class VarType : uint8_t
162  {
163  Ctrl,
164  Var
165  };
166 
168  struct Component
169  {
170  uint8_t m_midiCtrl;
171  float m_scale;
172  Combine m_combine;
173  VarType m_varType;
174 
175  Component(uint8_t midiCtrl, float scale, Combine combine, VarType varType)
176  : m_midiCtrl(midiCtrl), m_scale(scale), m_combine(combine), m_varType(varType) {}
177  };
178  std::vector<Component> m_comps;
181  void addComponent(uint8_t midiCtrl, float scale,
182  Combine combine, VarType varType);
183 
185  float evaluate(const Voice& vox, const SoundMacroState& st) const;
186 
188  operator bool() const {return m_comps.size() != 0;}
189  };
190 
191  Evaluator m_volumeSel;
192  Evaluator m_panSel;
193  Evaluator m_pitchWheelSel;
194  Evaluator m_modWheelSel;
195  Evaluator m_pedalSel;
196  Evaluator m_portamentoSel;
197  Evaluator m_reverbSel;
198  Evaluator m_preAuxASel;
199  Evaluator m_preAuxBSel;
200  Evaluator m_auxAFxSel;
201  Evaluator m_auxBFxSel;
202  Evaluator m_postAuxB;
203  Evaluator m_spanSel;
204  Evaluator m_dopplerSel;
205  Evaluator m_tremoloSel;
206 
207  int32_t m_variables[256];
210  struct EventTrap
211  {
212  ObjectId macroId = 0xffff;
213  uint16_t macroStep;
214  };
215 
216 public:
218  void initialize(const unsigned char* ptr, int step);
219  void initialize(const unsigned char* ptr, int step, double ticksPerSec,
220  uint8_t midiKey, uint8_t midiVel, uint8_t midiMod);
221 
225  bool advance(Voice& vox, double dt);
226 
228  void keyoffNotify(Voice& vox);
229 
231  void sampleEndNotify(Voice& vox);
232 };
233 
234 }
235 
236 #endif // __AMUSE_SOUNDMACROSTATE_HPP__
+
void initialize(const unsigned char *ptr, int step)
+ + +
void sampleEndNotify(Voice &vox)
+
bool advance(Voice &vox, double dt)
+ + +
void keyoffNotify(Voice &vox)
+
+
+ + + + diff --git a/_submix_8hpp_source.html b/_submix_8hpp_source.html new file mode 100644 index 0000000..9a79125 --- /dev/null +++ b/_submix_8hpp_source.html @@ -0,0 +1,139 @@ + + + + + + +Amuse: include/amuse/Submix.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Submix.hpp
+
+
+
1 #ifndef __AMUSE_SUBMIX_HPP__
2 #define __AMUSE_SUBMIX_HPP__
3 
4 #include <memory>
5 #include "SoundMacroState.hpp"
6 #include "IBackendSubmix.hpp"
7 #include "IBackendVoice.hpp"
8 #include "EffectBase.hpp"
9 #include "EffectChorus.hpp"
10 #include "EffectDelay.hpp"
11 #include "EffectReverb.hpp"
12 #include <unordered_set>
13 
14 namespace amuse
15 {
16 class IBackendSubmix;
17 class Sequencer;
18 
20 class Submix
21 {
22  friend class Engine;
23  friend class Voice;
24  friend class Sequencer;
25  Engine& m_root;
26  Submix* m_submix = nullptr;
27  std::list<Submix>::iterator m_engineIt;
28  std::unique_ptr<IBackendSubmix> m_backendSubmix;
29  std::vector<std::unique_ptr<EffectBaseTypeless>> m_effectStack;
30  bool m_destroyed = false;
31  void _destroy();
32 
33 public:
34  Submix(Engine& engine, Submix* smx);
35  ~Submix()
36  {
37 #ifndef NDEBUG
38  /* Ensure proper destruction procedure followed */
39  assert(m_destroyed);
40 #endif
41  }
42 
44  Submix* getParentSubmix() {return m_submix;}
45 
47  template <class T, class ...Args>
48  T& makeEffect(Args... args)
49  {
50  switch (m_backendSubmix->getSampleFormat())
51  {
52  case SubmixFormat::Int16:
53  {
54  using ImpType = typename T::template ImpType<int16_t>;
55  m_effectStack.emplace_back(new ImpType(args..., m_backendSubmix->getSampleRate()));
56  return static_cast<ImpType&>(*m_effectStack.back());
57  }
58  case SubmixFormat::Int32:
59  {
60  using ImpType = typename T::template ImpType<int32_t>;
61  m_effectStack.emplace_back(new ImpType(args..., m_backendSubmix->getSampleRate()));
62  return static_cast<ImpType&>(*m_effectStack.back());
63  }
64  case SubmixFormat::Float:
65  {
66  using ImpType = typename T::template ImpType<float>;
67  m_effectStack.emplace_back(new ImpType(args..., m_backendSubmix->getSampleRate()));
68  return static_cast<ImpType&>(*m_effectStack.back());
69  }
70  }
71  }
72 
74  EffectChorus& makeChorus(uint32_t baseDelay, uint32_t variation, uint32_t period);
75 
77  EffectDelay& makeDelay(uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput);
78 
80  EffectReverbStd& makeReverbStd(float coloration, float mix, float time,
81  float damping, float preDelay);
82 
84  EffectReverbHi& makeReverbHi(float coloration, float mix, float time,
85  float damping, float preDelay, float crosstalk);
86 
88  void clearEffects() {m_effectStack.clear();}
89 
91  bool canApplyEffect() const {return m_effectStack.size() != 0;}
92 
94  void applyEffect(int16_t* audio, size_t frameCount, const ChannelMap& chanMap) const;
95 
97  void applyEffect(int32_t* audio, size_t frameCount, const ChannelMap& chanMap) const;
98 
100  void applyEffect(float* audio, size_t frameCount, const ChannelMap& chanMap) const;
101 
102  Engine& getEngine() {return m_root;}
103 };
104 
105 }
106 
107 #endif // __AMUSE_SUBMIX_HPP__
void applyEffect(int16_t *audio, size_t frameCount, const ChannelMap &chanMap) const
+ +
void clearEffects()
Definition: Submix.hpp:88
+
EffectReverbStd & makeReverbStd(float coloration, float mix, float time, float damping, float preDelay)
+ +
EffectChorus & makeChorus(uint32_t baseDelay, uint32_t variation, uint32_t period)
+ + + + + +
EffectReverbHi & makeReverbHi(float coloration, float mix, float time, float damping, float preDelay, float crosstalk)
+ + +
Submix * getParentSubmix()
Definition: Submix.hpp:44
+
bool canApplyEffect() const
Definition: Submix.hpp:91
+
T & makeEffect(Args...args)
Definition: Submix.hpp:48
+
EffectDelay & makeDelay(uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput)
+ +
+
+ + + + diff --git a/_surround_profiles_8hpp_source.html b/_surround_profiles_8hpp_source.html new file mode 100644 index 0000000..7103c72 --- /dev/null +++ b/_surround_profiles_8hpp_source.html @@ -0,0 +1,123 @@ + + + + + + +Amuse: include/amuse/SurroundProfiles.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SurroundProfiles.hpp
+
+
+
1 #ifndef __AMUSE_SURROUNDPROFILES_HPP__
2 #define __AMUSE_SURROUNDPROFILES_HPP__
3 
4 #include "IBackendVoice.hpp"
5 #include "IBackendVoiceAllocator.hpp"
6 #include "Emitter.hpp"
7 
8 namespace amuse
9 {
10 struct ReferenceVector;
11 
14 {
15  static void SetupRefs(float matOut[8], const ChannelMap& map,
16  const Vector3f& listenEmit, const ReferenceVector refs[]);
17 public:
18  static void SetupMatrix(float matOut[8], const ChannelMap& map, AudioChannelSet set,
19  const Vector3f& emitPos, const Vector3f& listenPos,
20  const Vector3f& listenDir, const Vector3f& listenUp);
21 };
22 
23 }
24 
25 #endif // __AMUSE_SURROUNDPROFILES_HPP__
+ + +
+
+ + + + diff --git a/_voice_8hpp_source.html b/_voice_8hpp_source.html new file mode 100644 index 0000000..2e049ee --- /dev/null +++ b/_voice_8hpp_source.html @@ -0,0 +1,143 @@ + + + + + + +Amuse: include/amuse/Voice.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Voice.hpp
+
+
+
1 #ifndef __AMUSE_VOICE_HPP__
2 #define __AMUSE_VOICE_HPP__
3 
4 #include <stdint.h>
5 #include <stdlib.h>
6 #include <memory>
7 #include <list>
8 #include "SoundMacroState.hpp"
9 #include "Entity.hpp"
10 #include "AudioGroupSampleDirectory.hpp"
11 #include "AudioGroup.hpp"
12 #include "Envelope.hpp"
13 
14 namespace amuse
15 {
16 class IBackendVoice;
17 class Submix;
18 struct Keymap;
19 struct LayerMapping;
20 
22 enum class VoiceState
23 {
24  Playing,
25  KeyOff,
26  Dead
27 };
28 
30 class Voice : public Entity
31 {
32  friend class Engine;
33  friend class Sequencer;
34  friend class SoundMacroState;
35  int m_vid;
36  bool m_emitter;
37  Submix* m_submix = nullptr;
38  std::list<std::shared_ptr<Voice>>::iterator m_engineIt;
40  std::unique_ptr<IBackendVoice> m_backendVoice;
41  SoundMacroState m_state;
42  SoundMacroState::EventTrap m_keyoffTrap;
43  SoundMacroState::EventTrap m_sampleEndTrap;
44  SoundMacroState::EventTrap m_messageTrap;
45  std::list<int32_t> m_messageQueue;
46  std::list<std::shared_ptr<Voice>> m_childVoices;
47  uint8_t m_keygroup = 0;
49  enum class SampleFormat : uint8_t
50  {
51  DSP,
52  IMA,
53  PCM
54  };
55  const Sample* m_curSample = nullptr;
56  const unsigned char* m_curSampleData = nullptr;
57  SampleFormat m_curFormat;
58  uint32_t m_curSamplePos = 0;
59  uint32_t m_lastSamplePos = 0;
60  int16_t m_prev1 = 0;
61  int16_t m_prev2 = 0;
62  double m_sampleRate = 32000.0;
63  double m_voiceTime;
65  VoiceState m_voxState = VoiceState::Dead;
66  bool m_sustained = false;
67  bool m_sustainKeyOff = false;
68  uint8_t m_curAftertouch = 0;
70  float m_userVol = 1.f;
71  float m_curVol;
72  float m_curReverbVol;
73  float m_curPan;
74  float m_curSpan;
75  float m_curPitchWheel = 0.f;
76  int32_t m_pitchWheelUp;
77  int32_t m_pitchWheelDown;
78  int32_t m_pitchWheelVal;
79  int32_t m_curPitch;
80  bool m_pitchDirty;
82  Envelope m_volAdsr;
83  double m_envelopeTime;
84  double m_envelopeDur;
85  float m_envelopeStart;
86  float m_envelopeEnd;
87  const Curve* m_envelopeCurve;
89  bool m_pitchEnv = false;
90  Envelope m_pitchAdsr;
91  int32_t m_pitchEnvRange;
93  uint32_t m_pitchSweep1;
94  uint32_t m_pitchSweep2;
95  int16_t m_pitchSweep1Add;
96  int16_t m_pitchSweep2Add;
97  uint8_t m_pitchSweep1Times;
98  uint8_t m_pitchSweep2Times;
99  uint8_t m_pitchSweep1It;
100  uint8_t m_pitchSweep2It;
102  float m_panningTime;
103  float m_panningDur;
104  uint8_t m_panPos;
105  uint8_t m_panWidth;
107  float m_spanningTime;
108  float m_spanningDur;
109  uint8_t m_spanPos;
110  uint8_t m_spanWidth;
112  int32_t m_vibratoLevel;
113  int32_t m_vibratoModLevel;
114  float m_vibratoPeriod;
115  bool m_vibratoModWheel;
117  float m_tremoloScale;
118  float m_tremoloModScale;
120  float m_lfoPeriods[2];
121  std::unique_ptr<int8_t[]> m_ctrlValsSelf;
122  int8_t* m_extCtrlVals = nullptr;
124  void _destroy();
125  void _reset();
126  bool _checkSamplePos();
127  void _doKeyOff();
128  void _macroKeyOff();
129  void _macroSampleEnd();
130  bool _advanceSample(int16_t& samp, int32_t& curPitch);
131  void _setTotalPitch(int32_t cents, bool slew);
132  bool _isRecursivelyDead();
133  void _bringOutYourDead();
134  std::shared_ptr<Voice> _findVoice(int vid, std::weak_ptr<Voice> thisPtr);
135  std::unique_ptr<int8_t[]>& _ensureCtrlVals();
136 
137  std::shared_ptr<Voice> _allocateVoice(double sampleRate, bool dynamicPitch);
138  std::list<std::shared_ptr<Voice>>::iterator _destroyVoice(Voice* voice);
139 
140  bool _loadSoundMacro(const unsigned char* macroData, int macroStep, double ticksPerSec,
141  uint8_t midiKey, uint8_t midiVel, uint8_t midiMod, bool pushPc=false);
142  bool _loadKeymap(const Keymap* keymap, int macroStep, double ticksPerSec,
143  uint8_t midiKey, uint8_t midiVel, uint8_t midiMod, bool pushPc=false);
144  bool _loadLayer(const std::vector<const LayerMapping*>& layer, int macroStep, double ticksPerSec,
145  uint8_t midiKey, uint8_t midiVel, uint8_t midiMod, bool pushPc=false);
146  std::shared_ptr<Voice> _startChildMacro(ObjectId macroId, int macroStep, double ticksPerSec,
147  uint8_t midiKey, uint8_t midiVel, uint8_t midiMod, bool pushPc=false);
148 public:
149  ~Voice();
150  Voice(Engine& engine, const AudioGroup& group, int groupId, int vid, bool emitter, Submix* smx);
151  Voice(Engine& engine, const AudioGroup& group, int groupId, ObjectId oid, int vid, bool emitter, Submix* smx);
152 
155  size_t supplyAudio(size_t frames, int16_t* data);
156 
158  Submix* getSubmix() {return m_submix;}
159 
161  VoiceState state() const {return m_voxState;}
162 
164  int vid() const {return m_vid;}
165 
167  int maxVid() const;
168 
170  std::shared_ptr<Voice> startChildMacro(int8_t addNote, ObjectId macroId, int macroStep);
171 
173  bool loadSoundObject(ObjectId objectId, int macroStep, double ticksPerSec,
174  uint8_t midiKey, uint8_t midiVel, uint8_t midiMod,
175  bool pushPc=false);
176 
178  void keyOff();
179 
181  void message(int32_t val);
182 
184  void startSample(int16_t sampId, int32_t offset);
185 
187  void stopSample();
188 
190  void setVolume(float vol);
191 
193  void setPan(float pan);
194 
196  void setSurroundPan(float span);
197 
199  void startEnvelope(double dur, float vol, const Curve* envCurve);
200 
202  void startFadeIn(double dur, float vol, const Curve* envCurve);
203 
205  void startPanning(double dur, uint8_t panPos, uint8_t panWidth);
206 
208  void startSpanning(double dur, uint8_t spanPos, uint8_t spanWidth);
209 
211  void setPitchKey(int32_t cents);
212 
214  void setPedal(bool pedal);
215 
217  void setDoppler(float doppler);
218 
220  void setVibrato(int32_t level, int32_t modLevel, float period);
221 
223  void setMod2VibratoRange(int32_t modLevel);
224 
226  void setTremolo(float tremoloScale, float tremoloModScale);
227 
229  void setLFO1Period(float period) {m_lfoPeriods[0] = period;}
230 
232  void setLFO2Period(float period) {m_lfoPeriods[1] = period;}
233 
235  void setPitchSweep1(uint8_t times, int16_t add);
236 
238  void setPitchSweep2(uint8_t times, int16_t add);
239 
241  void setReverbVol(float rvol);
242 
244  void setAdsr(ObjectId adsrId, bool dls);
245 
247  void setPitchFrequency(uint32_t hz, uint16_t fine);
248 
250  void setPitchAdsr(ObjectId adsrId, int32_t cents);
251 
253  void setPitchWheel(float pitchWheel);
254 
256  void setPitchWheelRange(int8_t up, int8_t down);
257 
259  void setAftertouch(uint8_t aftertouch);
260 
262  void setKeygroup(uint8_t kg) {m_keygroup = kg;}
263 
265  uint8_t getLastNote() const {return m_state.m_initKey;}
266 
267  void notifyCtrlChange(uint8_t ctrl, int8_t val);
268 
270  int8_t getCtrlValue(uint8_t ctrl) const
271  {
272  if (!m_extCtrlVals)
273  {
274  if (m_ctrlValsSelf)
275  m_ctrlValsSelf[ctrl];
276  return 0;
277  }
278  return m_extCtrlVals[ctrl];
279  }
280 
282  void setCtrlValue(uint8_t ctrl, int8_t val)
283  {
284  if (!m_extCtrlVals)
285  {
286  std::unique_ptr<int8_t[]>& vals = _ensureCtrlVals();
287  vals[ctrl] = val;
288  }
289  else
290  m_extCtrlVals[ctrl] = val;
291  notifyCtrlChange(ctrl, val);
292  }
293 
295  int8_t getModWheel() const {return getCtrlValue(1);}
296 
298  void installCtrlValues(int8_t* cvs)
299  {
300  m_ctrlValsSelf.reset();
301  m_extCtrlVals = cvs;
302  }
303 
305  int8_t getPitchWheel() const {return m_curPitchWheel * 127;}
306 
308  int8_t getAftertouch() const {return m_curAftertouch;}
309 
311  size_t getTotalVoices() const;
312 
313 };
314 
315 }
316 
317 #endif // __AMUSE_VOICE_HPP__
int8_t getAftertouch() const
Definition: Voice.hpp:308
+
int8_t getModWheel() const
Definition: Voice.hpp:295
+ +
int8_t getPitchWheel() const
Definition: Voice.hpp:305
+ +
void setLFO2Period(float period)
Definition: Voice.hpp:232
+
void setKeygroup(uint8_t kg)
Definition: Voice.hpp:262
+
void installCtrlValues(int8_t *cvs)
Definition: Voice.hpp:298
+ + +
uint8_t getLastNote() const
Definition: Voice.hpp:265
+
Submix * getSubmix()
Definition: Voice.hpp:158
+ +
void setCtrlValue(uint8_t ctrl, int8_t val)
Definition: Voice.hpp:282
+
int vid() const
Definition: Voice.hpp:164
+
void setLFO1Period(float period)
Definition: Voice.hpp:229
+ + + + +
int8_t getCtrlValue(uint8_t ctrl) const
Definition: Voice.hpp:270
+
VoiceState state() const
Definition: Voice.hpp:161
+ +
+
+ + + + diff --git a/amuse_8hpp_source.html b/amuse_8hpp_source.html new file mode 100644 index 0000000..fa3513c --- /dev/null +++ b/amuse_8hpp_source.html @@ -0,0 +1,120 @@ + + + + + + +Amuse: include/amuse/amuse.hpp Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse.hpp
+
+
+
1 #ifndef __AMUSE_AMUSE_HPP__
2 #define __AMUSE_AMUSE_HPP__
3 
4 #include "AudioGroup.hpp"
5 #include "AudioGroupData.hpp"
6 #include "AudioGroupPool.hpp"
7 #include "AudioGroupProject.hpp"
8 #include "AudioGroupSampleDirectory.hpp"
9 #include "EffectChorus.hpp"
10 #include "EffectDelay.hpp"
11 #include "EffectReverb.hpp"
12 #include "Emitter.hpp"
13 #include "Engine.hpp"
14 #include "Envelope.hpp"
15 #include "Listener.hpp"
16 #include "Sequencer.hpp"
17 #include "SoundMacroState.hpp"
18 #include "Submix.hpp"
19 #include "Voice.hpp"
20 
21 #endif // __AMUSE_AMUSE_HPP__
+
+ + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 0000000..f44bb9c --- /dev/null +++ b/annotated.html @@ -0,0 +1,174 @@ + + + + + + +Amuse: Class List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+ +
+ + + + diff --git a/annotated_dup.js b/annotated_dup.js new file mode 100644 index 0000000..7ddd6ba --- /dev/null +++ b/annotated_dup.js @@ -0,0 +1,47 @@ +var annotated_dup = +[ + [ "amuse", null, [ + [ "ADSR", "structamuse_1_1_a_d_s_r.html", "structamuse_1_1_a_d_s_r" ], + [ "ADSRDLS", "structamuse_1_1_a_d_s_r_d_l_s.html", "structamuse_1_1_a_d_s_r_d_l_s" ], + [ "AudioGroup", "classamuse_1_1_audio_group.html", "classamuse_1_1_audio_group" ], + [ "AudioGroupData", "classamuse_1_1_audio_group_data.html", "classamuse_1_1_audio_group_data" ], + [ "AudioGroupIndex", "structamuse_1_1_audio_group_index.html", "structamuse_1_1_audio_group_index" ], + [ "AudioGroupPool", "classamuse_1_1_audio_group_pool.html", "classamuse_1_1_audio_group_pool" ], + [ "AudioGroupProject", "classamuse_1_1_audio_group_project.html", "classamuse_1_1_audio_group_project" ], + [ "AudioGroupSampleDirectory", "classamuse_1_1_audio_group_sample_directory.html", "classamuse_1_1_audio_group_sample_directory" ], + [ "BooBackendSubmix", "classamuse_1_1_boo_backend_submix.html", "classamuse_1_1_boo_backend_submix" ], + [ "BooBackendVoice", "classamuse_1_1_boo_backend_voice.html", "classamuse_1_1_boo_backend_voice" ], + [ "BooBackendVoiceAllocator", "classamuse_1_1_boo_backend_voice_allocator.html", "classamuse_1_1_boo_backend_voice_allocator" ], + [ "ChannelMap", "structamuse_1_1_channel_map.html", "structamuse_1_1_channel_map" ], + [ "EffectBase", "classamuse_1_1_effect_base.html", "classamuse_1_1_effect_base" ], + [ "EffectBaseTypeless", "classamuse_1_1_effect_base_typeless.html", "classamuse_1_1_effect_base_typeless" ], + [ "EffectChorus", "classamuse_1_1_effect_chorus.html", "classamuse_1_1_effect_chorus" ], + [ "EffectChorusImp", "classamuse_1_1_effect_chorus_imp.html", "classamuse_1_1_effect_chorus_imp" ], + [ "EffectDelay", "classamuse_1_1_effect_delay.html", "classamuse_1_1_effect_delay" ], + [ "EffectDelayImp", "classamuse_1_1_effect_delay_imp.html", "classamuse_1_1_effect_delay_imp" ], + [ "EffectReverbHi", "classamuse_1_1_effect_reverb_hi.html", "classamuse_1_1_effect_reverb_hi" ], + [ "EffectReverbHiImp", "classamuse_1_1_effect_reverb_hi_imp.html", "classamuse_1_1_effect_reverb_hi_imp" ], + [ "EffectReverbStd", "classamuse_1_1_effect_reverb_std.html", "classamuse_1_1_effect_reverb_std" ], + [ "EffectReverbStdImp", "classamuse_1_1_effect_reverb_std_imp.html", "classamuse_1_1_effect_reverb_std_imp" ], + [ "Emitter", "classamuse_1_1_emitter.html", "classamuse_1_1_emitter" ], + [ "Engine", "classamuse_1_1_engine.html", "classamuse_1_1_engine" ], + [ "Entity", "classamuse_1_1_entity.html", "classamuse_1_1_entity" ], + [ "Envelope", "classamuse_1_1_envelope.html", "classamuse_1_1_envelope" ], + [ "IBackendSubmix", "classamuse_1_1_i_backend_submix.html", "classamuse_1_1_i_backend_submix" ], + [ "IBackendVoice", "classamuse_1_1_i_backend_voice.html", "classamuse_1_1_i_backend_voice" ], + [ "IBackendVoiceAllocator", "classamuse_1_1_i_backend_voice_allocator.html", "classamuse_1_1_i_backend_voice_allocator" ], + [ "IntrusiveAudioGroupData", "classamuse_1_1_intrusive_audio_group_data.html", "classamuse_1_1_intrusive_audio_group_data" ], + [ "Keymap", "structamuse_1_1_keymap.html", "structamuse_1_1_keymap" ], + [ "LayerMapping", "structamuse_1_1_layer_mapping.html", "structamuse_1_1_layer_mapping" ], + [ "Listener", "classamuse_1_1_listener.html", null ], + [ "ReverbDelayLine", "structamuse_1_1_reverb_delay_line.html", "structamuse_1_1_reverb_delay_line" ], + [ "Sequencer", "classamuse_1_1_sequencer.html", "classamuse_1_1_sequencer" ], + [ "SFXGroupIndex", "structamuse_1_1_s_f_x_group_index.html", "structamuse_1_1_s_f_x_group_index" ], + [ "SongGroupIndex", "structamuse_1_1_song_group_index.html", "structamuse_1_1_song_group_index" ], + [ "SongState", "classamuse_1_1_song_state.html", "classamuse_1_1_song_state" ], + [ "SoundMacroState", "classamuse_1_1_sound_macro_state.html", "classamuse_1_1_sound_macro_state" ], + [ "Submix", "classamuse_1_1_submix.html", "classamuse_1_1_submix" ], + [ "SurroundProfiles", "classamuse_1_1_surround_profiles.html", null ], + [ "Voice", "classamuse_1_1_voice.html", "classamuse_1_1_voice" ] + ] ] +]; \ No newline at end of file diff --git a/arrowdown.png b/arrowdown.png new file mode 100644 index 0000000..8670f4d Binary files /dev/null and b/arrowdown.png differ diff --git a/arrowright.png b/arrowright.png new file mode 100644 index 0000000..0f4567f Binary files /dev/null and b/arrowright.png differ diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000..bf138e1 Binary files /dev/null and b/bc_s.png differ diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 0000000..72ed50c Binary files /dev/null and b/bdwn.png differ diff --git a/classamuse_1_1_audio_group-members.html b/classamuse_1_1_audio_group-members.html new file mode 100644 index 0000000..0fb7f98 --- /dev/null +++ b/classamuse_1_1_audio_group-members.html @@ -0,0 +1,131 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::AudioGroup Member List
+
+
+ +

This is the complete list of members for amuse::AudioGroup, including all inherited members.

+ + + + + + + +
AudioGroup(const AudioGroupData &data) (defined in amuse::AudioGroup)amuse::AudioGroup
getPool() const (defined in amuse::AudioGroup)amuse::AudioGroupinline
getProj() const (defined in amuse::AudioGroup)amuse::AudioGroupinline
getSample(int sfxId) const (defined in amuse::AudioGroup)amuse::AudioGroup
getSampleData(uint32_t offset) const (defined in amuse::AudioGroup)amuse::AudioGroup
operator bool() const (defined in amuse::AudioGroup)amuse::AudioGroupinline
+
+ + + + diff --git a/classamuse_1_1_audio_group.html b/classamuse_1_1_audio_group.html new file mode 100644 index 0000000..52681e1 --- /dev/null +++ b/classamuse_1_1_audio_group.html @@ -0,0 +1,164 @@ + + + + + + +Amuse: amuse::AudioGroup Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroup Class Reference
+
+
+ +

#include <AudioGroup.hpp>

+
+Collaboration diagram for amuse::AudioGroup:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + +

+Public Member Functions

operator bool () const
 
AudioGroup (const AudioGroupData &data)
 
+const Sample * getSample (int sfxId) const
 
+const unsigned char * getSampleData (uint32_t offset) const
 
+const AudioGroupProjectgetProj () const
 
+const AudioGroupPoolgetPool () const
 
+

Detailed Description

+

Runtime audio group index container

+ +

Definition at line 16 of file AudioGroup.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_audio_group.js b/classamuse_1_1_audio_group.js new file mode 100644 index 0000000..952ab25 --- /dev/null +++ b/classamuse_1_1_audio_group.js @@ -0,0 +1,9 @@ +var classamuse_1_1_audio_group = +[ + [ "AudioGroup", "classamuse_1_1_audio_group.html#a23cad95c69620e71fa874b6149f20ff2", null ], + [ "getPool", "classamuse_1_1_audio_group.html#a5fc2d7571402578b332629f3bea26309", null ], + [ "getProj", "classamuse_1_1_audio_group.html#a5846dfc11869be2044b9cad9c89a9db7", null ], + [ "getSample", "classamuse_1_1_audio_group.html#a9acd3d80cdb1f2ea8f6aadebad5d556d", null ], + [ "getSampleData", "classamuse_1_1_audio_group.html#a838837695e6682d48e057a82b28654ec", null ], + [ "operator bool", "classamuse_1_1_audio_group.html#af7662c11c0184574a145790e8c91eafb", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_audio_group__coll__graph.map b/classamuse_1_1_audio_group__coll__graph.map new file mode 100644 index 0000000..c17b887 --- /dev/null +++ b/classamuse_1_1_audio_group__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_audio_group__coll__graph.md5 b/classamuse_1_1_audio_group__coll__graph.md5 new file mode 100644 index 0000000..66e5300 --- /dev/null +++ b/classamuse_1_1_audio_group__coll__graph.md5 @@ -0,0 +1 @@ +cc54c8c718732289de1d48936662f468 \ No newline at end of file diff --git a/classamuse_1_1_audio_group__coll__graph.png b/classamuse_1_1_audio_group__coll__graph.png new file mode 100644 index 0000000..a442fac Binary files /dev/null and b/classamuse_1_1_audio_group__coll__graph.png differ diff --git a/classamuse_1_1_audio_group_data-members.html b/classamuse_1_1_audio_group_data-members.html new file mode 100644 index 0000000..5b5fe8a --- /dev/null +++ b/classamuse_1_1_audio_group_data-members.html @@ -0,0 +1,134 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::AudioGroupData Member List
+
+
+ +

This is the complete list of members for amuse::AudioGroupData, including all inherited members.

+ + + + + + + + + + +
AudioGroupData(unsigned char *proj, unsigned char *pool, unsigned char *sdir, unsigned char *samp) (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getPool() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getProj() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getSamp() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getSdir() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
m_pool (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
m_proj (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
m_samp (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
m_sdir (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
+
+ + + + diff --git a/classamuse_1_1_audio_group_data.html b/classamuse_1_1_audio_group_data.html new file mode 100644 index 0000000..c28b3b5 --- /dev/null +++ b/classamuse_1_1_audio_group_data.html @@ -0,0 +1,185 @@ + + + + + + +Amuse: amuse::AudioGroupData Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroupData Class Reference
+
+
+ +

#include <AudioGroupData.hpp>

+
+Inheritance diagram for amuse::AudioGroupData:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::AudioGroupData:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Member Functions

AudioGroupData (unsigned char *proj, unsigned char *pool, unsigned char *sdir, unsigned char *samp)
 
+const unsigned char * getProj () const
 
+const unsigned char * getPool () const
 
+const unsigned char * getSdir () const
 
+const unsigned char * getSamp () const
 
+ + + + + + + + + +

+Protected Attributes

+unsigned char * m_proj
 
+unsigned char * m_pool
 
+unsigned char * m_sdir
 
+unsigned char * m_samp
 
+

Detailed Description

+

Simple pointer-container of the four Audio Group chunks

+ +

Definition at line 8 of file AudioGroupData.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_audio_group_data.js b/classamuse_1_1_audio_group_data.js new file mode 100644 index 0000000..17739b8 --- /dev/null +++ b/classamuse_1_1_audio_group_data.js @@ -0,0 +1,12 @@ +var classamuse_1_1_audio_group_data = +[ + [ "AudioGroupData", "classamuse_1_1_audio_group_data.html#a685fc0fc3958e7d1e263e1b73f470393", null ], + [ "getPool", "classamuse_1_1_audio_group_data.html#a96b541db2dfda6be640f2d87a2aa1e36", null ], + [ "getProj", "classamuse_1_1_audio_group_data.html#a78b450460a8ab1f79be33b143b59a023", null ], + [ "getSamp", "classamuse_1_1_audio_group_data.html#aaee0a489c665be4dd1450b220028f908", null ], + [ "getSdir", "classamuse_1_1_audio_group_data.html#a36e12f38b11f14b91b3b2275726d9021", null ], + [ "m_pool", "classamuse_1_1_audio_group_data.html#a2ca00239552755f0eedaeaaf32c63eee", null ], + [ "m_proj", "classamuse_1_1_audio_group_data.html#a572231192abfcf0f71867575240254c1", null ], + [ "m_samp", "classamuse_1_1_audio_group_data.html#a01a881bb837ae0bb534139e3fa2adef2", null ], + [ "m_sdir", "classamuse_1_1_audio_group_data.html#a6c79182bc754d0f9ebbb11e921aeeb30", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_audio_group_data__coll__graph.map b/classamuse_1_1_audio_group_data__coll__graph.map new file mode 100644 index 0000000..ce76fd6 --- /dev/null +++ b/classamuse_1_1_audio_group_data__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_audio_group_data__coll__graph.md5 b/classamuse_1_1_audio_group_data__coll__graph.md5 new file mode 100644 index 0000000..9c6c355 --- /dev/null +++ b/classamuse_1_1_audio_group_data__coll__graph.md5 @@ -0,0 +1 @@ +22b009e94a38e613ebaf5ad9bc38ca1d \ No newline at end of file diff --git a/classamuse_1_1_audio_group_data__coll__graph.png b/classamuse_1_1_audio_group_data__coll__graph.png new file mode 100644 index 0000000..b78af99 Binary files /dev/null and b/classamuse_1_1_audio_group_data__coll__graph.png differ diff --git a/classamuse_1_1_audio_group_data__inherit__graph.map b/classamuse_1_1_audio_group_data__inherit__graph.map new file mode 100644 index 0000000..50c478e --- /dev/null +++ b/classamuse_1_1_audio_group_data__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_audio_group_data__inherit__graph.md5 b/classamuse_1_1_audio_group_data__inherit__graph.md5 new file mode 100644 index 0000000..a54314c --- /dev/null +++ b/classamuse_1_1_audio_group_data__inherit__graph.md5 @@ -0,0 +1 @@ +6377cdf4ec94d4ca78b3a7a59b5057fc \ No newline at end of file diff --git a/classamuse_1_1_audio_group_data__inherit__graph.png b/classamuse_1_1_audio_group_data__inherit__graph.png new file mode 100644 index 0000000..6527563 Binary files /dev/null and b/classamuse_1_1_audio_group_data__inherit__graph.png differ diff --git a/classamuse_1_1_audio_group_pool-members.html b/classamuse_1_1_audio_group_pool-members.html new file mode 100644 index 0000000..a6c43ae --- /dev/null +++ b/classamuse_1_1_audio_group_pool-members.html @@ -0,0 +1,132 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::AudioGroupPool Member List
+
+
+ +

This is the complete list of members for amuse::AudioGroupPool, including all inherited members.

+ + + + + + + + +
AudioGroupPool(const unsigned char *data) (defined in amuse::AudioGroupPool)amuse::AudioGroupPool
keymap(ObjectId id) const (defined in amuse::AudioGroupPool)amuse::AudioGroupPool
layer(ObjectId id) const (defined in amuse::AudioGroupPool)amuse::AudioGroupPool
soundMacro(ObjectId id) const (defined in amuse::AudioGroupPool)amuse::AudioGroupPool
tableAsAdsr(ObjectId id) const (defined in amuse::AudioGroupPool)amuse::AudioGroupPool
tableAsAdsrDLS(ObjectId id) const (defined in amuse::AudioGroupPool)amuse::AudioGroupPoolinline
tableAsCurves(ObjectId id) const (defined in amuse::AudioGroupPool)amuse::AudioGroupPoolinline
+
+ + + + diff --git a/classamuse_1_1_audio_group_pool.html b/classamuse_1_1_audio_group_pool.html new file mode 100644 index 0000000..1aba2a5 --- /dev/null +++ b/classamuse_1_1_audio_group_pool.html @@ -0,0 +1,167 @@ + + + + + + +Amuse: amuse::AudioGroupPool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroupPool Class Reference
+
+
+ +

#include <AudioGroupPool.hpp>

+
+Collaboration diagram for amuse::AudioGroupPool:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + + + +

+Public Member Functions

AudioGroupPool (const unsigned char *data)
 
+const unsigned char * soundMacro (ObjectId id) const
 
+const Keymapkeymap (ObjectId id) const
 
+const std::vector< const LayerMapping * > * layer (ObjectId id) const
 
+const ADSRtableAsAdsr (ObjectId id) const
 
+const ADSRDLStableAsAdsrDLS (ObjectId id) const
 
+const Curve * tableAsCurves (ObjectId id) const
 
+

Detailed Description

+

Database of functional objects within Audio Group

+ +

Definition at line 93 of file AudioGroupPool.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_audio_group_pool.js b/classamuse_1_1_audio_group_pool.js new file mode 100644 index 0000000..a864374 --- /dev/null +++ b/classamuse_1_1_audio_group_pool.js @@ -0,0 +1,10 @@ +var classamuse_1_1_audio_group_pool = +[ + [ "AudioGroupPool", "classamuse_1_1_audio_group_pool.html#a6d4fb02a7919a00be907d7d00cb57d63", null ], + [ "keymap", "classamuse_1_1_audio_group_pool.html#a6e24cce24dcfa1c408fca890f7fa9b87", null ], + [ "layer", "classamuse_1_1_audio_group_pool.html#ad7534b2a8c2c9e98764ba2560d6c6f10", null ], + [ "soundMacro", "classamuse_1_1_audio_group_pool.html#aa851a23ea68c24b9d7aa7c13a16162e8", null ], + [ "tableAsAdsr", "classamuse_1_1_audio_group_pool.html#a66d778e682460b4f1f4df2280b371224", null ], + [ "tableAsAdsrDLS", "classamuse_1_1_audio_group_pool.html#ad732c699c0f656cb6e2dc80720637150", null ], + [ "tableAsCurves", "classamuse_1_1_audio_group_pool.html#a25d5a109d5c219e5a8749abf694aa79d", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_audio_group_pool__coll__graph.map b/classamuse_1_1_audio_group_pool__coll__graph.map new file mode 100644 index 0000000..5a6025c --- /dev/null +++ b/classamuse_1_1_audio_group_pool__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_audio_group_pool__coll__graph.md5 b/classamuse_1_1_audio_group_pool__coll__graph.md5 new file mode 100644 index 0000000..84601d5 --- /dev/null +++ b/classamuse_1_1_audio_group_pool__coll__graph.md5 @@ -0,0 +1 @@ +7ce4e789e689a82d12b90f90f6e75877 \ No newline at end of file diff --git a/classamuse_1_1_audio_group_pool__coll__graph.png b/classamuse_1_1_audio_group_pool__coll__graph.png new file mode 100644 index 0000000..339d0aa Binary files /dev/null and b/classamuse_1_1_audio_group_pool__coll__graph.png differ diff --git a/classamuse_1_1_audio_group_project-members.html b/classamuse_1_1_audio_group_project-members.html new file mode 100644 index 0000000..af3b460 --- /dev/null +++ b/classamuse_1_1_audio_group_project-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::AudioGroupProject Member List
+
+
+ +

This is the complete list of members for amuse::AudioGroupProject, including all inherited members.

+ + + + + + +
AudioGroupProject(const unsigned char *data) (defined in amuse::AudioGroupProject)amuse::AudioGroupProject
getSFXGroupIndex(int groupId) const (defined in amuse::AudioGroupProject)amuse::AudioGroupProject
getSongGroupIndex(int groupId) const (defined in amuse::AudioGroupProject)amuse::AudioGroupProject
sfxGroups() const (defined in amuse::AudioGroupProject)amuse::AudioGroupProjectinline
songGroups() const (defined in amuse::AudioGroupProject)amuse::AudioGroupProjectinline
+
+ + + + diff --git a/classamuse_1_1_audio_group_project.html b/classamuse_1_1_audio_group_project.html new file mode 100644 index 0000000..91cf516 --- /dev/null +++ b/classamuse_1_1_audio_group_project.html @@ -0,0 +1,161 @@ + + + + + + +Amuse: amuse::AudioGroupProject Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroupProject Class Reference
+
+
+ +

#include <AudioGroupProject.hpp>

+
+Collaboration diagram for amuse::AudioGroupProject:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Member Functions

AudioGroupProject (const unsigned char *data)
 
+const SongGroupIndexgetSongGroupIndex (int groupId) const
 
+const SFXGroupIndexgetSFXGroupIndex (int groupId) const
 
+const std::unordered_map< int, SongGroupIndex > & songGroups () const
 
+const std::unordered_map< int, SFXGroupIndex > & sfxGroups () const
 
+

Detailed Description

+

Collection of SongGroup and SFXGroup indexes

+ +

Definition at line 67 of file AudioGroupProject.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_audio_group_project.js b/classamuse_1_1_audio_group_project.js new file mode 100644 index 0000000..a801303 --- /dev/null +++ b/classamuse_1_1_audio_group_project.js @@ -0,0 +1,8 @@ +var classamuse_1_1_audio_group_project = +[ + [ "AudioGroupProject", "classamuse_1_1_audio_group_project.html#a1c2b23fc87a4d059b4f71d23fc35cf8c", null ], + [ "getSFXGroupIndex", "classamuse_1_1_audio_group_project.html#a354182c3ceb9cb22f5625c7039c6228e", null ], + [ "getSongGroupIndex", "classamuse_1_1_audio_group_project.html#ac7e9f9bbda43739dd2d72dcd5019d40e", null ], + [ "sfxGroups", "classamuse_1_1_audio_group_project.html#ae1993e13a5f9b49c6fc374174d11b4a1", null ], + [ "songGroups", "classamuse_1_1_audio_group_project.html#aa496736d86be46ee5997bab5baa34867", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_audio_group_project__coll__graph.map b/classamuse_1_1_audio_group_project__coll__graph.map new file mode 100644 index 0000000..8611592 --- /dev/null +++ b/classamuse_1_1_audio_group_project__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_audio_group_project__coll__graph.md5 b/classamuse_1_1_audio_group_project__coll__graph.md5 new file mode 100644 index 0000000..658778e --- /dev/null +++ b/classamuse_1_1_audio_group_project__coll__graph.md5 @@ -0,0 +1 @@ +84b6d2f23c94cfe88db2749ef0b50bc7 \ No newline at end of file diff --git a/classamuse_1_1_audio_group_project__coll__graph.png b/classamuse_1_1_audio_group_project__coll__graph.png new file mode 100644 index 0000000..207f426 Binary files /dev/null and b/classamuse_1_1_audio_group_project__coll__graph.png differ diff --git a/classamuse_1_1_audio_group_sample_directory-members.html b/classamuse_1_1_audio_group_sample_directory-members.html new file mode 100644 index 0000000..f3bc9a7 --- /dev/null +++ b/classamuse_1_1_audio_group_sample_directory-members.html @@ -0,0 +1,127 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::AudioGroupSampleDirectory Member List
+
+
+ +

This is the complete list of members for amuse::AudioGroupSampleDirectory, including all inherited members.

+ + + +
AudioGroup (defined in amuse::AudioGroupSampleDirectory)amuse::AudioGroupSampleDirectoryfriend
AudioGroupSampleDirectory(const unsigned char *data) (defined in amuse::AudioGroupSampleDirectory)amuse::AudioGroupSampleDirectory
+
+ + + + diff --git a/classamuse_1_1_audio_group_sample_directory.html b/classamuse_1_1_audio_group_sample_directory.html new file mode 100644 index 0000000..640b563 --- /dev/null +++ b/classamuse_1_1_audio_group_sample_directory.html @@ -0,0 +1,164 @@ + + + + + + +Amuse: amuse::AudioGroupSampleDirectory Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroupSampleDirectory Class Reference
+
+
+ +

#include <AudioGroupSampleDirectory.hpp>

+
+Collaboration diagram for amuse::AudioGroupSampleDirectory:
+
+
Collaboration graph
+ + +
+ + + + + + +

+Classes

struct  ADPCMParms
 
struct  Entry
 
+ + + +

+Public Member Functions

AudioGroupSampleDirectory (const unsigned char *data)
 
+ + + +

+Friends

+class AudioGroup
 
+

Detailed Description

+

Indexes individual samples in SAMP chunk

+ +

Definition at line 11 of file AudioGroupSampleDirectory.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_audio_group_sample_directory.js b/classamuse_1_1_audio_group_sample_directory.js new file mode 100644 index 0000000..3a55dd8 --- /dev/null +++ b/classamuse_1_1_audio_group_sample_directory.js @@ -0,0 +1,7 @@ +var classamuse_1_1_audio_group_sample_directory = +[ + [ "ADPCMParms", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms" ], + [ "Entry", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html", "structamuse_1_1_audio_group_sample_directory_1_1_entry" ], + [ "AudioGroupSampleDirectory", "classamuse_1_1_audio_group_sample_directory.html#adb1be37dd7d6affa524dbd902d9388a5", null ], + [ "AudioGroup", "classamuse_1_1_audio_group_sample_directory.html#a7e01bc631967f0c4d8d860a64430c627", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_audio_group_sample_directory__coll__graph.map b/classamuse_1_1_audio_group_sample_directory__coll__graph.map new file mode 100644 index 0000000..444ad52 --- /dev/null +++ b/classamuse_1_1_audio_group_sample_directory__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_audio_group_sample_directory__coll__graph.md5 b/classamuse_1_1_audio_group_sample_directory__coll__graph.md5 new file mode 100644 index 0000000..79f1983 --- /dev/null +++ b/classamuse_1_1_audio_group_sample_directory__coll__graph.md5 @@ -0,0 +1 @@ +fc1650c06791769777e79ffab54e26a2 \ No newline at end of file diff --git a/classamuse_1_1_audio_group_sample_directory__coll__graph.png b/classamuse_1_1_audio_group_sample_directory__coll__graph.png new file mode 100644 index 0000000..a2c6ed8 Binary files /dev/null and b/classamuse_1_1_audio_group_sample_directory__coll__graph.png differ diff --git a/classamuse_1_1_boo_backend_submix-members.html b/classamuse_1_1_boo_backend_submix-members.html new file mode 100644 index 0000000..fd3d148 --- /dev/null +++ b/classamuse_1_1_boo_backend_submix-members.html @@ -0,0 +1,133 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::BooBackendSubmix Member List
+
+
+ +

This is the complete list of members for amuse::BooBackendSubmix, including all inherited members.

+ + + + + + + + + +
allocateVoice(Voice &clientVox, double sampleRate, bool dynamicPitch)amuse::BooBackendSubmixvirtual
BooBackendSubmix(boo::IAudioVoiceEngine &engine, Submix &clientSmx) (defined in amuse::BooBackendSubmix)amuse::BooBackendSubmix
BooBackendSubmix(boo::IAudioSubmix &parent, Submix &clientSmx) (defined in amuse::BooBackendSubmix)amuse::BooBackendSubmix
BooBackendVoiceAllocator (defined in amuse::BooBackendSubmix)amuse::BooBackendSubmixfriend
getSampleFormat() const amuse::BooBackendSubmixvirtual
getSampleRate() const amuse::BooBackendSubmixvirtual
setChannelGains(const float gains[8])amuse::BooBackendSubmixvirtual
~IBackendSubmix()=default (defined in amuse::IBackendSubmix)amuse::IBackendSubmixvirtual
+
+ + + + diff --git a/classamuse_1_1_boo_backend_submix.html b/classamuse_1_1_boo_backend_submix.html new file mode 100644 index 0000000..82cba3a --- /dev/null +++ b/classamuse_1_1_boo_backend_submix.html @@ -0,0 +1,300 @@ + + + + + + +Amuse: amuse::BooBackendSubmix Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::BooBackendSubmix Class Reference
+
+
+ +

#include <BooBackend.hpp>

+
+Inheritance diagram for amuse::BooBackendSubmix:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::BooBackendSubmix:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + + + + + + +

+Public Member Functions

BooBackendSubmix (boo::IAudioVoiceEngine &engine, Submix &clientSmx)
 
BooBackendSubmix (boo::IAudioSubmix &parent, Submix &clientSmx)
 
void setChannelGains (const float gains[8])
 
std::unique_ptr< IBackendVoiceallocateVoice (Voice &clientVox, double sampleRate, bool dynamicPitch)
 
double getSampleRate () const
 
SubmixFormat getSampleFormat () const
 
+ + + +

+Friends

+class BooBackendVoiceAllocator
 
+

Detailed Description

+

Backend submix implementation for boo mixer

+ +

Definition at line 38 of file BooBackend.hpp.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr<IBackendVoice> amuse::BooBackendSubmix::allocateVoice (VoiceclientVox,
double sampleRate,
bool dynamicPitch 
)
+
+virtual
+
+

Amuse obtains a new voice from the platform outputting to this submix

+ +

Implements amuse::IBackendSubmix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
SubmixFormat amuse::BooBackendSubmix::getSampleFormat () const
+
+virtual
+
+

Amuse gets fixed sample format of submix this way

+ +

Implements amuse::IBackendSubmix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
double amuse::BooBackendSubmix::getSampleRate () const
+
+virtual
+
+

Amuse gets fixed sample rate of submix this way

+ +

Implements amuse::IBackendSubmix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void amuse::BooBackendSubmix::setChannelGains (const float gains[8])
+
+virtual
+
+

Set channel-gains for submix (AudioChannel enum for array index)

+ +

Implements amuse::IBackendSubmix.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_boo_backend_submix.js b/classamuse_1_1_boo_backend_submix.js new file mode 100644 index 0000000..84c4f4d --- /dev/null +++ b/classamuse_1_1_boo_backend_submix.js @@ -0,0 +1,10 @@ +var classamuse_1_1_boo_backend_submix = +[ + [ "BooBackendSubmix", "classamuse_1_1_boo_backend_submix.html#ac44d286a876023affd92c44dc371fb9b", null ], + [ "BooBackendSubmix", "classamuse_1_1_boo_backend_submix.html#aee0270ea5324851e303b9589698664db", null ], + [ "allocateVoice", "classamuse_1_1_boo_backend_submix.html#a74e76a68955513aead1b815f2688a764", null ], + [ "getSampleFormat", "classamuse_1_1_boo_backend_submix.html#ac0bb59f38e433c979bbf3b8ca356f10f", null ], + [ "getSampleRate", "classamuse_1_1_boo_backend_submix.html#ad8a8427bdae3bd8125ce3f759d739d13", null ], + [ "setChannelGains", "classamuse_1_1_boo_backend_submix.html#a3d8b02ef2cc95ad4d703ea87990f4d43", null ], + [ "BooBackendVoiceAllocator", "classamuse_1_1_boo_backend_submix.html#a3f77b3f00d274ab0feae7072520b6613", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_submix__coll__graph.map b/classamuse_1_1_boo_backend_submix__coll__graph.map new file mode 100644 index 0000000..16fc59b --- /dev/null +++ b/classamuse_1_1_boo_backend_submix__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_boo_backend_submix__coll__graph.md5 b/classamuse_1_1_boo_backend_submix__coll__graph.md5 new file mode 100644 index 0000000..0030319 --- /dev/null +++ b/classamuse_1_1_boo_backend_submix__coll__graph.md5 @@ -0,0 +1 @@ +a7f6512e1a6a1381701aab302592a667 \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_submix__coll__graph.png b/classamuse_1_1_boo_backend_submix__coll__graph.png new file mode 100644 index 0000000..c896544 Binary files /dev/null and b/classamuse_1_1_boo_backend_submix__coll__graph.png differ diff --git a/classamuse_1_1_boo_backend_submix__inherit__graph.map b/classamuse_1_1_boo_backend_submix__inherit__graph.map new file mode 100644 index 0000000..16fc59b --- /dev/null +++ b/classamuse_1_1_boo_backend_submix__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_boo_backend_submix__inherit__graph.md5 b/classamuse_1_1_boo_backend_submix__inherit__graph.md5 new file mode 100644 index 0000000..0030319 --- /dev/null +++ b/classamuse_1_1_boo_backend_submix__inherit__graph.md5 @@ -0,0 +1 @@ +a7f6512e1a6a1381701aab302592a667 \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_submix__inherit__graph.png b/classamuse_1_1_boo_backend_submix__inherit__graph.png new file mode 100644 index 0000000..c896544 Binary files /dev/null and b/classamuse_1_1_boo_backend_submix__inherit__graph.png differ diff --git a/classamuse_1_1_boo_backend_voice-members.html b/classamuse_1_1_boo_backend_voice-members.html new file mode 100644 index 0000000..73896fd --- /dev/null +++ b/classamuse_1_1_boo_backend_voice-members.html @@ -0,0 +1,134 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::BooBackendVoice Member List
+
+
+ +

This is the complete list of members for amuse::BooBackendVoice, including all inherited members.

+ + + + + + + + + + +
BooBackendVoice(boo::IAudioVoiceEngine &engine, Voice &clientVox, double sampleRate, bool dynamicPitch) (defined in amuse::BooBackendVoice)amuse::BooBackendVoice
BooBackendVoice(boo::IAudioSubmix &submix, Voice &clientVox, double sampleRate, bool dynamicPitch) (defined in amuse::BooBackendVoice)amuse::BooBackendVoice
BooBackendVoiceAllocator (defined in amuse::BooBackendVoice)amuse::BooBackendVoicefriend
resetSampleRate(double sampleRate)amuse::BooBackendVoicevirtual
setMatrixCoefficients(const float coefs[8])amuse::BooBackendVoicevirtual
setPitchRatio(double ratio, bool slew)amuse::BooBackendVoicevirtual
start()amuse::BooBackendVoicevirtual
stop()amuse::BooBackendVoicevirtual
~IBackendVoice()=default (defined in amuse::IBackendVoice)amuse::IBackendVoicevirtual
+
+ + + + diff --git a/classamuse_1_1_boo_backend_voice.html b/classamuse_1_1_boo_backend_voice.html new file mode 100644 index 0000000..01e54ae --- /dev/null +++ b/classamuse_1_1_boo_backend_voice.html @@ -0,0 +1,323 @@ + + + + + + +Amuse: amuse::BooBackendVoice Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::BooBackendVoice Class Reference
+
+
+ +

#include <BooBackend.hpp>

+
+Inheritance diagram for amuse::BooBackendVoice:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::BooBackendVoice:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + + + + + + + + +

+Public Member Functions

BooBackendVoice (boo::IAudioVoiceEngine &engine, Voice &clientVox, double sampleRate, bool dynamicPitch)
 
BooBackendVoice (boo::IAudioSubmix &submix, Voice &clientVox, double sampleRate, bool dynamicPitch)
 
void resetSampleRate (double sampleRate)
 
void setMatrixCoefficients (const float coefs[8])
 
void setPitchRatio (double ratio, bool slew)
 
void start ()
 
void stop ()
 
+ + + +

+Friends

+class BooBackendVoiceAllocator
 
+

Detailed Description

+

Backend voice implementation for boo mixer

+ +

Definition at line 14 of file BooBackend.hpp.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void amuse::BooBackendVoice::resetSampleRate (double sampleRate)
+
+virtual
+
+

Set new sample rate into platform voice (may result in artifacts while playing)

+ +

Implements amuse::IBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void amuse::BooBackendVoice::setMatrixCoefficients (const float coefs[8])
+
+virtual
+
+

Set channel-gains for audio source (AudioChannel enum for array index)

+ +

Implements amuse::IBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void amuse::BooBackendVoice::setPitchRatio (double ratio,
bool slew 
)
+
+virtual
+
+

Called by client to dynamically adjust the pitch of voices with dynamic pitch enabled

+ +

Implements amuse::IBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void amuse::BooBackendVoice::start ()
+
+virtual
+
+

Instructs platform to begin consuming sample data; invoking callback as needed

+ +

Implements amuse::IBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void amuse::BooBackendVoice::stop ()
+
+virtual
+
+

Instructs platform to stop consuming sample data

+ +

Implements amuse::IBackendVoice.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_boo_backend_voice.js b/classamuse_1_1_boo_backend_voice.js new file mode 100644 index 0000000..6547b4f --- /dev/null +++ b/classamuse_1_1_boo_backend_voice.js @@ -0,0 +1,11 @@ +var classamuse_1_1_boo_backend_voice = +[ + [ "BooBackendVoice", "classamuse_1_1_boo_backend_voice.html#a5111e5e739f9ec501135c1909f1239ad", null ], + [ "BooBackendVoice", "classamuse_1_1_boo_backend_voice.html#a952f9042c3a03a253c22b73afdfb4504", null ], + [ "resetSampleRate", "classamuse_1_1_boo_backend_voice.html#adf12975604e1a02a10154f729243762c", null ], + [ "setMatrixCoefficients", "classamuse_1_1_boo_backend_voice.html#a804addde2d22c0e2561c0c6579123758", null ], + [ "setPitchRatio", "classamuse_1_1_boo_backend_voice.html#a1d311de6e7ac072324bd1ba28179129e", null ], + [ "start", "classamuse_1_1_boo_backend_voice.html#a45f4d6ea4d4ba42c771a6470ddab69e9", null ], + [ "stop", "classamuse_1_1_boo_backend_voice.html#a8f5a4200b23ce3997345d37cebb65595", null ], + [ "BooBackendVoiceAllocator", "classamuse_1_1_boo_backend_voice.html#a3f77b3f00d274ab0feae7072520b6613", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_voice__coll__graph.map b/classamuse_1_1_boo_backend_voice__coll__graph.map new file mode 100644 index 0000000..1be4ec8 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_boo_backend_voice__coll__graph.md5 b/classamuse_1_1_boo_backend_voice__coll__graph.md5 new file mode 100644 index 0000000..1baa26c --- /dev/null +++ b/classamuse_1_1_boo_backend_voice__coll__graph.md5 @@ -0,0 +1 @@ +704ebe997f956f10fb1c1493b2c4e0f9 \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_voice__coll__graph.png b/classamuse_1_1_boo_backend_voice__coll__graph.png new file mode 100644 index 0000000..4b0b1c2 Binary files /dev/null and b/classamuse_1_1_boo_backend_voice__coll__graph.png differ diff --git a/classamuse_1_1_boo_backend_voice__inherit__graph.map b/classamuse_1_1_boo_backend_voice__inherit__graph.map new file mode 100644 index 0000000..1be4ec8 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_boo_backend_voice__inherit__graph.md5 b/classamuse_1_1_boo_backend_voice__inherit__graph.md5 new file mode 100644 index 0000000..1baa26c --- /dev/null +++ b/classamuse_1_1_boo_backend_voice__inherit__graph.md5 @@ -0,0 +1 @@ +704ebe997f956f10fb1c1493b2c4e0f9 \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_voice__inherit__graph.png b/classamuse_1_1_boo_backend_voice__inherit__graph.png new file mode 100644 index 0000000..4b0b1c2 Binary files /dev/null and b/classamuse_1_1_boo_backend_voice__inherit__graph.png differ diff --git a/classamuse_1_1_boo_backend_voice_allocator-members.html b/classamuse_1_1_boo_backend_voice_allocator-members.html new file mode 100644 index 0000000..99702c6 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice_allocator-members.html @@ -0,0 +1,131 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::BooBackendVoiceAllocator Member List
+
+
+ +

This is the complete list of members for amuse::BooBackendVoiceAllocator, including all inherited members.

+ + + + + + + +
allocateSubmix(Submix &clientSmx)amuse::BooBackendVoiceAllocatorvirtual
allocateVoice(Voice &clientVox, double sampleRate, bool dynamicPitch)amuse::BooBackendVoiceAllocatorvirtual
BooBackendVoiceAllocator(boo::IAudioVoiceEngine &booEngine) (defined in amuse::BooBackendVoiceAllocator)amuse::BooBackendVoiceAllocator
getAvailableSet()amuse::BooBackendVoiceAllocatorvirtual
pumpAndMixVoices()amuse::BooBackendVoiceAllocatorvirtual
~IBackendVoiceAllocator()=default (defined in amuse::IBackendVoiceAllocator)amuse::IBackendVoiceAllocatorvirtual
+
+ + + + diff --git a/classamuse_1_1_boo_backend_voice_allocator.html b/classamuse_1_1_boo_backend_voice_allocator.html new file mode 100644 index 0000000..e446a61 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice_allocator.html @@ -0,0 +1,289 @@ + + + + + + +Amuse: amuse::BooBackendVoiceAllocator Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::BooBackendVoiceAllocator Class Reference
+
+
+ +

#include <BooBackend.hpp>

+
+Inheritance diagram for amuse::BooBackendVoiceAllocator:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::BooBackendVoiceAllocator:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + + + + +

+Public Member Functions

BooBackendVoiceAllocator (boo::IAudioVoiceEngine &booEngine)
 
std::unique_ptr< IBackendVoiceallocateVoice (Voice &clientVox, double sampleRate, bool dynamicPitch)
 
std::unique_ptr< IBackendSubmixallocateSubmix (Submix &clientSmx)
 
AudioChannelSet getAvailableSet ()
 
void pumpAndMixVoices ()
 
+

Detailed Description

+

Backend voice allocator implementation for boo mixer

+ +

Definition at line 65 of file BooBackend.hpp.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
std::unique_ptr<IBackendSubmix> amuse::BooBackendVoiceAllocator::allocateSubmix (SubmixclientSmx)
+
+virtual
+
+

Amuse obtains a new submix from the platform this way

+ +

Implements amuse::IBackendVoiceAllocator.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr<IBackendVoice> amuse::BooBackendVoiceAllocator::allocateVoice (VoiceclientVox,
double sampleRate,
bool dynamicPitch 
)
+
+virtual
+
+

Amuse obtains a new voice from the platform this way

+ +

Implements amuse::IBackendVoiceAllocator.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
AudioChannelSet amuse::BooBackendVoiceAllocator::getAvailableSet ()
+
+virtual
+
+

Amuse obtains speaker-configuration from the platform this way

+ +

Implements amuse::IBackendVoiceAllocator.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void amuse::BooBackendVoiceAllocator::pumpAndMixVoices ()
+
+virtual
+
+

Amuse flushes voice samples to the backend this way

+ +

Implements amuse::IBackendVoiceAllocator.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_boo_backend_voice_allocator.js b/classamuse_1_1_boo_backend_voice_allocator.js new file mode 100644 index 0000000..de6d805 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice_allocator.js @@ -0,0 +1,8 @@ +var classamuse_1_1_boo_backend_voice_allocator = +[ + [ "BooBackendVoiceAllocator", "classamuse_1_1_boo_backend_voice_allocator.html#a8f02195ad1bbdcaad0986f97b2049160", null ], + [ "allocateSubmix", "classamuse_1_1_boo_backend_voice_allocator.html#afd2f849e87fdd835890d501c0c369bf5", null ], + [ "allocateVoice", "classamuse_1_1_boo_backend_voice_allocator.html#ab36c8f49d507b4f368b6ab16dfadeb74", null ], + [ "getAvailableSet", "classamuse_1_1_boo_backend_voice_allocator.html#a0e022f06d925354a8777b645b3243f9d", null ], + [ "pumpAndMixVoices", "classamuse_1_1_boo_backend_voice_allocator.html#af72d05fc0d60f3470be3641b1e46e408", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_voice_allocator__coll__graph.map b/classamuse_1_1_boo_backend_voice_allocator__coll__graph.map new file mode 100644 index 0000000..54ccf49 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice_allocator__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_boo_backend_voice_allocator__coll__graph.md5 b/classamuse_1_1_boo_backend_voice_allocator__coll__graph.md5 new file mode 100644 index 0000000..8175b28 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice_allocator__coll__graph.md5 @@ -0,0 +1 @@ +e1bb92a8a61942bcf1bc20c2aea75521 \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_voice_allocator__coll__graph.png b/classamuse_1_1_boo_backend_voice_allocator__coll__graph.png new file mode 100644 index 0000000..0735087 Binary files /dev/null and b/classamuse_1_1_boo_backend_voice_allocator__coll__graph.png differ diff --git a/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.map b/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.map new file mode 100644 index 0000000..54ccf49 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.md5 b/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.md5 new file mode 100644 index 0000000..8175b28 --- /dev/null +++ b/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.md5 @@ -0,0 +1 @@ +e1bb92a8a61942bcf1bc20c2aea75521 \ No newline at end of file diff --git a/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.png b/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.png new file mode 100644 index 0000000..0735087 Binary files /dev/null and b/classamuse_1_1_boo_backend_voice_allocator__inherit__graph.png differ diff --git a/classamuse_1_1_effect_base-members.html b/classamuse_1_1_effect_base-members.html new file mode 100644 index 0000000..606296b --- /dev/null +++ b/classamuse_1_1_effect_base-members.html @@ -0,0 +1,127 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectBase< T > Member List
+
+
+ +

This is the complete list of members for amuse::EffectBase< T >, including all inherited members.

+ + + +
applyEffect(T *audio, size_t frameCount, const ChannelMap &chanMap)=0 (defined in amuse::EffectBase< T >)amuse::EffectBase< T >pure virtual
~EffectBaseTypeless()=default (defined in amuse::EffectBaseTypeless)amuse::EffectBaseTypelessvirtual
+
+ + + + diff --git a/classamuse_1_1_effect_base.html b/classamuse_1_1_effect_base.html new file mode 100644 index 0000000..e3da5b8 --- /dev/null +++ b/classamuse_1_1_effect_base.html @@ -0,0 +1,162 @@ + + + + + + +Amuse: amuse::EffectBase< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectBase< T > Class Template Referenceabstract
+
+
+
+Inheritance diagram for amuse::EffectBase< T >:
+
+
Inheritance graph
+ + + + + + + +
+
+Collaboration diagram for amuse::EffectBase< T >:
+
+
Collaboration graph
+ + + +
+ + + + +

+Public Member Functions

+virtual void applyEffect (T *audio, size_t frameCount, const ChannelMap &chanMap)=0
 
+

Detailed Description

+

template<typename T>
+class amuse::EffectBase< T >

+ + +

Definition at line 18 of file EffectBase.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_base.js b/classamuse_1_1_effect_base.js new file mode 100644 index 0000000..8540b3d --- /dev/null +++ b/classamuse_1_1_effect_base.js @@ -0,0 +1,4 @@ +var classamuse_1_1_effect_base = +[ + [ "applyEffect", "classamuse_1_1_effect_base.html#aa3e89277141df2d8b7a1a33631aad27c", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_base__coll__graph.map b/classamuse_1_1_effect_base__coll__graph.map new file mode 100644 index 0000000..9ef29aa --- /dev/null +++ b/classamuse_1_1_effect_base__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_effect_base__coll__graph.md5 b/classamuse_1_1_effect_base__coll__graph.md5 new file mode 100644 index 0000000..612074a --- /dev/null +++ b/classamuse_1_1_effect_base__coll__graph.md5 @@ -0,0 +1 @@ +442d7fa4d605edfcf591bc982abe704b \ No newline at end of file diff --git a/classamuse_1_1_effect_base__coll__graph.png b/classamuse_1_1_effect_base__coll__graph.png new file mode 100644 index 0000000..93ea452 Binary files /dev/null and b/classamuse_1_1_effect_base__coll__graph.png differ diff --git a/classamuse_1_1_effect_base__inherit__graph.map b/classamuse_1_1_effect_base__inherit__graph.map new file mode 100644 index 0000000..c698e1a --- /dev/null +++ b/classamuse_1_1_effect_base__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classamuse_1_1_effect_base__inherit__graph.md5 b/classamuse_1_1_effect_base__inherit__graph.md5 new file mode 100644 index 0000000..98b8a3e --- /dev/null +++ b/classamuse_1_1_effect_base__inherit__graph.md5 @@ -0,0 +1 @@ +43c3f0200c9dd568310b5f8d09d4fb01 \ No newline at end of file diff --git a/classamuse_1_1_effect_base__inherit__graph.png b/classamuse_1_1_effect_base__inherit__graph.png new file mode 100644 index 0000000..3da4f79 Binary files /dev/null and b/classamuse_1_1_effect_base__inherit__graph.png differ diff --git a/classamuse_1_1_effect_base_typeless-members.html b/classamuse_1_1_effect_base_typeless-members.html new file mode 100644 index 0000000..b449a88 --- /dev/null +++ b/classamuse_1_1_effect_base_typeless-members.html @@ -0,0 +1,126 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectBaseTypeless Member List
+
+
+ +

This is the complete list of members for amuse::EffectBaseTypeless, including all inherited members.

+ + +
~EffectBaseTypeless()=default (defined in amuse::EffectBaseTypeless)amuse::EffectBaseTypelessvirtual
+
+ + + + diff --git a/classamuse_1_1_effect_base_typeless.html b/classamuse_1_1_effect_base_typeless.html new file mode 100644 index 0000000..03259a1 --- /dev/null +++ b/classamuse_1_1_effect_base_typeless.html @@ -0,0 +1,150 @@ + + + + + + +Amuse: amuse::EffectBaseTypeless Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectBaseTypeless Class Reference
+
+
+
+Inheritance diagram for amuse::EffectBaseTypeless:
+
+
Inheritance graph
+ + + + + + + +
+
+Collaboration diagram for amuse::EffectBaseTypeless:
+
+
Collaboration graph
+ + +
+

Detailed Description

+
+

Definition at line 11 of file EffectBase.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_base_typeless.js b/classamuse_1_1_effect_base_typeless.js new file mode 100644 index 0000000..3e33afb --- /dev/null +++ b/classamuse_1_1_effect_base_typeless.js @@ -0,0 +1,4 @@ +var classamuse_1_1_effect_base_typeless = +[ + [ "~EffectBaseTypeless", "classamuse_1_1_effect_base_typeless.html#a7c55533a5fc7c56dae1fd77b08d56b76", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_base_typeless__coll__graph.map b/classamuse_1_1_effect_base_typeless__coll__graph.map new file mode 100644 index 0000000..c32c2da --- /dev/null +++ b/classamuse_1_1_effect_base_typeless__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_effect_base_typeless__coll__graph.md5 b/classamuse_1_1_effect_base_typeless__coll__graph.md5 new file mode 100644 index 0000000..17963b2 --- /dev/null +++ b/classamuse_1_1_effect_base_typeless__coll__graph.md5 @@ -0,0 +1 @@ +a1df8e0a17e3b2b91ae14d0378ef2d7e \ No newline at end of file diff --git a/classamuse_1_1_effect_base_typeless__coll__graph.png b/classamuse_1_1_effect_base_typeless__coll__graph.png new file mode 100644 index 0000000..71dfe78 Binary files /dev/null and b/classamuse_1_1_effect_base_typeless__coll__graph.png differ diff --git a/classamuse_1_1_effect_base_typeless__inherit__graph.map b/classamuse_1_1_effect_base_typeless__inherit__graph.map new file mode 100644 index 0000000..891fa22 --- /dev/null +++ b/classamuse_1_1_effect_base_typeless__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classamuse_1_1_effect_base_typeless__inherit__graph.md5 b/classamuse_1_1_effect_base_typeless__inherit__graph.md5 new file mode 100644 index 0000000..516b64f --- /dev/null +++ b/classamuse_1_1_effect_base_typeless__inherit__graph.md5 @@ -0,0 +1 @@ +b1e4782277f67887be68d34e13e0e466 \ No newline at end of file diff --git a/classamuse_1_1_effect_base_typeless__inherit__graph.png b/classamuse_1_1_effect_base_typeless__inherit__graph.png new file mode 100644 index 0000000..6d527f6 Binary files /dev/null and b/classamuse_1_1_effect_base_typeless__inherit__graph.png differ diff --git a/classamuse_1_1_effect_chorus-members.html b/classamuse_1_1_effect_chorus-members.html new file mode 100644 index 0000000..b5d6cc5 --- /dev/null +++ b/classamuse_1_1_effect_chorus-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectChorus Member List
+
+
+ +

This is the complete list of members for amuse::EffectChorus, including all inherited members.

+ + + + + + +
EffectChorusImp (defined in amuse::EffectChorus)amuse::EffectChorusfriend
ImpType typedef (defined in amuse::EffectChorus)amuse::EffectChorus
setBaseDelay(uint32_t baseDelay) (defined in amuse::EffectChorus)amuse::EffectChorusinline
setPeriod(uint32_t period) (defined in amuse::EffectChorus)amuse::EffectChorusinline
setVariation(uint32_t variation) (defined in amuse::EffectChorus)amuse::EffectChorusinline
+
+ + + + diff --git a/classamuse_1_1_effect_chorus.html b/classamuse_1_1_effect_chorus.html new file mode 100644 index 0000000..030bac8 --- /dev/null +++ b/classamuse_1_1_effect_chorus.html @@ -0,0 +1,179 @@ + + + + + + +Amuse: amuse::EffectChorus Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectChorus Class Reference
+
+
+ +

#include <EffectChorus.hpp>

+
+Inheritance diagram for amuse::EffectChorus:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::EffectChorus:
+
+
Collaboration graph
+ + +
+ + + + + +

+Public Types

+template<typename T >
using ImpType = EffectChorusImp< T >
 
+ + + + + + + +

+Public Member Functions

+void setBaseDelay (uint32_t baseDelay)
 
+void setVariation (uint32_t variation)
 
+void setPeriod (uint32_t period)
 
+ + + + +

+Friends

+template<typename T >
class EffectChorusImp
 
+

Detailed Description

+

Mixes the audio back into itself after continuously-varying delay

+ +

Definition at line 16 of file EffectChorus.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_chorus.js b/classamuse_1_1_effect_chorus.js new file mode 100644 index 0000000..931c5dc --- /dev/null +++ b/classamuse_1_1_effect_chorus.js @@ -0,0 +1,8 @@ +var classamuse_1_1_effect_chorus = +[ + [ "ImpType", "classamuse_1_1_effect_chorus.html#a1101e7513f0472877cbe93cbc5ae9c68", null ], + [ "setBaseDelay", "classamuse_1_1_effect_chorus.html#a3b81f7c286f7e8d1896e2dd887e97826", null ], + [ "setPeriod", "classamuse_1_1_effect_chorus.html#a38bb81e936ba80b677b300883c4ac42a", null ], + [ "setVariation", "classamuse_1_1_effect_chorus.html#ae207b261549d2caca454401558ac634e", null ], + [ "EffectChorusImp", "classamuse_1_1_effect_chorus.html#a784fdee69d9ca0f3cd207681b3bcc7eb", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_chorus__coll__graph.map b/classamuse_1_1_effect_chorus__coll__graph.map new file mode 100644 index 0000000..319f538 --- /dev/null +++ b/classamuse_1_1_effect_chorus__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_effect_chorus__coll__graph.md5 b/classamuse_1_1_effect_chorus__coll__graph.md5 new file mode 100644 index 0000000..8e06939 --- /dev/null +++ b/classamuse_1_1_effect_chorus__coll__graph.md5 @@ -0,0 +1 @@ +b22e5b4fe06d31eae491bbaaf82190d0 \ No newline at end of file diff --git a/classamuse_1_1_effect_chorus__coll__graph.png b/classamuse_1_1_effect_chorus__coll__graph.png new file mode 100644 index 0000000..9df1f69 Binary files /dev/null and b/classamuse_1_1_effect_chorus__coll__graph.png differ diff --git a/classamuse_1_1_effect_chorus__inherit__graph.map b/classamuse_1_1_effect_chorus__inherit__graph.map new file mode 100644 index 0000000..21d1ad3 --- /dev/null +++ b/classamuse_1_1_effect_chorus__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_effect_chorus__inherit__graph.md5 b/classamuse_1_1_effect_chorus__inherit__graph.md5 new file mode 100644 index 0000000..396e19e --- /dev/null +++ b/classamuse_1_1_effect_chorus__inherit__graph.md5 @@ -0,0 +1 @@ +9d71a75f931a7aae3f0bbe1631666ed4 \ No newline at end of file diff --git a/classamuse_1_1_effect_chorus__inherit__graph.png b/classamuse_1_1_effect_chorus__inherit__graph.png new file mode 100644 index 0000000..986e316 Binary files /dev/null and b/classamuse_1_1_effect_chorus__inherit__graph.png differ diff --git a/classamuse_1_1_effect_chorus_imp-members.html b/classamuse_1_1_effect_chorus_imp-members.html new file mode 100644 index 0000000..1845e42 --- /dev/null +++ b/classamuse_1_1_effect_chorus_imp-members.html @@ -0,0 +1,133 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectChorusImp< T > Member List
+
+
+ +

This is the complete list of members for amuse::EffectChorusImp< T >, including all inherited members.

+ + + + + + + + + +
applyEffect(T *audio, size_t frameCount, const ChannelMap &chanMap) (defined in amuse::EffectChorusImp< T >)amuse::EffectChorusImp< T >virtual
EffectChorusImp(uint32_t baseDelay, uint32_t variation, uint32_t period, double sampleRate) (defined in amuse::EffectChorusImp< T >)amuse::EffectChorusImp< T >
ImpType typedef (defined in amuse::EffectChorus)amuse::EffectChorus
setBaseDelay(uint32_t baseDelay) (defined in amuse::EffectChorus)amuse::EffectChorusinline
setPeriod(uint32_t period) (defined in amuse::EffectChorus)amuse::EffectChorusinline
setVariation(uint32_t variation) (defined in amuse::EffectChorus)amuse::EffectChorusinline
~EffectBaseTypeless()=default (defined in amuse::EffectBaseTypeless)amuse::EffectBaseTypelessvirtual
~EffectChorusImp() (defined in amuse::EffectChorusImp< T >)amuse::EffectChorusImp< T >
+
+ + + + diff --git a/classamuse_1_1_effect_chorus_imp.html b/classamuse_1_1_effect_chorus_imp.html new file mode 100644 index 0000000..5a6f50f --- /dev/null +++ b/classamuse_1_1_effect_chorus_imp.html @@ -0,0 +1,187 @@ + + + + + + +Amuse: amuse::EffectChorusImp< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectChorusImp< T > Class Template Reference
+
+
+ +

#include <EffectChorus.hpp>

+
+Inheritance diagram for amuse::EffectChorusImp< T >:
+
+
Inheritance graph
+ + + + + +
+
+Collaboration diagram for amuse::EffectChorusImp< T >:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + +

+Public Member Functions

EffectChorusImp (uint32_t baseDelay, uint32_t variation, uint32_t period, double sampleRate)
 
+void applyEffect (T *audio, size_t frameCount, const ChannelMap &chanMap)
 
- Public Member Functions inherited from amuse::EffectChorus
+void setBaseDelay (uint32_t baseDelay)
 
+void setVariation (uint32_t variation)
 
+void setPeriod (uint32_t period)
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from amuse::EffectChorus
+template<typename T >
using ImpType = EffectChorusImp< T >
 
+

Detailed Description

+

template<typename T>
+class amuse::EffectChorusImp< T >

+ +

Type-specific implementation of chorus effect

+ +

Definition at line 11 of file EffectChorus.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_chorus_imp.js b/classamuse_1_1_effect_chorus_imp.js new file mode 100644 index 0000000..f296414 --- /dev/null +++ b/classamuse_1_1_effect_chorus_imp.js @@ -0,0 +1,6 @@ +var classamuse_1_1_effect_chorus_imp = +[ + [ "~EffectChorusImp", "classamuse_1_1_effect_chorus_imp.html#a60600fd2196beb40c4447717f77512d0", null ], + [ "EffectChorusImp", "classamuse_1_1_effect_chorus_imp.html#a6d371f4add167bba8a4a8a6760741ab5", null ], + [ "applyEffect", "classamuse_1_1_effect_chorus_imp.html#a9711d9eab375b99445d0430c235d51e7", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_chorus_imp__coll__graph.map b/classamuse_1_1_effect_chorus_imp__coll__graph.map new file mode 100644 index 0000000..2754d88 --- /dev/null +++ b/classamuse_1_1_effect_chorus_imp__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_effect_chorus_imp__coll__graph.md5 b/classamuse_1_1_effect_chorus_imp__coll__graph.md5 new file mode 100644 index 0000000..567a011 --- /dev/null +++ b/classamuse_1_1_effect_chorus_imp__coll__graph.md5 @@ -0,0 +1 @@ +698d92b65931a64606fab1bf68505d2f \ No newline at end of file diff --git a/classamuse_1_1_effect_chorus_imp__coll__graph.png b/classamuse_1_1_effect_chorus_imp__coll__graph.png new file mode 100644 index 0000000..db11847 Binary files /dev/null and b/classamuse_1_1_effect_chorus_imp__coll__graph.png differ diff --git a/classamuse_1_1_effect_chorus_imp__inherit__graph.map b/classamuse_1_1_effect_chorus_imp__inherit__graph.map new file mode 100644 index 0000000..2754d88 --- /dev/null +++ b/classamuse_1_1_effect_chorus_imp__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_effect_chorus_imp__inherit__graph.md5 b/classamuse_1_1_effect_chorus_imp__inherit__graph.md5 new file mode 100644 index 0000000..567a011 --- /dev/null +++ b/classamuse_1_1_effect_chorus_imp__inherit__graph.md5 @@ -0,0 +1 @@ +698d92b65931a64606fab1bf68505d2f \ No newline at end of file diff --git a/classamuse_1_1_effect_chorus_imp__inherit__graph.png b/classamuse_1_1_effect_chorus_imp__inherit__graph.png new file mode 100644 index 0000000..db11847 Binary files /dev/null and b/classamuse_1_1_effect_chorus_imp__inherit__graph.png differ diff --git a/classamuse_1_1_effect_delay-members.html b/classamuse_1_1_effect_delay-members.html new file mode 100644 index 0000000..44d7791 --- /dev/null +++ b/classamuse_1_1_effect_delay-members.html @@ -0,0 +1,136 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectDelay Member List
+
+
+ +

This is the complete list of members for amuse::EffectDelay, including all inherited members.

+ + + + + + + + + + + + +
ImpType typedef (defined in amuse::EffectDelay)amuse::EffectDelay
m_dirtyamuse::EffectDelayprotected
setChanDelay(int chanIdx, uint32_t delay) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setChanFeedback(int chanIdx, uint32_t feedback) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setChanOutput(int chanIdx, uint32_t output) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setDelay(uint32_t delay) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setFeedback(uint32_t feedback) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setOutput(uint32_t output) (defined in amuse::EffectDelay)amuse::EffectDelayinline
x3c_delayamuse::EffectDelayprotected
x48_feedbackamuse::EffectDelayprotected
x54_outputamuse::EffectDelayprotected
+
+ + + + diff --git a/classamuse_1_1_effect_delay.html b/classamuse_1_1_effect_delay.html new file mode 100644 index 0000000..1a0450a --- /dev/null +++ b/classamuse_1_1_effect_delay.html @@ -0,0 +1,285 @@ + + + + + + +Amuse: amuse::EffectDelay Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectDelay Class Reference
+
+
+ +

#include <EffectDelay.hpp>

+
+Inheritance diagram for amuse::EffectDelay:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::EffectDelay:
+
+
Collaboration graph
+ + +
+ + + + + +

+Public Types

+template<typename T >
using ImpType = EffectDelayImp< T >
 
+ + + + + + + + + + + + + +

+Public Member Functions

+void setDelay (uint32_t delay)
 
+void setChanDelay (int chanIdx, uint32_t delay)
 
+void setFeedback (uint32_t feedback)
 
+void setChanFeedback (int chanIdx, uint32_t feedback)
 
+void setOutput (uint32_t output)
 
+void setChanOutput (int chanIdx, uint32_t output)
 
+ + + + + + + + + +

+Protected Attributes

uint32_t x3c_delay [8]
 
uint32_t x48_feedback [8]
 
uint32_t x54_output [8]
 
bool m_dirty = true
 
+

Detailed Description

+

Mixes the audio back into itself after specified delay

+ +

Definition at line 15 of file EffectDelay.hpp.

+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
bool amuse::EffectDelay::m_dirty = true
+
+protected
+
+

needs update of internal parameter data

+ +

Definition at line 21 of file EffectDelay.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint32_t amuse::EffectDelay::x3c_delay[8]
+
+protected
+
+

[10, 5000] time in ms of each channel's delay

+ +

Definition at line 18 of file EffectDelay.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint32_t amuse::EffectDelay::x48_feedback[8]
+
+protected
+
+

[0, 100] percent to mix delayed signal with input signal

+ +

Definition at line 19 of file EffectDelay.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
uint32_t amuse::EffectDelay::x54_output[8]
+
+protected
+
+

[0, 100] total output percent

+ +

Definition at line 20 of file EffectDelay.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_delay.js b/classamuse_1_1_effect_delay.js new file mode 100644 index 0000000..2887655 --- /dev/null +++ b/classamuse_1_1_effect_delay.js @@ -0,0 +1,14 @@ +var classamuse_1_1_effect_delay = +[ + [ "ImpType", "classamuse_1_1_effect_delay.html#a9eef638b5ee9e6ebf482563769d4fb8b", null ], + [ "setChanDelay", "classamuse_1_1_effect_delay.html#a6cb26db788c87d22d8cd59c0841fb113", null ], + [ "setChanFeedback", "classamuse_1_1_effect_delay.html#ae89b8e41377fb8365065b69dc94bdbd5", null ], + [ "setChanOutput", "classamuse_1_1_effect_delay.html#a7a0e95979652d1f9b3c32a05866ee534", null ], + [ "setDelay", "classamuse_1_1_effect_delay.html#af38887136ffce3c7032b5f0629f40680", null ], + [ "setFeedback", "classamuse_1_1_effect_delay.html#a683fcdecefb90d183df681b0e2bb000c", null ], + [ "setOutput", "classamuse_1_1_effect_delay.html#a7f9f4a0870bee44d6e0f1180bc9bf821", null ], + [ "m_dirty", "classamuse_1_1_effect_delay.html#acdfb395ee9e7d6cbaf3f432646e4ca2e", null ], + [ "x3c_delay", "classamuse_1_1_effect_delay.html#ade2163d943f5610e6c5f32f1d6398ed2", null ], + [ "x48_feedback", "classamuse_1_1_effect_delay.html#aef905ec7d2212c04f2beb2077fb087df", null ], + [ "x54_output", "classamuse_1_1_effect_delay.html#a9d04328d834a3996ce31b2d59d04d75a", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_delay__coll__graph.map b/classamuse_1_1_effect_delay__coll__graph.map new file mode 100644 index 0000000..710b477 --- /dev/null +++ b/classamuse_1_1_effect_delay__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_effect_delay__coll__graph.md5 b/classamuse_1_1_effect_delay__coll__graph.md5 new file mode 100644 index 0000000..bb4f56e --- /dev/null +++ b/classamuse_1_1_effect_delay__coll__graph.md5 @@ -0,0 +1 @@ +2a30d6cf72b553ab0c347b8a12b34c7b \ No newline at end of file diff --git a/classamuse_1_1_effect_delay__coll__graph.png b/classamuse_1_1_effect_delay__coll__graph.png new file mode 100644 index 0000000..b203d5c Binary files /dev/null and b/classamuse_1_1_effect_delay__coll__graph.png differ diff --git a/classamuse_1_1_effect_delay__inherit__graph.map b/classamuse_1_1_effect_delay__inherit__graph.map new file mode 100644 index 0000000..c6507d0 --- /dev/null +++ b/classamuse_1_1_effect_delay__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_effect_delay__inherit__graph.md5 b/classamuse_1_1_effect_delay__inherit__graph.md5 new file mode 100644 index 0000000..458d203 --- /dev/null +++ b/classamuse_1_1_effect_delay__inherit__graph.md5 @@ -0,0 +1 @@ +048b0744877f996404ffd75a6c6097c8 \ No newline at end of file diff --git a/classamuse_1_1_effect_delay__inherit__graph.png b/classamuse_1_1_effect_delay__inherit__graph.png new file mode 100644 index 0000000..ef0cb0e Binary files /dev/null and b/classamuse_1_1_effect_delay__inherit__graph.png differ diff --git a/classamuse_1_1_effect_delay_imp-members.html b/classamuse_1_1_effect_delay_imp-members.html new file mode 100644 index 0000000..d28803e --- /dev/null +++ b/classamuse_1_1_effect_delay_imp-members.html @@ -0,0 +1,139 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectDelayImp< T > Member List
+
+
+ +

This is the complete list of members for amuse::EffectDelayImp< T >, including all inherited members.

+ + + + + + + + + + + + + + + +
applyEffect(T *audio, size_t frameCount, const ChannelMap &chanMap) (defined in amuse::EffectDelayImp< T >)amuse::EffectDelayImp< T >virtual
EffectDelayImp(uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput, double sampleRate) (defined in amuse::EffectDelayImp< T >)amuse::EffectDelayImp< T >
ImpType typedef (defined in amuse::EffectDelay)amuse::EffectDelay
m_dirtyamuse::EffectDelayprotected
setChanDelay(int chanIdx, uint32_t delay) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setChanFeedback(int chanIdx, uint32_t feedback) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setChanOutput(int chanIdx, uint32_t output) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setDelay(uint32_t delay) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setFeedback(uint32_t feedback) (defined in amuse::EffectDelay)amuse::EffectDelayinline
setOutput(uint32_t output) (defined in amuse::EffectDelay)amuse::EffectDelayinline
x3c_delayamuse::EffectDelayprotected
x48_feedbackamuse::EffectDelayprotected
x54_outputamuse::EffectDelayprotected
~EffectBaseTypeless()=default (defined in amuse::EffectBaseTypeless)amuse::EffectBaseTypelessvirtual
+
+ + + + diff --git a/classamuse_1_1_effect_delay_imp.html b/classamuse_1_1_effect_delay_imp.html new file mode 100644 index 0000000..05c866b --- /dev/null +++ b/classamuse_1_1_effect_delay_imp.html @@ -0,0 +1,204 @@ + + + + + + +Amuse: amuse::EffectDelayImp< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectDelayImp< T > Class Template Reference
+
+
+ +

#include <EffectDelay.hpp>

+
+Inheritance diagram for amuse::EffectDelayImp< T >:
+
+
Inheritance graph
+ + + + + +
+
+Collaboration diagram for amuse::EffectDelayImp< T >:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

EffectDelayImp (uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput, double sampleRate)
 
+void applyEffect (T *audio, size_t frameCount, const ChannelMap &chanMap)
 
- Public Member Functions inherited from amuse::EffectDelay
+void setDelay (uint32_t delay)
 
+void setChanDelay (int chanIdx, uint32_t delay)
 
+void setFeedback (uint32_t feedback)
 
+void setChanFeedback (int chanIdx, uint32_t feedback)
 
+void setOutput (uint32_t output)
 
+void setChanOutput (int chanIdx, uint32_t output)
 
+ + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from amuse::EffectDelay
+template<typename T >
using ImpType = EffectDelayImp< T >
 
- Protected Attributes inherited from amuse::EffectDelay
uint32_t x3c_delay [8]
 
uint32_t x48_feedback [8]
 
uint32_t x54_output [8]
 
bool m_dirty = true
 
+

Detailed Description

+

template<typename T>
+class amuse::EffectDelayImp< T >

+ +

Type-specific implementation of delay effect

+ +

Definition at line 12 of file EffectDelay.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_delay_imp.js b/classamuse_1_1_effect_delay_imp.js new file mode 100644 index 0000000..2fef151 --- /dev/null +++ b/classamuse_1_1_effect_delay_imp.js @@ -0,0 +1,5 @@ +var classamuse_1_1_effect_delay_imp = +[ + [ "EffectDelayImp", "classamuse_1_1_effect_delay_imp.html#a89960e7f5cc288ce9d1249cb95fb3ef7", null ], + [ "applyEffect", "classamuse_1_1_effect_delay_imp.html#af434ed95135faa4343ca8b5d7dc92f95", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_delay_imp__coll__graph.map b/classamuse_1_1_effect_delay_imp__coll__graph.map new file mode 100644 index 0000000..97e0714 --- /dev/null +++ b/classamuse_1_1_effect_delay_imp__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_effect_delay_imp__coll__graph.md5 b/classamuse_1_1_effect_delay_imp__coll__graph.md5 new file mode 100644 index 0000000..7329601 --- /dev/null +++ b/classamuse_1_1_effect_delay_imp__coll__graph.md5 @@ -0,0 +1 @@ +889be8949477f4d9b07b734d1f036a71 \ No newline at end of file diff --git a/classamuse_1_1_effect_delay_imp__coll__graph.png b/classamuse_1_1_effect_delay_imp__coll__graph.png new file mode 100644 index 0000000..3f4ac87 Binary files /dev/null and b/classamuse_1_1_effect_delay_imp__coll__graph.png differ diff --git a/classamuse_1_1_effect_delay_imp__inherit__graph.map b/classamuse_1_1_effect_delay_imp__inherit__graph.map new file mode 100644 index 0000000..97e0714 --- /dev/null +++ b/classamuse_1_1_effect_delay_imp__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_effect_delay_imp__inherit__graph.md5 b/classamuse_1_1_effect_delay_imp__inherit__graph.md5 new file mode 100644 index 0000000..7329601 --- /dev/null +++ b/classamuse_1_1_effect_delay_imp__inherit__graph.md5 @@ -0,0 +1 @@ +889be8949477f4d9b07b734d1f036a71 \ No newline at end of file diff --git a/classamuse_1_1_effect_delay_imp__inherit__graph.png b/classamuse_1_1_effect_delay_imp__inherit__graph.png new file mode 100644 index 0000000..3f4ac87 Binary files /dev/null and b/classamuse_1_1_effect_delay_imp__inherit__graph.png differ diff --git a/classamuse_1_1_effect_reverb_hi-members.html b/classamuse_1_1_effect_reverb_hi-members.html new file mode 100644 index 0000000..dec2056 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi-members.html @@ -0,0 +1,140 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectReverbHi Member List
+
+
+ +

This is the complete list of members for amuse::EffectReverbHi, including all inherited members.

+ + + + + + + + + + + + + + + + +
EffectReverbHiImp (defined in amuse::EffectReverbHi)amuse::EffectReverbHifriend
EffectReverbStd(float coloration, float mix, float time, float damping, float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdprotected
ImpType typedef (defined in amuse::EffectReverbHi)amuse::EffectReverbHi
m_dirtyamuse::EffectReverbStdprotected
setColoration(float coloration) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setCrosstalk(float crosstalk) (defined in amuse::EffectReverbHi)amuse::EffectReverbHiinline
setDamping(float damping) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setMix(float mix) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setPreDelay(float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setTime(float time) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
x140_x1c8_colorationamuse::EffectReverbStdprotected
x144_x1cc_mixamuse::EffectReverbStdprotected
x148_x1d0_timeamuse::EffectReverbStdprotected
x14c_x1d4_dampingamuse::EffectReverbStdprotected
x150_x1d8_preDelayamuse::EffectReverbStdprotected
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_hi.html b/classamuse_1_1_effect_reverb_hi.html new file mode 100644 index 0000000..07a6614 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi.html @@ -0,0 +1,216 @@ + + + + + + +Amuse: amuse::EffectReverbHi Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectReverbHi Class Reference
+
+
+ +

#include <EffectReverb.hpp>

+
+Inheritance diagram for amuse::EffectReverbHi:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for amuse::EffectReverbHi:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + +

+Public Types

+template<typename T >
using ImpType = EffectReverbHiImp< T >
 
- Public Types inherited from amuse::EffectReverbStd
+template<typename T >
using ImpType = EffectReverbStdImp< T >
 
+ + + + + + + + + + + + + + +

+Public Member Functions

+void setCrosstalk (float crosstalk)
 
- Public Member Functions inherited from amuse::EffectReverbStd
+void setColoration (float coloration)
 
+void setMix (float mix)
 
+void setTime (float time)
 
+void setDamping (float damping)
 
+void setPreDelay (float preDelay)
 
+ + + + +

+Friends

+template<typename T >
class EffectReverbHiImp
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from amuse::EffectReverbStd
EffectReverbStd (float coloration, float mix, float time, float damping, float preDelay)
 
- Protected Attributes inherited from amuse::EffectReverbStd
float x140_x1c8_coloration
 
float x144_x1cc_mix
 
float x148_x1d0_time
 
float x14c_x1d4_damping
 
float x150_x1d8_preDelay
 
bool m_dirty = true
 
+

Detailed Description

+

Reverb effect with configurable reflection filtering, adds per-channel low-pass and crosstalk

+ +

Definition at line 83 of file EffectReverb.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_hi.js b/classamuse_1_1_effect_reverb_hi.js new file mode 100644 index 0000000..f1b38a6 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi.js @@ -0,0 +1,6 @@ +var classamuse_1_1_effect_reverb_hi = +[ + [ "ImpType", "classamuse_1_1_effect_reverb_hi.html#a8848ef64f45055a781f9be0b056f3dd9", null ], + [ "setCrosstalk", "classamuse_1_1_effect_reverb_hi.html#a167dd49f12aeba96ea3e2848800e706b", null ], + [ "EffectReverbHiImp", "classamuse_1_1_effect_reverb_hi.html#a95f0935fd7ce15f31ad59e3de5d1c590", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_hi__coll__graph.map b/classamuse_1_1_effect_reverb_hi__coll__graph.map new file mode 100644 index 0000000..a7cad80 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_effect_reverb_hi__coll__graph.md5 b/classamuse_1_1_effect_reverb_hi__coll__graph.md5 new file mode 100644 index 0000000..4ee4f39 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi__coll__graph.md5 @@ -0,0 +1 @@ +f56df713fe94ab1ea1a6cd0a2b5ca01e \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_hi__coll__graph.png b/classamuse_1_1_effect_reverb_hi__coll__graph.png new file mode 100644 index 0000000..95c55dd Binary files /dev/null and b/classamuse_1_1_effect_reverb_hi__coll__graph.png differ diff --git a/classamuse_1_1_effect_reverb_hi__inherit__graph.map b/classamuse_1_1_effect_reverb_hi__inherit__graph.map new file mode 100644 index 0000000..e2f0916 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/classamuse_1_1_effect_reverb_hi__inherit__graph.md5 b/classamuse_1_1_effect_reverb_hi__inherit__graph.md5 new file mode 100644 index 0000000..0f97d03 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi__inherit__graph.md5 @@ -0,0 +1 @@ +bab281d5abae5bb8d81d178c9382f166 \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_hi__inherit__graph.png b/classamuse_1_1_effect_reverb_hi__inherit__graph.png new file mode 100644 index 0000000..eab9b4b Binary files /dev/null and b/classamuse_1_1_effect_reverb_hi__inherit__graph.png differ diff --git a/classamuse_1_1_effect_reverb_hi_imp-members.html b/classamuse_1_1_effect_reverb_hi_imp-members.html new file mode 100644 index 0000000..55bcde9 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi_imp-members.html @@ -0,0 +1,142 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectReverbHiImp< T > Member List
+
+
+ +

This is the complete list of members for amuse::EffectReverbHiImp< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
applyEffect(T *audio, size_t frameCount, const ChannelMap &chanMap) (defined in amuse::EffectReverbHiImp< T >)amuse::EffectReverbHiImp< T >virtual
EffectReverbHiImp(float coloration, float mix, float time, float damping, float preDelay, float crosstalk, double sampleRate) (defined in amuse::EffectReverbHiImp< T >)amuse::EffectReverbHiImp< T >
EffectReverbStd(float coloration, float mix, float time, float damping, float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdprotected
ImpType typedef (defined in amuse::EffectReverbHi)amuse::EffectReverbHi
m_dirtyamuse::EffectReverbStdprotected
setColoration(float coloration) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setCrosstalk(float crosstalk) (defined in amuse::EffectReverbHi)amuse::EffectReverbHiinline
setDamping(float damping) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setMix(float mix) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setPreDelay(float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setTime(float time) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
x140_x1c8_colorationamuse::EffectReverbStdprotected
x144_x1cc_mixamuse::EffectReverbStdprotected
x148_x1d0_timeamuse::EffectReverbStdprotected
x14c_x1d4_dampingamuse::EffectReverbStdprotected
x150_x1d8_preDelayamuse::EffectReverbStdprotected
~EffectBaseTypeless()=default (defined in amuse::EffectBaseTypeless)amuse::EffectBaseTypelessvirtual
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_hi_imp.html b/classamuse_1_1_effect_reverb_hi_imp.html new file mode 100644 index 0000000..7824a54 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi_imp.html @@ -0,0 +1,220 @@ + + + + + + +Amuse: amuse::EffectReverbHiImp< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectReverbHiImp< T > Class Template Reference
+
+
+ +

#include <EffectReverb.hpp>

+
+Inheritance diagram for amuse::EffectReverbHiImp< T >:
+
+
Inheritance graph
+ + + + + + +
+
+Collaboration diagram for amuse::EffectReverbHiImp< T >:
+
+
Collaboration graph
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

EffectReverbHiImp (float coloration, float mix, float time, float damping, float preDelay, float crosstalk, double sampleRate)
 
+void applyEffect (T *audio, size_t frameCount, const ChannelMap &chanMap)
 
- Public Member Functions inherited from amuse::EffectReverbHi
+void setCrosstalk (float crosstalk)
 
- Public Member Functions inherited from amuse::EffectReverbStd
+void setColoration (float coloration)
 
+void setMix (float mix)
 
+void setTime (float time)
 
+void setDamping (float damping)
 
+void setPreDelay (float preDelay)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from amuse::EffectReverbHi
+template<typename T >
using ImpType = EffectReverbHiImp< T >
 
- Public Types inherited from amuse::EffectReverbStd
+template<typename T >
using ImpType = EffectReverbStdImp< T >
 
- Protected Member Functions inherited from amuse::EffectReverbStd
EffectReverbStd (float coloration, float mix, float time, float damping, float preDelay)
 
- Protected Attributes inherited from amuse::EffectReverbStd
float x140_x1c8_coloration
 
float x144_x1cc_mix
 
float x148_x1d0_time
 
float x14c_x1d4_damping
 
float x150_x1d8_preDelay
 
bool m_dirty = true
 
+

Detailed Description

+

template<typename T>
+class amuse::EffectReverbHiImp< T >

+ +

High-quality 3-stage reverb with per-channel low-pass and crosstalk

+ +

Definition at line 28 of file EffectReverb.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_hi_imp.js b/classamuse_1_1_effect_reverb_hi_imp.js new file mode 100644 index 0000000..eaefa8a --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi_imp.js @@ -0,0 +1,5 @@ +var classamuse_1_1_effect_reverb_hi_imp = +[ + [ "EffectReverbHiImp", "classamuse_1_1_effect_reverb_hi_imp.html#aa309c609df65d0ab725a1c558aa83a6c", null ], + [ "applyEffect", "classamuse_1_1_effect_reverb_hi_imp.html#ae6cbb4d7180beeac6f6482046114525e", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_hi_imp__coll__graph.map b/classamuse_1_1_effect_reverb_hi_imp__coll__graph.map new file mode 100644 index 0000000..b987848 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi_imp__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/classamuse_1_1_effect_reverb_hi_imp__coll__graph.md5 b/classamuse_1_1_effect_reverb_hi_imp__coll__graph.md5 new file mode 100644 index 0000000..251a131 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi_imp__coll__graph.md5 @@ -0,0 +1 @@ +c9befd54a4c5705f337aad5f3bee3874 \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_hi_imp__coll__graph.png b/classamuse_1_1_effect_reverb_hi_imp__coll__graph.png new file mode 100644 index 0000000..9aa8a9d Binary files /dev/null and b/classamuse_1_1_effect_reverb_hi_imp__coll__graph.png differ diff --git a/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.map b/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.map new file mode 100644 index 0000000..b987848 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.md5 b/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.md5 new file mode 100644 index 0000000..251a131 --- /dev/null +++ b/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.md5 @@ -0,0 +1 @@ +c9befd54a4c5705f337aad5f3bee3874 \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.png b/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.png new file mode 100644 index 0000000..9aa8a9d Binary files /dev/null and b/classamuse_1_1_effect_reverb_hi_imp__inherit__graph.png differ diff --git a/classamuse_1_1_effect_reverb_std-members.html b/classamuse_1_1_effect_reverb_std-members.html new file mode 100644 index 0000000..4e5da5e --- /dev/null +++ b/classamuse_1_1_effect_reverb_std-members.html @@ -0,0 +1,140 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectReverbStd Member List
+
+
+ +

This is the complete list of members for amuse::EffectReverbStd, including all inherited members.

+ + + + + + + + + + + + + + + + +
EffectReverbHiImp (defined in amuse::EffectReverbStd)amuse::EffectReverbStdfriend
EffectReverbStd(float coloration, float mix, float time, float damping, float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdprotected
EffectReverbStdImp (defined in amuse::EffectReverbStd)amuse::EffectReverbStdfriend
ImpType typedef (defined in amuse::EffectReverbStd)amuse::EffectReverbStd
m_dirtyamuse::EffectReverbStdprotected
setColoration(float coloration) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setDamping(float damping) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setMix(float mix) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setPreDelay(float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setTime(float time) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
x140_x1c8_colorationamuse::EffectReverbStdprotected
x144_x1cc_mixamuse::EffectReverbStdprotected
x148_x1d0_timeamuse::EffectReverbStdprotected
x14c_x1d4_dampingamuse::EffectReverbStdprotected
x150_x1d8_preDelayamuse::EffectReverbStdprotected
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_std.html b/classamuse_1_1_effect_reverb_std.html new file mode 100644 index 0000000..7c30b13 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std.html @@ -0,0 +1,353 @@ + + + + + + +Amuse: amuse::EffectReverbStd Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <EffectReverb.hpp>

+
+Inheritance diagram for amuse::EffectReverbStd:
+
+
Inheritance graph
+ + + + + +
+
+Collaboration diagram for amuse::EffectReverbStd:
+
+
Collaboration graph
+ + +
+ + + + + +

+Public Types

+template<typename T >
using ImpType = EffectReverbStdImp< T >
 
+ + + + + + + + + + + +

+Public Member Functions

+void setColoration (float coloration)
 
+void setMix (float mix)
 
+void setTime (float time)
 
+void setDamping (float damping)
 
+void setPreDelay (float preDelay)
 
+ + + +

+Protected Member Functions

EffectReverbStd (float coloration, float mix, float time, float damping, float preDelay)
 
+ + + + + + + + + + + + + +

+Protected Attributes

float x140_x1c8_coloration
 
float x144_x1cc_mix
 
float x148_x1d0_time
 
float x14c_x1d4_damping
 
float x150_x1d8_preDelay
 
bool m_dirty = true
 
+ + + + + + + +

+Friends

+template<typename T >
class EffectReverbStdImp
 
+template<typename T >
class EffectReverbHiImp
 
+

Detailed Description

+

Reverb effect with configurable reflection filtering

+ +

Definition at line 31 of file EffectReverb.hpp.

+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
bool amuse::EffectReverbStd::m_dirty = true
+
+protected
+
+

needs update of internal parameter data

+ +

Definition at line 39 of file EffectReverb.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float amuse::EffectReverbStd::x140_x1c8_coloration
+
+protected
+
+

[0.0, 1.0] influences filter coefficients to define surface characteristics of a room

+ +

Definition at line 34 of file EffectReverb.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float amuse::EffectReverbStd::x144_x1cc_mix
+
+protected
+
+

[0.0, 1.0] dry/wet mix factor of reverb effect

+ +

Definition at line 35 of file EffectReverb.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float amuse::EffectReverbStd::x148_x1d0_time
+
+protected
+
+

[0.01, 10.0] time in seconds for reflection decay

+ +

Definition at line 36 of file EffectReverb.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float amuse::EffectReverbStd::x14c_x1d4_damping
+
+protected
+
+

[0.0, 1.0] damping factor influencing low-pass filter of reflections

+ +

Definition at line 37 of file EffectReverb.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + +
float amuse::EffectReverbStd::x150_x1d8_preDelay
+
+protected
+
+

[0.0, 0.1] time in seconds before initial reflection heard

+ +

Definition at line 38 of file EffectReverb.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_std.js b/classamuse_1_1_effect_reverb_std.js new file mode 100644 index 0000000..fa78188 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std.js @@ -0,0 +1,18 @@ +var classamuse_1_1_effect_reverb_std = +[ + [ "ImpType", "classamuse_1_1_effect_reverb_std.html#a4c328bf72fe6e68f508efabb2bcbea5b", null ], + [ "EffectReverbStd", "classamuse_1_1_effect_reverb_std.html#a6231d37f009c1dad8e3565956ad85c02", null ], + [ "setColoration", "classamuse_1_1_effect_reverb_std.html#a73ed0393b915cbe182fbaeba3e5172b5", null ], + [ "setDamping", "classamuse_1_1_effect_reverb_std.html#a5507418919eafd8641e2f9f46cfc3553", null ], + [ "setMix", "classamuse_1_1_effect_reverb_std.html#a637a8deb6c4ca56d9c801490a79c51fa", null ], + [ "setPreDelay", "classamuse_1_1_effect_reverb_std.html#a45d3d4d5a63ef00cb602dc24be2409b8", null ], + [ "setTime", "classamuse_1_1_effect_reverb_std.html#aca76c6fb1bea207ed768a218f1434016", null ], + [ "EffectReverbHiImp", "classamuse_1_1_effect_reverb_std.html#a95f0935fd7ce15f31ad59e3de5d1c590", null ], + [ "EffectReverbStdImp", "classamuse_1_1_effect_reverb_std.html#abd028a09442070359b8ff29c2aa54862", null ], + [ "m_dirty", "classamuse_1_1_effect_reverb_std.html#a82c5d2e55f794320825076eb27e63c25", null ], + [ "x140_x1c8_coloration", "classamuse_1_1_effect_reverb_std.html#a3db6110d680e34ddb85d537d96de44cf", null ], + [ "x144_x1cc_mix", "classamuse_1_1_effect_reverb_std.html#a0b3713683469fa19b9caf9b34ca19c1c", null ], + [ "x148_x1d0_time", "classamuse_1_1_effect_reverb_std.html#ac6696cd6a34cd6ec4071a571a755dd34", null ], + [ "x14c_x1d4_damping", "classamuse_1_1_effect_reverb_std.html#a33c4e8523dfeed17690ebc303888eeed", null ], + [ "x150_x1d8_preDelay", "classamuse_1_1_effect_reverb_std.html#a206bb6f4c31b532998f7acb14987603b", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_std__coll__graph.map b/classamuse_1_1_effect_reverb_std__coll__graph.map new file mode 100644 index 0000000..765ec0b --- /dev/null +++ b/classamuse_1_1_effect_reverb_std__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_effect_reverb_std__coll__graph.md5 b/classamuse_1_1_effect_reverb_std__coll__graph.md5 new file mode 100644 index 0000000..fc476ac --- /dev/null +++ b/classamuse_1_1_effect_reverb_std__coll__graph.md5 @@ -0,0 +1 @@ +f605edb477efddeea6fda022b70991f2 \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_std__coll__graph.png b/classamuse_1_1_effect_reverb_std__coll__graph.png new file mode 100644 index 0000000..e0cd914 Binary files /dev/null and b/classamuse_1_1_effect_reverb_std__coll__graph.png differ diff --git a/classamuse_1_1_effect_reverb_std__inherit__graph.map b/classamuse_1_1_effect_reverb_std__inherit__graph.map new file mode 100644 index 0000000..3ec2903 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_effect_reverb_std__inherit__graph.md5 b/classamuse_1_1_effect_reverb_std__inherit__graph.md5 new file mode 100644 index 0000000..5d006bf --- /dev/null +++ b/classamuse_1_1_effect_reverb_std__inherit__graph.md5 @@ -0,0 +1 @@ +55c9b6fd2e9981910b1679a4706f4221 \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_std__inherit__graph.png b/classamuse_1_1_effect_reverb_std__inherit__graph.png new file mode 100644 index 0000000..f50b898 Binary files /dev/null and b/classamuse_1_1_effect_reverb_std__inherit__graph.png differ diff --git a/classamuse_1_1_effect_reverb_std_imp-members.html b/classamuse_1_1_effect_reverb_std_imp-members.html new file mode 100644 index 0000000..71d4344 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std_imp-members.html @@ -0,0 +1,141 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::EffectReverbStdImp< T > Member List
+
+
+ +

This is the complete list of members for amuse::EffectReverbStdImp< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + +
applyEffect(T *audio, size_t frameCount, const ChannelMap &chanMap) (defined in amuse::EffectReverbStdImp< T >)amuse::EffectReverbStdImp< T >virtual
EffectReverbStd(float coloration, float mix, float time, float damping, float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdprotected
EffectReverbStdImp(float coloration, float mix, float time, float damping, float preDelay, double sampleRate) (defined in amuse::EffectReverbStdImp< T >)amuse::EffectReverbStdImp< T >
ImpType typedef (defined in amuse::EffectReverbStd)amuse::EffectReverbStd
m_dirtyamuse::EffectReverbStdprotected
setColoration(float coloration) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setDamping(float damping) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setMix(float mix) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setPreDelay(float preDelay) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
setTime(float time) (defined in amuse::EffectReverbStd)amuse::EffectReverbStdinline
x140_x1c8_colorationamuse::EffectReverbStdprotected
x144_x1cc_mixamuse::EffectReverbStdprotected
x148_x1d0_timeamuse::EffectReverbStdprotected
x14c_x1d4_dampingamuse::EffectReverbStdprotected
x150_x1d8_preDelayamuse::EffectReverbStdprotected
~EffectBaseTypeless()=default (defined in amuse::EffectBaseTypeless)amuse::EffectBaseTypelessvirtual
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_std_imp.html b/classamuse_1_1_effect_reverb_std_imp.html new file mode 100644 index 0000000..4b493b9 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std_imp.html @@ -0,0 +1,209 @@ + + + + + + +Amuse: amuse::EffectReverbStdImp< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::EffectReverbStdImp< T > Class Template Reference
+
+
+ +

#include <EffectReverb.hpp>

+
+Inheritance diagram for amuse::EffectReverbStdImp< T >:
+
+
Inheritance graph
+ + + + + +
+
+Collaboration diagram for amuse::EffectReverbStdImp< T >:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

EffectReverbStdImp (float coloration, float mix, float time, float damping, float preDelay, double sampleRate)
 
+void applyEffect (T *audio, size_t frameCount, const ChannelMap &chanMap)
 
- Public Member Functions inherited from amuse::EffectReverbStd
+void setColoration (float coloration)
 
+void setMix (float mix)
 
+void setTime (float time)
 
+void setDamping (float damping)
 
+void setPreDelay (float preDelay)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from amuse::EffectReverbStd
+template<typename T >
using ImpType = EffectReverbStdImp< T >
 
- Protected Member Functions inherited from amuse::EffectReverbStd
EffectReverbStd (float coloration, float mix, float time, float damping, float preDelay)
 
- Protected Attributes inherited from amuse::EffectReverbStd
float x140_x1c8_coloration
 
float x144_x1cc_mix
 
float x148_x1d0_time
 
float x14c_x1d4_damping
 
float x150_x1d8_preDelay
 
bool m_dirty = true
 
+

Detailed Description

+

template<typename T>
+class amuse::EffectReverbStdImp< T >

+ +

Standard-quality 2-stage reverb

+ +

Definition at line 25 of file EffectReverb.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_effect_reverb_std_imp.js b/classamuse_1_1_effect_reverb_std_imp.js new file mode 100644 index 0000000..5d73cb7 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std_imp.js @@ -0,0 +1,5 @@ +var classamuse_1_1_effect_reverb_std_imp = +[ + [ "EffectReverbStdImp", "classamuse_1_1_effect_reverb_std_imp.html#a64293815b146a418b1e54b60b8b6dca2", null ], + [ "applyEffect", "classamuse_1_1_effect_reverb_std_imp.html#a9ad95039903e5adf44cf5c7c4e3cea0e", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_std_imp__coll__graph.map b/classamuse_1_1_effect_reverb_std_imp__coll__graph.map new file mode 100644 index 0000000..3e71c9a --- /dev/null +++ b/classamuse_1_1_effect_reverb_std_imp__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_effect_reverb_std_imp__coll__graph.md5 b/classamuse_1_1_effect_reverb_std_imp__coll__graph.md5 new file mode 100644 index 0000000..79c66f0 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std_imp__coll__graph.md5 @@ -0,0 +1 @@ +a066153d983b115b264fddc36ab9cae6 \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_std_imp__coll__graph.png b/classamuse_1_1_effect_reverb_std_imp__coll__graph.png new file mode 100644 index 0000000..622486e Binary files /dev/null and b/classamuse_1_1_effect_reverb_std_imp__coll__graph.png differ diff --git a/classamuse_1_1_effect_reverb_std_imp__inherit__graph.map b/classamuse_1_1_effect_reverb_std_imp__inherit__graph.map new file mode 100644 index 0000000..3e71c9a --- /dev/null +++ b/classamuse_1_1_effect_reverb_std_imp__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_effect_reverb_std_imp__inherit__graph.md5 b/classamuse_1_1_effect_reverb_std_imp__inherit__graph.md5 new file mode 100644 index 0000000..79c66f0 --- /dev/null +++ b/classamuse_1_1_effect_reverb_std_imp__inherit__graph.md5 @@ -0,0 +1 @@ +a066153d983b115b264fddc36ab9cae6 \ No newline at end of file diff --git a/classamuse_1_1_effect_reverb_std_imp__inherit__graph.png b/classamuse_1_1_effect_reverb_std_imp__inherit__graph.png new file mode 100644 index 0000000..622486e Binary files /dev/null and b/classamuse_1_1_effect_reverb_std_imp__inherit__graph.png differ diff --git a/classamuse_1_1_emitter-members.html b/classamuse_1_1_emitter-members.html new file mode 100644 index 0000000..3f8b181 --- /dev/null +++ b/classamuse_1_1_emitter-members.html @@ -0,0 +1,146 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Emitter Member List
+
+
+ +

This is the complete list of members for amuse::Emitter, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
Emitter(Engine &engine, const AudioGroup &group, std::shared_ptr< Voice > &&vox) (defined in amuse::Emitter)amuse::Emitter
Engine (defined in amuse::Emitter)amuse::Emitterfriend
Entity(Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId()) (defined in amuse::Entity)amuse::Entityinline
getAudioGroup() const (defined in amuse::Entity)amuse::Entityinline
getEngine() (defined in amuse::Entity)amuse::Entityinline
getGroupId() const (defined in amuse::Entity)amuse::Entityinline
getObjectId() const (defined in amuse::Entity)amuse::Entityinline
getVoice() (defined in amuse::Emitter)amuse::Emitterinline
m_audioGroup (defined in amuse::Entity)amuse::Entityprotected
m_destroyed (defined in amuse::Entity)amuse::Entityprotected
m_engine (defined in amuse::Entity)amuse::Entityprotected
m_groupId (defined in amuse::Entity)amuse::Entityprotected
m_objectId (defined in amuse::Entity)amuse::Entityprotected
setDir(const Vector3f &dir) (defined in amuse::Emitter)amuse::Emitter
setFalloff(float falloff) (defined in amuse::Emitter)amuse::Emitter
setMaxDist(float maxDist) (defined in amuse::Emitter)amuse::Emitter
setMaxVol(float maxVol) (defined in amuse::Emitter)amuse::Emitter
setMinVol(float minVol) (defined in amuse::Emitter)amuse::Emitter
setPos(const Vector3f &pos) (defined in amuse::Emitter)amuse::Emitter
~Emitter() (defined in amuse::Emitter)amuse::Emitter
~Entity() (defined in amuse::Entity)amuse::Entityinline
+
+ + + + diff --git a/classamuse_1_1_emitter.html b/classamuse_1_1_emitter.html new file mode 100644 index 0000000..be24b93 --- /dev/null +++ b/classamuse_1_1_emitter.html @@ -0,0 +1,227 @@ + + + + + + +Amuse: amuse::Emitter Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Emitter Class Reference
+
+
+ +

#include <Emitter.hpp>

+
+Inheritance diagram for amuse::Emitter:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::Emitter:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Emitter (Engine &engine, const AudioGroup &group, std::shared_ptr< Voice > &&vox)
 
+void setPos (const Vector3f &pos)
 
+void setDir (const Vector3f &dir)
 
+void setMaxDist (float maxDist)
 
+void setMaxVol (float maxVol)
 
+void setMinVol (float minVol)
 
+void setFalloff (float falloff)
 
+std::shared_ptr< Voice > & getVoice ()
 
- Public Member Functions inherited from amuse::Entity
Entity (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId())
 
+EnginegetEngine ()
 
+const AudioGroupgetAudioGroup () const
 
+int getGroupId () const
 
+ObjectId getObjectId () const
 
+ + + +

+Friends

+class Engine
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from amuse::Entity
+void _destroy ()
 
- Protected Attributes inherited from amuse::Entity
+bool m_destroyed = false
 
+Enginem_engine
 
+const AudioGroupm_audioGroup
 
+int m_groupId
 
+ObjectId m_objectId = 0xffff
 
+

Detailed Description

+

Voice wrapper with positional-3D level control

+ +

Definition at line 14 of file Emitter.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_emitter.js b/classamuse_1_1_emitter.js new file mode 100644 index 0000000..0e430cd --- /dev/null +++ b/classamuse_1_1_emitter.js @@ -0,0 +1,13 @@ +var classamuse_1_1_emitter = +[ + [ "~Emitter", "classamuse_1_1_emitter.html#a209bf211bf596a07559813dc3e413aa6", null ], + [ "Emitter", "classamuse_1_1_emitter.html#a158e0999610ad5acc171b7e6290c0af2", null ], + [ "getVoice", "classamuse_1_1_emitter.html#a1fd1989cf795444644c91320614a6fc7", null ], + [ "setDir", "classamuse_1_1_emitter.html#a8a7655e79a95251e8dadd8e60e1186b1", null ], + [ "setFalloff", "classamuse_1_1_emitter.html#a2e69d7ce61cdfcd7efa41bc1b074e2f1", null ], + [ "setMaxDist", "classamuse_1_1_emitter.html#a2da0ce59463c0652f28d85c44fbca17a", null ], + [ "setMaxVol", "classamuse_1_1_emitter.html#a6ddd332567ed6aafa4d62c05f1c4735f", null ], + [ "setMinVol", "classamuse_1_1_emitter.html#a77ad5aae4249943d9dac6849547e5d92", null ], + [ "setPos", "classamuse_1_1_emitter.html#a9d801951b8f8cc20a2fc76463c2acef8", null ], + [ "Engine", "classamuse_1_1_emitter.html#a3e1914489e4bed4f9f23cdeab34a43dc", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_emitter__coll__graph.map b/classamuse_1_1_emitter__coll__graph.map new file mode 100644 index 0000000..939f4b1 --- /dev/null +++ b/classamuse_1_1_emitter__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_emitter__coll__graph.md5 b/classamuse_1_1_emitter__coll__graph.md5 new file mode 100644 index 0000000..e0c04ec --- /dev/null +++ b/classamuse_1_1_emitter__coll__graph.md5 @@ -0,0 +1 @@ +f671f4228168d3af3029942013d13003 \ No newline at end of file diff --git a/classamuse_1_1_emitter__coll__graph.png b/classamuse_1_1_emitter__coll__graph.png new file mode 100644 index 0000000..f168288 Binary files /dev/null and b/classamuse_1_1_emitter__coll__graph.png differ diff --git a/classamuse_1_1_emitter__inherit__graph.map b/classamuse_1_1_emitter__inherit__graph.map new file mode 100644 index 0000000..d912a98 --- /dev/null +++ b/classamuse_1_1_emitter__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_emitter__inherit__graph.md5 b/classamuse_1_1_emitter__inherit__graph.md5 new file mode 100644 index 0000000..3e7c683 --- /dev/null +++ b/classamuse_1_1_emitter__inherit__graph.md5 @@ -0,0 +1 @@ +72d2838ed56b6256c749a1b92f286319 \ No newline at end of file diff --git a/classamuse_1_1_emitter__inherit__graph.png b/classamuse_1_1_emitter__inherit__graph.png new file mode 100644 index 0000000..bef3180 Binary files /dev/null and b/classamuse_1_1_emitter__inherit__graph.png differ diff --git a/classamuse_1_1_engine-members.html b/classamuse_1_1_engine-members.html new file mode 100644 index 0000000..850dda2 --- /dev/null +++ b/classamuse_1_1_engine-members.html @@ -0,0 +1,144 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Engine Member List
+
+
+ +

This is the complete list of members for amuse::Engine, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
addAudioGroup(const AudioGroupData &data)amuse::Engine
addEmitter(const Vector3f &pos, const Vector3f &dir, float maxDist, float falloff, int sfxId, float minVol, float maxVol, Submix *smx=nullptr)amuse::Engine
addSubmix(Submix *parent=nullptr)amuse::Engine
Emitter (defined in amuse::Engine)amuse::Enginefriend
Engine(IBackendVoiceAllocator &backend) (defined in amuse::Engine)amuse::Engine
findVoice(int vid)amuse::Engine
fxStart(int sfxId, float vol, float pan, Submix *smx=nullptr)amuse::Engine
getBackend()amuse::Engineinline
killKeygroup(uint8_t kg, bool now)amuse::Engine
nextRandom()amuse::Engineinline
pumpEngine(double dt)amuse::Engine
removeAudioGroup(const AudioGroupData &data)amuse::Engine
removeSubmix(Submix *smx)amuse::Engine
sendMacroMessage(ObjectId macroId, int32_t val)amuse::Engine
seqPlay(int groupId, int songId, const unsigned char *arrData, Submix *smx=nullptr)amuse::Engine
Sequencer (defined in amuse::Engine)amuse::Enginefriend
Sequencer::ChannelState (defined in amuse::Engine)amuse::Enginefriend
Voice (defined in amuse::Engine)amuse::Enginefriend
~Engine() (defined in amuse::Engine)amuse::Engine
+
+ + + + diff --git a/classamuse_1_1_engine.html b/classamuse_1_1_engine.html new file mode 100644 index 0000000..a483adb --- /dev/null +++ b/classamuse_1_1_engine.html @@ -0,0 +1,671 @@ + + + + + + +Amuse: amuse::Engine Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Engine Class Reference
+
+
+ +

#include <Engine.hpp>

+
+Collaboration diagram for amuse::Engine:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Engine (IBackendVoiceAllocator &backend)
 
IBackendVoiceAllocatorgetBackend ()
 
void pumpEngine (double dt)
 
const AudioGroupaddAudioGroup (const AudioGroupData &data)
 
void removeAudioGroup (const AudioGroupData &data)
 
SubmixaddSubmix (Submix *parent=nullptr)
 
void removeSubmix (Submix *smx)
 
std::shared_ptr< VoicefxStart (int sfxId, float vol, float pan, Submix *smx=nullptr)
 
std::shared_ptr< EmitteraddEmitter (const Vector3f &pos, const Vector3f &dir, float maxDist, float falloff, int sfxId, float minVol, float maxVol, Submix *smx=nullptr)
 
std::shared_ptr< SequencerseqPlay (int groupId, int songId, const unsigned char *arrData, Submix *smx=nullptr)
 
std::shared_ptr< VoicefindVoice (int vid)
 
void killKeygroup (uint8_t kg, bool now)
 
void sendMacroMessage (ObjectId macroId, int32_t val)
 
uint32_t nextRandom ()
 
+ + + + + + + + + +

+Friends

+class Voice
 
+class Emitter
 
+class Sequencer
 
+class Sequencer::ChannelState
 
+

Detailed Description

+

Main audio playback system for a single audio output

+ +

Definition at line 23 of file Engine.hpp.

+

Member Function Documentation

+ +
+
+ + + + + + + + +
const AudioGroup* amuse::Engine::addAudioGroup (const AudioGroupDatadata)
+
+

Add audio group data pointers to engine; must remain resident!

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<Emitter> amuse::Engine::addEmitter (const Vector3f & pos,
const Vector3f & dir,
float maxDist,
float falloff,
int sfxId,
float minVol,
float maxVol,
Submixsmx = nullptr 
)
+
+

Start soundFX playing from loaded audio groups, attach to positional emitter

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + +
Submix* amuse::Engine::addSubmix (Submixparent = nullptr)
+
+

Create new Submix (a.k.a 'Studio') within root mix engine

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr<Voice> amuse::Engine::findVoice (int vid)
+
+

Find voice from VoiceId

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<Voice> amuse::Engine::fxStart (int sfxId,
float vol,
float pan,
Submixsmx = nullptr 
)
+
+

Start soundFX playing from loaded audio groups

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
IBackendVoiceAllocator& amuse::Engine::getBackend ()
+
+inline
+
+

Access voice backend of engine

+ +

Definition at line 58 of file Engine.hpp.

+ +

+Here is the call graph for this function:
+
+
+ + + + + + + + + + + + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Engine::killKeygroup (uint8_t kg,
bool now 
)
+
+

Stop all voices in kg, stops immediately (no KeyOff) when now set

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint32_t amuse::Engine::nextRandom ()
+
+inline
+
+

Obtain next random number from engine's PRNG

+ +

Definition at line 97 of file Engine.hpp.

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Engine::pumpEngine (double dt)
+
+

Update all active audio entities and fill OS audio buffers as needed

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Engine::removeAudioGroup (const AudioGroupDatadata)
+
+

Remove audio group from engine

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Engine::removeSubmix (Submixsmx)
+
+

Remove Submix and deallocate

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Engine::sendMacroMessage (ObjectId macroId,
int32_t val 
)
+
+

Send all voices using macroId the message val

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<Sequencer> amuse::Engine::seqPlay (int groupId,
int songId,
const unsigned char * arrData,
Submixsmx = nullptr 
)
+
+

Start song playing from loaded audio groups

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_engine.js b/classamuse_1_1_engine.js new file mode 100644 index 0000000..13853ee --- /dev/null +++ b/classamuse_1_1_engine.js @@ -0,0 +1,22 @@ +var classamuse_1_1_engine = +[ + [ "~Engine", "classamuse_1_1_engine.html#a351662cd5c3cf6c9f097b27114cb8cd7", null ], + [ "Engine", "classamuse_1_1_engine.html#ae1668341d79208264f6d5e02acc50e76", null ], + [ "addAudioGroup", "classamuse_1_1_engine.html#a695432906627c5cfcb18b83487e72f92", null ], + [ "addEmitter", "classamuse_1_1_engine.html#ac81c9299c8ba08cfaa857d0f1c4233a3", null ], + [ "addSubmix", "classamuse_1_1_engine.html#abd19d3a4db827b2b9e65a9ae9caaac0d", null ], + [ "findVoice", "classamuse_1_1_engine.html#aea32232a059d5a9d4bfa2695a0c6c1f4", null ], + [ "fxStart", "classamuse_1_1_engine.html#ac03ae79986617e18b4428ae038aea80c", null ], + [ "getBackend", "classamuse_1_1_engine.html#a906ba1909a00555c3396a65c518056f2", null ], + [ "killKeygroup", "classamuse_1_1_engine.html#aeb3ece0d4e5d074b4e26dc4694750e70", null ], + [ "nextRandom", "classamuse_1_1_engine.html#af4fc1348b89f07b36a28ad45c84c0390", null ], + [ "pumpEngine", "classamuse_1_1_engine.html#a6815677808d2b00abeebacec19b5a291", null ], + [ "removeAudioGroup", "classamuse_1_1_engine.html#a1458ddca8cc76b93f6b71d4d62cb1d91", null ], + [ "removeSubmix", "classamuse_1_1_engine.html#a681a9c5b3c05676a36180fb27a20f68d", null ], + [ "sendMacroMessage", "classamuse_1_1_engine.html#a9fb7f33d3ec86d257ee9b64817b39aa6", null ], + [ "seqPlay", "classamuse_1_1_engine.html#a82b8c2a0785a128ed59cbc404eb66a64", null ], + [ "Emitter", "classamuse_1_1_engine.html#a1cad71ec309b8c8b0beee324b9b65e5a", null ], + [ "Sequencer", "classamuse_1_1_engine.html#a52a69080aff30f06654e72959d45db49", null ], + [ "Sequencer::ChannelState", "classamuse_1_1_engine.html#ae200076577c44cea683fc55b601b8fb4", null ], + [ "Voice", "classamuse_1_1_engine.html#a24657954e9f1d12330a031c549e6e850", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_engine__coll__graph.map b/classamuse_1_1_engine__coll__graph.map new file mode 100644 index 0000000..f14c7a1 --- /dev/null +++ b/classamuse_1_1_engine__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_engine__coll__graph.md5 b/classamuse_1_1_engine__coll__graph.md5 new file mode 100644 index 0000000..310bbdc --- /dev/null +++ b/classamuse_1_1_engine__coll__graph.md5 @@ -0,0 +1 @@ +e1197c8063b6533b3d7fff515b120b77 \ No newline at end of file diff --git a/classamuse_1_1_engine__coll__graph.png b/classamuse_1_1_engine__coll__graph.png new file mode 100644 index 0000000..431d2d6 Binary files /dev/null and b/classamuse_1_1_engine__coll__graph.png differ diff --git a/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.map b/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.map new file mode 100644 index 0000000..4d15969 --- /dev/null +++ b/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.md5 b/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.md5 new file mode 100644 index 0000000..d80e0c2 --- /dev/null +++ b/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.md5 @@ -0,0 +1 @@ +00be82db3ab4f039f4982cbc30a6def3 \ No newline at end of file diff --git a/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.png b/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.png new file mode 100644 index 0000000..2c34cca Binary files /dev/null and b/classamuse_1_1_engine_a1458ddca8cc76b93f6b71d4d62cb1d91_icgraph.png differ diff --git a/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.map b/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.map new file mode 100644 index 0000000..e367b27 --- /dev/null +++ b/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.md5 b/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.md5 new file mode 100644 index 0000000..7441a51 --- /dev/null +++ b/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.md5 @@ -0,0 +1 @@ +8fd80998259a75ddfa6acd7657ce8efb \ No newline at end of file diff --git a/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.png b/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.png new file mode 100644 index 0000000..1f06644 Binary files /dev/null and b/classamuse_1_1_engine_a6815677808d2b00abeebacec19b5a291_icgraph.png differ diff --git a/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.map b/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.map new file mode 100644 index 0000000..c6491e1 --- /dev/null +++ b/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.md5 b/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.md5 new file mode 100644 index 0000000..4cb5b01 --- /dev/null +++ b/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.md5 @@ -0,0 +1 @@ +8c03d7b5483b9d7ddb8d16841405f605 \ No newline at end of file diff --git a/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.png b/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.png new file mode 100644 index 0000000..0d78df7 Binary files /dev/null and b/classamuse_1_1_engine_a681a9c5b3c05676a36180fb27a20f68d_icgraph.png differ diff --git a/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.map b/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.map new file mode 100644 index 0000000..e409358 --- /dev/null +++ b/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.md5 b/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.md5 new file mode 100644 index 0000000..2e2aa39 --- /dev/null +++ b/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.md5 @@ -0,0 +1 @@ +3572a8f28d186bc1df283854e7fefe77 \ No newline at end of file diff --git a/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.png b/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.png new file mode 100644 index 0000000..d7cbbc6 Binary files /dev/null and b/classamuse_1_1_engine_a695432906627c5cfcb18b83487e72f92_icgraph.png differ diff --git a/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.map b/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.map new file mode 100644 index 0000000..7c00a0b --- /dev/null +++ b/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.md5 b/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.md5 new file mode 100644 index 0000000..e4a9805 --- /dev/null +++ b/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.md5 @@ -0,0 +1 @@ +c06e129501c5291e11aeecf28ef57aa7 \ No newline at end of file diff --git a/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.png b/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.png new file mode 100644 index 0000000..eb3372b Binary files /dev/null and b/classamuse_1_1_engine_a82b8c2a0785a128ed59cbc404eb66a64_icgraph.png differ diff --git a/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.map b/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.map new file mode 100644 index 0000000..5238539 --- /dev/null +++ b/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.md5 b/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.md5 new file mode 100644 index 0000000..3d6f1fd --- /dev/null +++ b/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.md5 @@ -0,0 +1 @@ +bb5bca3d23f50a25800d9c62e547ae83 \ No newline at end of file diff --git a/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.png b/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.png new file mode 100644 index 0000000..5809ac3 Binary files /dev/null and b/classamuse_1_1_engine_a906ba1909a00555c3396a65c518056f2_cgraph.png differ diff --git a/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.map b/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.map new file mode 100644 index 0000000..de9cac1 --- /dev/null +++ b/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.md5 b/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.md5 new file mode 100644 index 0000000..166cde9 --- /dev/null +++ b/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.md5 @@ -0,0 +1 @@ +78eca65e51e18eb7850d8f8a863b7188 \ No newline at end of file diff --git a/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.png b/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.png new file mode 100644 index 0000000..6106415 Binary files /dev/null and b/classamuse_1_1_engine_a9fb7f33d3ec86d257ee9b64817b39aa6_icgraph.png differ diff --git a/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.map b/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.map new file mode 100644 index 0000000..4f3d78b --- /dev/null +++ b/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.md5 b/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.md5 new file mode 100644 index 0000000..e85b1fd --- /dev/null +++ b/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.md5 @@ -0,0 +1 @@ +d33a9d663fa64190eff2d137b7c3fc34 \ No newline at end of file diff --git a/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.png b/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.png new file mode 100644 index 0000000..9f309e3 Binary files /dev/null and b/classamuse_1_1_engine_abd19d3a4db827b2b9e65a9ae9caaac0d_icgraph.png differ diff --git a/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.map b/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.map new file mode 100644 index 0000000..259c6b3 --- /dev/null +++ b/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.md5 b/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.md5 new file mode 100644 index 0000000..a0a5bc4 --- /dev/null +++ b/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.md5 @@ -0,0 +1 @@ +5f3e35fcd4e396824ca93f0009f764e3 \ No newline at end of file diff --git a/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.png b/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.png new file mode 100644 index 0000000..c7730c2 Binary files /dev/null and b/classamuse_1_1_engine_ac03ae79986617e18b4428ae038aea80c_icgraph.png differ diff --git a/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.map b/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.map new file mode 100644 index 0000000..ac47607 --- /dev/null +++ b/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.md5 b/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.md5 new file mode 100644 index 0000000..8cfb393 --- /dev/null +++ b/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.md5 @@ -0,0 +1 @@ +a7b602a063196d51ba2e5033f74ecdce \ No newline at end of file diff --git a/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.png b/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.png new file mode 100644 index 0000000..980020b Binary files /dev/null and b/classamuse_1_1_engine_ac81c9299c8ba08cfaa857d0f1c4233a3_icgraph.png differ diff --git a/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.map b/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.map new file mode 100644 index 0000000..04f4afa --- /dev/null +++ b/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.md5 b/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.md5 new file mode 100644 index 0000000..5e6356a --- /dev/null +++ b/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.md5 @@ -0,0 +1 @@ +8147c1e4157a2cd42bcadc2b75c1aafa \ No newline at end of file diff --git a/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.png b/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.png new file mode 100644 index 0000000..9a6412b Binary files /dev/null and b/classamuse_1_1_engine_aea32232a059d5a9d4bfa2695a0c6c1f4_icgraph.png differ diff --git a/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.map b/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.map new file mode 100644 index 0000000..1f6f508 --- /dev/null +++ b/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.md5 b/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.md5 new file mode 100644 index 0000000..470cd22 --- /dev/null +++ b/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.md5 @@ -0,0 +1 @@ +064072407f373e3e233de331c4f68275 \ No newline at end of file diff --git a/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.png b/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.png new file mode 100644 index 0000000..0375a1f Binary files /dev/null and b/classamuse_1_1_engine_aeb3ece0d4e5d074b4e26dc4694750e70_icgraph.png differ diff --git a/classamuse_1_1_entity-members.html b/classamuse_1_1_entity-members.html new file mode 100644 index 0000000..30f8eb3 --- /dev/null +++ b/classamuse_1_1_entity-members.html @@ -0,0 +1,139 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Entity Member List
+
+
+ +

This is the complete list of members for amuse::Entity, including all inherited members.

+ + + + + + + + + + + + + + + +
_destroy() (defined in amuse::Entity)amuse::Entityinlineprotected
Engine (defined in amuse::Entity)amuse::Entityfriend
Entity(Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId()) (defined in amuse::Entity)amuse::Entityinline
getAudioGroup() const (defined in amuse::Entity)amuse::Entityinline
getEngine() (defined in amuse::Entity)amuse::Entityinline
getGroupId() const (defined in amuse::Entity)amuse::Entityinline
getObjectId() const (defined in amuse::Entity)amuse::Entityinline
m_audioGroup (defined in amuse::Entity)amuse::Entityprotected
m_destroyed (defined in amuse::Entity)amuse::Entityprotected
m_engine (defined in amuse::Entity)amuse::Entityprotected
m_groupId (defined in amuse::Entity)amuse::Entityprotected
m_objectId (defined in amuse::Entity)amuse::Entityprotected
SoundMacroState (defined in amuse::Entity)amuse::Entityfriend
~Entity() (defined in amuse::Entity)amuse::Entityinline
+
+ + + + diff --git a/classamuse_1_1_entity.html b/classamuse_1_1_entity.html new file mode 100644 index 0000000..4a3d12d --- /dev/null +++ b/classamuse_1_1_entity.html @@ -0,0 +1,210 @@ + + + + + + +Amuse: amuse::Entity Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <Entity.hpp>

+
+Inheritance diagram for amuse::Entity:
+
+
Inheritance graph
+ + + + + + +
+
+Collaboration diagram for amuse::Entity:
+
+
Collaboration graph
+ + + + +
+ + + + + + + + + + + + +

+Public Member Functions

Entity (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId())
 
+EnginegetEngine ()
 
+const AudioGroupgetAudioGroup () const
 
+int getGroupId () const
 
+ObjectId getObjectId () const
 
+ + + +

+Protected Member Functions

+void _destroy ()
 
+ + + + + + + + + + + +

+Protected Attributes

+bool m_destroyed = false
 
+Enginem_engine
 
+const AudioGroupm_audioGroup
 
+int m_groupId
 
+ObjectId m_objectId = 0xffff
 
+ + + + + +

+Friends

+class Engine
 
+class SoundMacroState
 
+

Detailed Description

+

Common 'engine child' class

+ +

Definition at line 18 of file Entity.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_entity.js b/classamuse_1_1_entity.js new file mode 100644 index 0000000..044bc2b --- /dev/null +++ b/classamuse_1_1_entity.js @@ -0,0 +1,17 @@ +var classamuse_1_1_entity = +[ + [ "Entity", "classamuse_1_1_entity.html#a47a992c8b6652668c5dd950408988070", null ], + [ "~Entity", "classamuse_1_1_entity.html#aec033732bc74c8def0ca613869818717", null ], + [ "_destroy", "classamuse_1_1_entity.html#a6128f61bb44144f9f3fab353b90bf6f2", null ], + [ "getAudioGroup", "classamuse_1_1_entity.html#a2b495ce425cca1cec48a4d998f65e369", null ], + [ "getEngine", "classamuse_1_1_entity.html#a7a80d0bba104fea407a0f0369bf8615c", null ], + [ "getGroupId", "classamuse_1_1_entity.html#a56322c8946faee72551194459233f46b", null ], + [ "getObjectId", "classamuse_1_1_entity.html#aa992a4b2d56f6345b20820ade0a0bc8e", null ], + [ "Engine", "classamuse_1_1_entity.html#a3e1914489e4bed4f9f23cdeab34a43dc", null ], + [ "SoundMacroState", "classamuse_1_1_entity.html#a7e534c4c56668d740c959235bc8ed4ec", null ], + [ "m_audioGroup", "classamuse_1_1_entity.html#aa71a4031b665176c49cebf9f5ccf7d6f", null ], + [ "m_destroyed", "classamuse_1_1_entity.html#a8daa80960e618e3553f2092051c44ebe", null ], + [ "m_engine", "classamuse_1_1_entity.html#a1382e56f563ec3fc772b3fc027e02b0c", null ], + [ "m_groupId", "classamuse_1_1_entity.html#a62c7f163ca10b1e68bdadbab5156537b", null ], + [ "m_objectId", "classamuse_1_1_entity.html#a0359d16c7e02c42002b0eb3f40a8ec3b", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_entity__coll__graph.map b/classamuse_1_1_entity__coll__graph.map new file mode 100644 index 0000000..0c56aae --- /dev/null +++ b/classamuse_1_1_entity__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/classamuse_1_1_entity__coll__graph.md5 b/classamuse_1_1_entity__coll__graph.md5 new file mode 100644 index 0000000..a3b421f --- /dev/null +++ b/classamuse_1_1_entity__coll__graph.md5 @@ -0,0 +1 @@ +d575217e17d4a3f2a86cd117c7882ab7 \ No newline at end of file diff --git a/classamuse_1_1_entity__coll__graph.png b/classamuse_1_1_entity__coll__graph.png new file mode 100644 index 0000000..f1a0091 Binary files /dev/null and b/classamuse_1_1_entity__coll__graph.png differ diff --git a/classamuse_1_1_entity__inherit__graph.map b/classamuse_1_1_entity__inherit__graph.map new file mode 100644 index 0000000..9e683c4 --- /dev/null +++ b/classamuse_1_1_entity__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/classamuse_1_1_entity__inherit__graph.md5 b/classamuse_1_1_entity__inherit__graph.md5 new file mode 100644 index 0000000..6e0f005 --- /dev/null +++ b/classamuse_1_1_entity__inherit__graph.md5 @@ -0,0 +1 @@ +0d3e9f04ccb8180d2be404bad26b1833 \ No newline at end of file diff --git a/classamuse_1_1_entity__inherit__graph.png b/classamuse_1_1_entity__inherit__graph.png new file mode 100644 index 0000000..726b48a Binary files /dev/null and b/classamuse_1_1_entity__inherit__graph.png differ diff --git a/classamuse_1_1_envelope-members.html b/classamuse_1_1_envelope-members.html new file mode 100644 index 0000000..44574ce --- /dev/null +++ b/classamuse_1_1_envelope-members.html @@ -0,0 +1,131 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Envelope Member List
+
+
+ +

This is the complete list of members for amuse::Envelope, including all inherited members.

+ + + + + + + +
isComplete() const (defined in amuse::Envelope)amuse::Envelopeinline
keyOff() (defined in amuse::Envelope)amuse::Envelope
nextSample(double sampleRate) (defined in amuse::Envelope)amuse::Envelope
reset(const ADSR *adsr) (defined in amuse::Envelope)amuse::Envelope
reset(const ADSRDLS *adsr, int8_t note, int8_t vel) (defined in amuse::Envelope)amuse::Envelope
State enum name (defined in amuse::Envelope)amuse::Envelope
+
+ + + + diff --git a/classamuse_1_1_envelope.html b/classamuse_1_1_envelope.html new file mode 100644 index 0000000..20a0aad --- /dev/null +++ b/classamuse_1_1_envelope.html @@ -0,0 +1,175 @@ + + + + + + +Amuse: amuse::Envelope Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Envelope Class Reference
+
+
+ +

#include <Envelope.hpp>

+
+Collaboration diagram for amuse::Envelope:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Types

enum  State {
+  Attack, +Decay, +Sustain, +Release, +
+  Complete +
+ }
 
+ + + + + + + + + + + +

+Public Member Functions

+void reset (const ADSR *adsr)
 
+void reset (const ADSRDLS *adsr, int8_t note, int8_t vel)
 
+void keyOff ()
 
+float nextSample (double sampleRate)
 
+bool isComplete () const
 
+

Detailed Description

+

Per-sample state tracker for ADSR envelope data

+ +

Definition at line 10 of file Envelope.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_envelope.js b/classamuse_1_1_envelope.js new file mode 100644 index 0000000..619a4c6 --- /dev/null +++ b/classamuse_1_1_envelope.js @@ -0,0 +1,15 @@ +var classamuse_1_1_envelope = +[ + [ "State", "classamuse_1_1_envelope.html#a6473d516db26b8a5ce617440fa8739d7", [ + [ "Attack", "classamuse_1_1_envelope.html#a6473d516db26b8a5ce617440fa8739d7adcfafcb4323b102c7e204555d313ba0a", null ], + [ "Decay", "classamuse_1_1_envelope.html#a6473d516db26b8a5ce617440fa8739d7a657f1228bb53523274ae58bcd123ae81", null ], + [ "Sustain", "classamuse_1_1_envelope.html#a6473d516db26b8a5ce617440fa8739d7ac98a9f29cbf065cabb6867cbcb7c8ab9", null ], + [ "Release", "classamuse_1_1_envelope.html#a6473d516db26b8a5ce617440fa8739d7ab8e7b465df7c5979dc731d06e84ce2cf", null ], + [ "Complete", "classamuse_1_1_envelope.html#a6473d516db26b8a5ce617440fa8739d7aae94f80b3ce82062a5dd7815daa04f9d", null ] + ] ], + [ "isComplete", "classamuse_1_1_envelope.html#a6a45f94e26eec2a27cc8141fc560e187", null ], + [ "keyOff", "classamuse_1_1_envelope.html#a50ca95d3ee55e86a66a34d16a3109a2e", null ], + [ "nextSample", "classamuse_1_1_envelope.html#a0d7eeca07b5c698874f72c07f8d50cc0", null ], + [ "reset", "classamuse_1_1_envelope.html#a5acc9dd27103145b13405f17ec53cd80", null ], + [ "reset", "classamuse_1_1_envelope.html#a112ccb35895d15b297527a4d7c346398", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_envelope__coll__graph.map b/classamuse_1_1_envelope__coll__graph.map new file mode 100644 index 0000000..0ae81d2 --- /dev/null +++ b/classamuse_1_1_envelope__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_envelope__coll__graph.md5 b/classamuse_1_1_envelope__coll__graph.md5 new file mode 100644 index 0000000..190d111 --- /dev/null +++ b/classamuse_1_1_envelope__coll__graph.md5 @@ -0,0 +1 @@ +5a0070fbe517dfdbf806bf5785f0c3b2 \ No newline at end of file diff --git a/classamuse_1_1_envelope__coll__graph.png b/classamuse_1_1_envelope__coll__graph.png new file mode 100644 index 0000000..7528903 Binary files /dev/null and b/classamuse_1_1_envelope__coll__graph.png differ diff --git a/classamuse_1_1_i_backend_submix-members.html b/classamuse_1_1_i_backend_submix-members.html new file mode 100644 index 0000000..190e3ed --- /dev/null +++ b/classamuse_1_1_i_backend_submix-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::IBackendSubmix Member List
+
+
+ +

This is the complete list of members for amuse::IBackendSubmix, including all inherited members.

+ + + + + + +
allocateVoice(Voice &clientVox, double sampleRate, bool dynamicPitch)=0amuse::IBackendSubmixpure virtual
getSampleFormat() const =0amuse::IBackendSubmixpure virtual
getSampleRate() const =0amuse::IBackendSubmixpure virtual
setChannelGains(const float gains[8])=0amuse::IBackendSubmixpure virtual
~IBackendSubmix()=default (defined in amuse::IBackendSubmix)amuse::IBackendSubmixvirtual
+
+ + + + diff --git a/classamuse_1_1_i_backend_submix.html b/classamuse_1_1_i_backend_submix.html new file mode 100644 index 0000000..8cccb03 --- /dev/null +++ b/classamuse_1_1_i_backend_submix.html @@ -0,0 +1,285 @@ + + + + + + +Amuse: amuse::IBackendSubmix Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::IBackendSubmix Class Referenceabstract
+
+
+ +

#include <IBackendSubmix.hpp>

+
+Inheritance diagram for amuse::IBackendSubmix:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::IBackendSubmix:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + +

+Public Member Functions

virtual void setChannelGains (const float gains[8])=0
 
virtual std::unique_ptr< IBackendVoiceallocateVoice (Voice &clientVox, double sampleRate, bool dynamicPitch)=0
 
virtual double getSampleRate () const =0
 
virtual SubmixFormat getSampleFormat () const =0
 
+

Detailed Description

+

Client-implemented submix instance

+ +

Definition at line 19 of file IBackendSubmix.hpp.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual std::unique_ptr<IBackendVoice> amuse::IBackendSubmix::allocateVoice (VoiceclientVox,
double sampleRate,
bool dynamicPitch 
)
+
+pure virtual
+
+

Amuse obtains a new voice from the platform outputting to this submix

+ +

Implemented in amuse::BooBackendSubmix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual SubmixFormat amuse::IBackendSubmix::getSampleFormat () const
+
+pure virtual
+
+

Amuse gets fixed sample format of submix this way

+ +

Implemented in amuse::BooBackendSubmix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual double amuse::IBackendSubmix::getSampleRate () const
+
+pure virtual
+
+

Amuse gets fixed sample rate of submix this way

+ +

Implemented in amuse::BooBackendSubmix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual void amuse::IBackendSubmix::setChannelGains (const float gains[8])
+
+pure virtual
+
+

Set channel-gains for submix (AudioChannel enum for array index)

+ +

Implemented in amuse::BooBackendSubmix.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_i_backend_submix.js b/classamuse_1_1_i_backend_submix.js new file mode 100644 index 0000000..1d0f248 --- /dev/null +++ b/classamuse_1_1_i_backend_submix.js @@ -0,0 +1,8 @@ +var classamuse_1_1_i_backend_submix = +[ + [ "~IBackendSubmix", "classamuse_1_1_i_backend_submix.html#a5e4d5720ac9513f76752de757fbbeff3", null ], + [ "allocateVoice", "classamuse_1_1_i_backend_submix.html#ad138174d50406e4b0d27bf6a758bf4e8", null ], + [ "getSampleFormat", "classamuse_1_1_i_backend_submix.html#afd801a36fef1b76bd80065f55b405291", null ], + [ "getSampleRate", "classamuse_1_1_i_backend_submix.html#a001811e801832b7fdc86fc3ac56ce34a", null ], + [ "setChannelGains", "classamuse_1_1_i_backend_submix.html#a0e8b303934ea570876805f7ff65d0150", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_i_backend_submix__coll__graph.map b/classamuse_1_1_i_backend_submix__coll__graph.map new file mode 100644 index 0000000..adca198 --- /dev/null +++ b/classamuse_1_1_i_backend_submix__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_i_backend_submix__coll__graph.md5 b/classamuse_1_1_i_backend_submix__coll__graph.md5 new file mode 100644 index 0000000..8b5ec7b --- /dev/null +++ b/classamuse_1_1_i_backend_submix__coll__graph.md5 @@ -0,0 +1 @@ +a3c66766ff488fcbf40c4979e6358059 \ No newline at end of file diff --git a/classamuse_1_1_i_backend_submix__coll__graph.png b/classamuse_1_1_i_backend_submix__coll__graph.png new file mode 100644 index 0000000..f75962f Binary files /dev/null and b/classamuse_1_1_i_backend_submix__coll__graph.png differ diff --git a/classamuse_1_1_i_backend_submix__inherit__graph.map b/classamuse_1_1_i_backend_submix__inherit__graph.map new file mode 100644 index 0000000..e6504c0 --- /dev/null +++ b/classamuse_1_1_i_backend_submix__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_i_backend_submix__inherit__graph.md5 b/classamuse_1_1_i_backend_submix__inherit__graph.md5 new file mode 100644 index 0000000..4a6766d --- /dev/null +++ b/classamuse_1_1_i_backend_submix__inherit__graph.md5 @@ -0,0 +1 @@ +fde1a938e0cd3649f90e221870dd3a3b \ No newline at end of file diff --git a/classamuse_1_1_i_backend_submix__inherit__graph.png b/classamuse_1_1_i_backend_submix__inherit__graph.png new file mode 100644 index 0000000..927716b Binary files /dev/null and b/classamuse_1_1_i_backend_submix__inherit__graph.png differ diff --git a/classamuse_1_1_i_backend_voice-members.html b/classamuse_1_1_i_backend_voice-members.html new file mode 100644 index 0000000..6d72ff5 --- /dev/null +++ b/classamuse_1_1_i_backend_voice-members.html @@ -0,0 +1,131 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::IBackendVoice Member List
+
+
+ +

This is the complete list of members for amuse::IBackendVoice, including all inherited members.

+ + + + + + + +
resetSampleRate(double sampleRate)=0amuse::IBackendVoicepure virtual
setMatrixCoefficients(const float coefs[8])=0amuse::IBackendVoicepure virtual
setPitchRatio(double ratio, bool slew)=0amuse::IBackendVoicepure virtual
start()=0amuse::IBackendVoicepure virtual
stop()=0amuse::IBackendVoicepure virtual
~IBackendVoice()=default (defined in amuse::IBackendVoice)amuse::IBackendVoicevirtual
+
+ + + + diff --git a/classamuse_1_1_i_backend_voice.html b/classamuse_1_1_i_backend_voice.html new file mode 100644 index 0000000..729ef32 --- /dev/null +++ b/classamuse_1_1_i_backend_voice.html @@ -0,0 +1,308 @@ + + + + + + +Amuse: amuse::IBackendVoice Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::IBackendVoice Class Referenceabstract
+
+
+ +

#include <IBackendVoice.hpp>

+
+Inheritance diagram for amuse::IBackendVoice:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::IBackendVoice:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Member Functions

virtual void resetSampleRate (double sampleRate)=0
 
virtual void setMatrixCoefficients (const float coefs[8])=0
 
virtual void setPitchRatio (double ratio, bool slew)=0
 
virtual void start ()=0
 
virtual void stop ()=0
 
+

Detailed Description

+

Client-implemented voice instance

+ +

Definition at line 29 of file IBackendVoice.hpp.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void amuse::IBackendVoice::resetSampleRate (double sampleRate)
+
+pure virtual
+
+

Set new sample rate into platform voice (may result in artifacts while playing)

+ +

Implemented in amuse::BooBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual void amuse::IBackendVoice::setMatrixCoefficients (const float coefs[8])
+
+pure virtual
+
+

Set channel-gains for audio source (AudioChannel enum for array index)

+ +

Implemented in amuse::BooBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void amuse::IBackendVoice::setPitchRatio (double ratio,
bool slew 
)
+
+pure virtual
+
+

Called by client to dynamically adjust the pitch of voices with dynamic pitch enabled

+ +

Implemented in amuse::BooBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual void amuse::IBackendVoice::start ()
+
+pure virtual
+
+

Instructs platform to begin consuming sample data; invoking callback as needed

+ +

Implemented in amuse::BooBackendVoice.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual void amuse::IBackendVoice::stop ()
+
+pure virtual
+
+

Instructs platform to stop consuming sample data

+ +

Implemented in amuse::BooBackendVoice.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_i_backend_voice.js b/classamuse_1_1_i_backend_voice.js new file mode 100644 index 0000000..01d1bfb --- /dev/null +++ b/classamuse_1_1_i_backend_voice.js @@ -0,0 +1,9 @@ +var classamuse_1_1_i_backend_voice = +[ + [ "~IBackendVoice", "classamuse_1_1_i_backend_voice.html#a6e89659c2ed0d016786d2c305c661327", null ], + [ "resetSampleRate", "classamuse_1_1_i_backend_voice.html#a500ace0b017c4542d9bb8eded314ce5c", null ], + [ "setMatrixCoefficients", "classamuse_1_1_i_backend_voice.html#af36b04cf27d7c267fea7a5bdd6ecb8a7", null ], + [ "setPitchRatio", "classamuse_1_1_i_backend_voice.html#a6e728f9b90407a1ee60040360ae78e94", null ], + [ "start", "classamuse_1_1_i_backend_voice.html#a951e0fe376eed9be500cd2665bed3042", null ], + [ "stop", "classamuse_1_1_i_backend_voice.html#a9b79ba01d7228df53149891a964c14c9", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_i_backend_voice__coll__graph.map b/classamuse_1_1_i_backend_voice__coll__graph.map new file mode 100644 index 0000000..9577634 --- /dev/null +++ b/classamuse_1_1_i_backend_voice__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_i_backend_voice__coll__graph.md5 b/classamuse_1_1_i_backend_voice__coll__graph.md5 new file mode 100644 index 0000000..e19b7a4 --- /dev/null +++ b/classamuse_1_1_i_backend_voice__coll__graph.md5 @@ -0,0 +1 @@ +267d2d05f992fef8e97b253e55dea469 \ No newline at end of file diff --git a/classamuse_1_1_i_backend_voice__coll__graph.png b/classamuse_1_1_i_backend_voice__coll__graph.png new file mode 100644 index 0000000..cb26986 Binary files /dev/null and b/classamuse_1_1_i_backend_voice__coll__graph.png differ diff --git a/classamuse_1_1_i_backend_voice__inherit__graph.map b/classamuse_1_1_i_backend_voice__inherit__graph.map new file mode 100644 index 0000000..8dc2c33 --- /dev/null +++ b/classamuse_1_1_i_backend_voice__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_i_backend_voice__inherit__graph.md5 b/classamuse_1_1_i_backend_voice__inherit__graph.md5 new file mode 100644 index 0000000..d68bef0 --- /dev/null +++ b/classamuse_1_1_i_backend_voice__inherit__graph.md5 @@ -0,0 +1 @@ +f25c20ee0279d45f76215fb960430b06 \ No newline at end of file diff --git a/classamuse_1_1_i_backend_voice__inherit__graph.png b/classamuse_1_1_i_backend_voice__inherit__graph.png new file mode 100644 index 0000000..e5c7311 Binary files /dev/null and b/classamuse_1_1_i_backend_voice__inherit__graph.png differ diff --git a/classamuse_1_1_i_backend_voice_allocator-members.html b/classamuse_1_1_i_backend_voice_allocator-members.html new file mode 100644 index 0000000..70b9fca --- /dev/null +++ b/classamuse_1_1_i_backend_voice_allocator-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::IBackendVoiceAllocator Member List
+
+
+ +

This is the complete list of members for amuse::IBackendVoiceAllocator, including all inherited members.

+ + + + + + +
allocateSubmix(Submix &clientSmx)=0amuse::IBackendVoiceAllocatorpure virtual
allocateVoice(Voice &clientVox, double sampleRate, bool dynamicPitch)=0amuse::IBackendVoiceAllocatorpure virtual
getAvailableSet()=0amuse::IBackendVoiceAllocatorpure virtual
pumpAndMixVoices()=0amuse::IBackendVoiceAllocatorpure virtual
~IBackendVoiceAllocator()=default (defined in amuse::IBackendVoiceAllocator)amuse::IBackendVoiceAllocatorvirtual
+
+ + + + diff --git a/classamuse_1_1_i_backend_voice_allocator.html b/classamuse_1_1_i_backend_voice_allocator.html new file mode 100644 index 0000000..d15d486 --- /dev/null +++ b/classamuse_1_1_i_backend_voice_allocator.html @@ -0,0 +1,285 @@ + + + + + + +Amuse: amuse::IBackendVoiceAllocator Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::IBackendVoiceAllocator Class Referenceabstract
+
+
+ +

#include <IBackendVoiceAllocator.hpp>

+
+Inheritance diagram for amuse::IBackendVoiceAllocator:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::IBackendVoiceAllocator:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + +

+Public Member Functions

virtual std::unique_ptr< IBackendVoiceallocateVoice (Voice &clientVox, double sampleRate, bool dynamicPitch)=0
 
virtual std::unique_ptr< IBackendSubmixallocateSubmix (Submix &clientSmx)=0
 
virtual AudioChannelSet getAvailableSet ()=0
 
virtual void pumpAndMixVoices ()=0
 
+

Detailed Description

+

Client-implemented voice allocator

+ +

Definition at line 24 of file IBackendVoiceAllocator.hpp.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual std::unique_ptr<IBackendSubmix> amuse::IBackendVoiceAllocator::allocateSubmix (SubmixclientSmx)
+
+pure virtual
+
+

Amuse obtains a new submix from the platform this way

+ +

Implemented in amuse::BooBackendVoiceAllocator.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual std::unique_ptr<IBackendVoice> amuse::IBackendVoiceAllocator::allocateVoice (VoiceclientVox,
double sampleRate,
bool dynamicPitch 
)
+
+pure virtual
+
+

Amuse obtains a new voice from the platform this way

+ +

Implemented in amuse::BooBackendVoiceAllocator.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual AudioChannelSet amuse::IBackendVoiceAllocator::getAvailableSet ()
+
+pure virtual
+
+

Amuse obtains speaker-configuration from the platform this way

+ +

Implemented in amuse::BooBackendVoiceAllocator.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual void amuse::IBackendVoiceAllocator::pumpAndMixVoices ()
+
+pure virtual
+
+

Amuse flushes voice samples to the backend this way

+ +

Implemented in amuse::BooBackendVoiceAllocator.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_i_backend_voice_allocator.js b/classamuse_1_1_i_backend_voice_allocator.js new file mode 100644 index 0000000..cd56fe4 --- /dev/null +++ b/classamuse_1_1_i_backend_voice_allocator.js @@ -0,0 +1,8 @@ +var classamuse_1_1_i_backend_voice_allocator = +[ + [ "~IBackendVoiceAllocator", "classamuse_1_1_i_backend_voice_allocator.html#a775f8818b9c9d241e3c8c2e724220fa4", null ], + [ "allocateSubmix", "classamuse_1_1_i_backend_voice_allocator.html#aaf3b279a3aacc448d93e7f30b7777b22", null ], + [ "allocateVoice", "classamuse_1_1_i_backend_voice_allocator.html#a850ec8003da09d54c838689cdc30b40c", null ], + [ "getAvailableSet", "classamuse_1_1_i_backend_voice_allocator.html#af084640254547c25daf1be8285bce4c7", null ], + [ "pumpAndMixVoices", "classamuse_1_1_i_backend_voice_allocator.html#a64011036531080175ab9f092b0e71c4f", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_i_backend_voice_allocator__coll__graph.map b/classamuse_1_1_i_backend_voice_allocator__coll__graph.map new file mode 100644 index 0000000..825859e --- /dev/null +++ b/classamuse_1_1_i_backend_voice_allocator__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_i_backend_voice_allocator__coll__graph.md5 b/classamuse_1_1_i_backend_voice_allocator__coll__graph.md5 new file mode 100644 index 0000000..eb752b9 --- /dev/null +++ b/classamuse_1_1_i_backend_voice_allocator__coll__graph.md5 @@ -0,0 +1 @@ +5d840279d192e65f5fe3b5c6702896fd \ No newline at end of file diff --git a/classamuse_1_1_i_backend_voice_allocator__coll__graph.png b/classamuse_1_1_i_backend_voice_allocator__coll__graph.png new file mode 100644 index 0000000..3d9cc19 Binary files /dev/null and b/classamuse_1_1_i_backend_voice_allocator__coll__graph.png differ diff --git a/classamuse_1_1_i_backend_voice_allocator__inherit__graph.map b/classamuse_1_1_i_backend_voice_allocator__inherit__graph.map new file mode 100644 index 0000000..92a4a5f --- /dev/null +++ b/classamuse_1_1_i_backend_voice_allocator__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_i_backend_voice_allocator__inherit__graph.md5 b/classamuse_1_1_i_backend_voice_allocator__inherit__graph.md5 new file mode 100644 index 0000000..e5b2da0 --- /dev/null +++ b/classamuse_1_1_i_backend_voice_allocator__inherit__graph.md5 @@ -0,0 +1 @@ +2efcfc522c8198a5a8c65aea1d5181c7 \ No newline at end of file diff --git a/classamuse_1_1_i_backend_voice_allocator__inherit__graph.png b/classamuse_1_1_i_backend_voice_allocator__inherit__graph.png new file mode 100644 index 0000000..9f4c05a Binary files /dev/null and b/classamuse_1_1_i_backend_voice_allocator__inherit__graph.png differ diff --git a/classamuse_1_1_intrusive_audio_group_data-members.html b/classamuse_1_1_intrusive_audio_group_data-members.html new file mode 100644 index 0000000..a0b4b09 --- /dev/null +++ b/classamuse_1_1_intrusive_audio_group_data-members.html @@ -0,0 +1,139 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::IntrusiveAudioGroupData Member List
+
+
+ +

This is the complete list of members for amuse::IntrusiveAudioGroupData, including all inherited members.

+ + + + + + + + + + + + + + + +
AudioGroupData(unsigned char *proj, unsigned char *pool, unsigned char *sdir, unsigned char *samp) (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getPool() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getProj() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getSamp() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
getSdir() const (defined in amuse::AudioGroupData)amuse::AudioGroupDatainline
IntrusiveAudioGroupData(const IntrusiveAudioGroupData &)=delete (defined in amuse::IntrusiveAudioGroupData)amuse::IntrusiveAudioGroupData
IntrusiveAudioGroupData(IntrusiveAudioGroupData &&other) (defined in amuse::IntrusiveAudioGroupData)amuse::IntrusiveAudioGroupData
m_pool (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
m_proj (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
m_samp (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
m_sdir (defined in amuse::AudioGroupData)amuse::AudioGroupDataprotected
operator=(const IntrusiveAudioGroupData &)=delete (defined in amuse::IntrusiveAudioGroupData)amuse::IntrusiveAudioGroupData
operator=(IntrusiveAudioGroupData &&other) (defined in amuse::IntrusiveAudioGroupData)amuse::IntrusiveAudioGroupData
~IntrusiveAudioGroupData() (defined in amuse::IntrusiveAudioGroupData)amuse::IntrusiveAudioGroupData
+
+ + + + diff --git a/classamuse_1_1_intrusive_audio_group_data.html b/classamuse_1_1_intrusive_audio_group_data.html new file mode 100644 index 0000000..59095a1 --- /dev/null +++ b/classamuse_1_1_intrusive_audio_group_data.html @@ -0,0 +1,199 @@ + + + + + + +Amuse: amuse::IntrusiveAudioGroupData Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::IntrusiveAudioGroupData Class Reference
+
+
+ +

#include <AudioGroupData.hpp>

+
+Inheritance diagram for amuse::IntrusiveAudioGroupData:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::IntrusiveAudioGroupData:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

IntrusiveAudioGroupData (const IntrusiveAudioGroupData &)=delete
 
+IntrusiveAudioGroupDataoperator= (const IntrusiveAudioGroupData &)=delete
 
IntrusiveAudioGroupData (IntrusiveAudioGroupData &&other)
 
+IntrusiveAudioGroupDataoperator= (IntrusiveAudioGroupData &&other)
 
- Public Member Functions inherited from amuse::AudioGroupData
AudioGroupData (unsigned char *proj, unsigned char *pool, unsigned char *sdir, unsigned char *samp)
 
+const unsigned char * getProj () const
 
+const unsigned char * getPool () const
 
+const unsigned char * getSdir () const
 
+const unsigned char * getSamp () const
 
+ + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from amuse::AudioGroupData
+unsigned char * m_proj
 
+unsigned char * m_pool
 
+unsigned char * m_sdir
 
+unsigned char * m_samp
 
+

Detailed Description

+

A buffer-owning version of AudioGroupData

+ +

Definition at line 27 of file AudioGroupData.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_intrusive_audio_group_data.js b/classamuse_1_1_intrusive_audio_group_data.js new file mode 100644 index 0000000..bb01287 --- /dev/null +++ b/classamuse_1_1_intrusive_audio_group_data.js @@ -0,0 +1,8 @@ +var classamuse_1_1_intrusive_audio_group_data = +[ + [ "~IntrusiveAudioGroupData", "classamuse_1_1_intrusive_audio_group_data.html#a14ad5f5c50d55d4b24a9132ee7ce6d15", null ], + [ "IntrusiveAudioGroupData", "classamuse_1_1_intrusive_audio_group_data.html#ad07147cfb12510e62c354469fa9e0b28", null ], + [ "IntrusiveAudioGroupData", "classamuse_1_1_intrusive_audio_group_data.html#ad5c9af02204d63715c42f982e3a4ea07", null ], + [ "operator=", "classamuse_1_1_intrusive_audio_group_data.html#aad13a79a86e2317d0d45630dc82078ec", null ], + [ "operator=", "classamuse_1_1_intrusive_audio_group_data.html#adb5e33063ea656757d1993b8032f6dc7", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_intrusive_audio_group_data__coll__graph.map b/classamuse_1_1_intrusive_audio_group_data__coll__graph.map new file mode 100644 index 0000000..f993767 --- /dev/null +++ b/classamuse_1_1_intrusive_audio_group_data__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_intrusive_audio_group_data__coll__graph.md5 b/classamuse_1_1_intrusive_audio_group_data__coll__graph.md5 new file mode 100644 index 0000000..9ec0ed1 --- /dev/null +++ b/classamuse_1_1_intrusive_audio_group_data__coll__graph.md5 @@ -0,0 +1 @@ +8b6b4b722841c41c39ab83f2e1719b10 \ No newline at end of file diff --git a/classamuse_1_1_intrusive_audio_group_data__coll__graph.png b/classamuse_1_1_intrusive_audio_group_data__coll__graph.png new file mode 100644 index 0000000..b904f1e Binary files /dev/null and b/classamuse_1_1_intrusive_audio_group_data__coll__graph.png differ diff --git a/classamuse_1_1_intrusive_audio_group_data__inherit__graph.map b/classamuse_1_1_intrusive_audio_group_data__inherit__graph.map new file mode 100644 index 0000000..f993767 --- /dev/null +++ b/classamuse_1_1_intrusive_audio_group_data__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_intrusive_audio_group_data__inherit__graph.md5 b/classamuse_1_1_intrusive_audio_group_data__inherit__graph.md5 new file mode 100644 index 0000000..9ec0ed1 --- /dev/null +++ b/classamuse_1_1_intrusive_audio_group_data__inherit__graph.md5 @@ -0,0 +1 @@ +8b6b4b722841c41c39ab83f2e1719b10 \ No newline at end of file diff --git a/classamuse_1_1_intrusive_audio_group_data__inherit__graph.png b/classamuse_1_1_intrusive_audio_group_data__inherit__graph.png new file mode 100644 index 0000000..b904f1e Binary files /dev/null and b/classamuse_1_1_intrusive_audio_group_data__inherit__graph.png differ diff --git a/classamuse_1_1_listener-members.html b/classamuse_1_1_listener-members.html new file mode 100644 index 0000000..2e066da --- /dev/null +++ b/classamuse_1_1_listener-members.html @@ -0,0 +1,137 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Listener Member List
+
+
+ +

This is the complete list of members for amuse::Listener, including all inherited members.

+ + + + + + + + + + + + + +
_destroy() (defined in amuse::Entity)amuse::Entityinlineprotected
Entity(Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId()) (defined in amuse::Entity)amuse::Entityinline
getAudioGroup() const (defined in amuse::Entity)amuse::Entityinline
getEngine() (defined in amuse::Entity)amuse::Entityinline
getGroupId() const (defined in amuse::Entity)amuse::Entityinline
getObjectId() const (defined in amuse::Entity)amuse::Entityinline
m_audioGroup (defined in amuse::Entity)amuse::Entityprotected
m_destroyed (defined in amuse::Entity)amuse::Entityprotected
m_engine (defined in amuse::Entity)amuse::Entityprotected
m_groupId (defined in amuse::Entity)amuse::Entityprotected
m_objectId (defined in amuse::Entity)amuse::Entityprotected
~Entity() (defined in amuse::Entity)amuse::Entityinline
+
+ + + + diff --git a/classamuse_1_1_listener.html b/classamuse_1_1_listener.html new file mode 100644 index 0000000..4b792de --- /dev/null +++ b/classamuse_1_1_listener.html @@ -0,0 +1,189 @@ + + + + + + +Amuse: amuse::Listener Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Listener Class Reference
+
+
+
+Inheritance diagram for amuse::Listener:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::Listener:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from amuse::Entity
Entity (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId())
 
+EnginegetEngine ()
 
+const AudioGroupgetAudioGroup () const
 
+int getGroupId () const
 
+ObjectId getObjectId () const
 
- Protected Member Functions inherited from amuse::Entity
+void _destroy ()
 
- Protected Attributes inherited from amuse::Entity
+bool m_destroyed = false
 
+Enginem_engine
 
+const AudioGroupm_audioGroup
 
+int m_groupId
 
+ObjectId m_objectId = 0xffff
 
+

Detailed Description

+
+

Definition at line 9 of file Listener.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_listener__coll__graph.map b/classamuse_1_1_listener__coll__graph.map new file mode 100644 index 0000000..1a34a5a --- /dev/null +++ b/classamuse_1_1_listener__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_listener__coll__graph.md5 b/classamuse_1_1_listener__coll__graph.md5 new file mode 100644 index 0000000..4e74870 --- /dev/null +++ b/classamuse_1_1_listener__coll__graph.md5 @@ -0,0 +1 @@ +7fb6cc60c3502cb4d0550d2eba246783 \ No newline at end of file diff --git a/classamuse_1_1_listener__coll__graph.png b/classamuse_1_1_listener__coll__graph.png new file mode 100644 index 0000000..388eb73 Binary files /dev/null and b/classamuse_1_1_listener__coll__graph.png differ diff --git a/classamuse_1_1_listener__inherit__graph.map b/classamuse_1_1_listener__inherit__graph.map new file mode 100644 index 0000000..f07b018 --- /dev/null +++ b/classamuse_1_1_listener__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_listener__inherit__graph.md5 b/classamuse_1_1_listener__inherit__graph.md5 new file mode 100644 index 0000000..158db24 --- /dev/null +++ b/classamuse_1_1_listener__inherit__graph.md5 @@ -0,0 +1 @@ +ce46276f276bfbe1bf2d28a6951b66aa \ No newline at end of file diff --git a/classamuse_1_1_listener__inherit__graph.png b/classamuse_1_1_listener__inherit__graph.png new file mode 100644 index 0000000..ad3ead8 Binary files /dev/null and b/classamuse_1_1_listener__inherit__graph.png differ diff --git a/classamuse_1_1_sequencer-members.html b/classamuse_1_1_sequencer-members.html new file mode 100644 index 0000000..8126782 --- /dev/null +++ b/classamuse_1_1_sequencer-members.html @@ -0,0 +1,159 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Sequencer Member List
+
+
+ +

This is the complete list of members for amuse::Sequencer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
advance(double dt)amuse::Sequencer
allOff(bool now=false)amuse::Sequencer
Engine (defined in amuse::Sequencer)amuse::Sequencerfriend
Entity(Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId()) (defined in amuse::Entity)amuse::Entityinline
findVoice(int vid)amuse::Sequencer
getAudioGroup() const (defined in amuse::Entity)amuse::Entityinline
getChanProgram(int8_t chanId) const amuse::Sequencer
getEngine() (defined in amuse::Entity)amuse::Entityinline
getGroupId() const (defined in amuse::Entity)amuse::Entityinline
getObjectId() const (defined in amuse::Entity)amuse::Entityinline
getSubmix()amuse::Sequencerinline
getVoiceCount() const amuse::Sequencer
keyOff(uint8_t chan, uint8_t note, uint8_t velocity)amuse::Sequencer
keyOn(uint8_t chan, uint8_t note, uint8_t velocity)amuse::Sequencer
kill()amuse::Sequencerinline
killKeygroup(uint8_t kg, bool now)amuse::Sequencer
m_audioGroup (defined in amuse::Entity)amuse::Entityprotected
m_destroyed (defined in amuse::Entity)amuse::Entityprotected
m_engine (defined in amuse::Entity)amuse::Entityprotected
m_groupId (defined in amuse::Entity)amuse::Entityprotected
m_objectId (defined in amuse::Entity)amuse::Entityprotected
nextChanProgram(int8_t chanId)amuse::Sequencer
playSong(const unsigned char *arrData, bool dieOnEnd=true)amuse::Sequencer
prevChanProgram(int8_t chanId)amuse::Sequencer
sendMacroMessage(ObjectId macroId, int32_t val)amuse::Sequencer
Sequencer(Engine &engine, const AudioGroup &group, int groupId, const SongGroupIndex &songGroup, int setupId, Submix *smx) (defined in amuse::Sequencer)amuse::Sequencer
setChanProgram(int8_t chanId, int8_t prog)amuse::Sequencer
setCtrlValue(uint8_t chan, uint8_t ctrl, int8_t val)amuse::Sequencer
setPitchWheel(uint8_t chan, float pitchWheel)amuse::Sequencer
setTempo(double ticksPerSec)amuse::Sequencer
setVolume(float vol)amuse::Sequencer
state() const amuse::Sequencerinline
~Entity() (defined in amuse::Entity)amuse::Entityinline
~Sequencer() (defined in amuse::Sequencer)amuse::Sequencer
+
+ + + + diff --git a/classamuse_1_1_sequencer.html b/classamuse_1_1_sequencer.html new file mode 100644 index 0000000..20d3e17 --- /dev/null +++ b/classamuse_1_1_sequencer.html @@ -0,0 +1,712 @@ + + + + + + +Amuse: amuse::Sequencer Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Sequencer Class Reference
+
+
+ +

#include <Sequencer.hpp>

+
+Inheritance diagram for amuse::Sequencer:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::Sequencer:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Sequencer (Engine &engine, const AudioGroup &group, int groupId, const SongGroupIndex &songGroup, int setupId, Submix *smx)
 
void advance (double dt)
 
SubmixgetSubmix ()
 
SequencerState state () const
 
size_t getVoiceCount () const
 
std::shared_ptr< VoicekeyOn (uint8_t chan, uint8_t note, uint8_t velocity)
 
void keyOff (uint8_t chan, uint8_t note, uint8_t velocity)
 
void setCtrlValue (uint8_t chan, uint8_t ctrl, int8_t val)
 
void setPitchWheel (uint8_t chan, float pitchWheel)
 
void allOff (bool now=false)
 
void killKeygroup (uint8_t kg, bool now)
 
std::shared_ptr< VoicefindVoice (int vid)
 
void sendMacroMessage (ObjectId macroId, int32_t val)
 
void setTempo (double ticksPerSec)
 
void playSong (const unsigned char *arrData, bool dieOnEnd=true)
 
void setVolume (float vol)
 
int8_t getChanProgram (int8_t chanId) const
 
bool setChanProgram (int8_t chanId, int8_t prog)
 
void nextChanProgram (int8_t chanId)
 
void prevChanProgram (int8_t chanId)
 
void kill ()
 
- Public Member Functions inherited from amuse::Entity
Entity (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId())
 
+EnginegetEngine ()
 
+const AudioGroupgetAudioGroup () const
 
+int getGroupId () const
 
+ObjectId getObjectId () const
 
+ + + +

+Friends

+class Engine
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from amuse::Entity
+void _destroy ()
 
- Protected Attributes inherited from amuse::Entity
+bool m_destroyed = false
 
+Enginem_engine
 
+const AudioGroupm_audioGroup
 
+int m_groupId
 
+ObjectId m_objectId = 0xffff
 
+

Detailed Description

+

Multi-voice lifetime manager and polyphonic parameter tracking

+ +

Definition at line 27 of file Sequencer.hpp.

+

Member Function Documentation

+ +
+
+ + + + + + + + +
void amuse::Sequencer::advance (double dt)
+
+

Advance current song data (if any)

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Sequencer::allOff (bool now = false)
+
+

Send keyoffs to all active notes, silence immediately if now set

+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr<Voice> amuse::Sequencer::findVoice (int vid)
+
+

Find voice instance contained within Sequencer

+ +
+
+ +
+
+ + + + + + + + +
int8_t amuse::Sequencer::getChanProgram (int8_t chanId) const
+
+

Get current program number of channel

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
Submix* amuse::Sequencer::getSubmix ()
+
+inline
+
+

Obtain pointer to Sequencer's Submix

+ +

Definition at line 92 of file Sequencer.hpp.

+ +
+
+ +
+
+ + + + + + + +
size_t amuse::Sequencer::getVoiceCount () const
+
+

Get number of active voices

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Sequencer::keyOff (uint8_t chan,
uint8_t note,
uint8_t velocity 
)
+
+

Register key release with voice set

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<Voice> amuse::Sequencer::keyOn (uint8_t chan,
uint8_t note,
uint8_t velocity 
)
+
+

Register key press with voice set

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void amuse::Sequencer::kill ()
+
+inline
+
+

Manually kill sequencer for deferred release from engine

+ +

Definition at line 146 of file Sequencer.hpp.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Sequencer::killKeygroup (uint8_t kg,
bool now 
)
+
+

Stop all voices in kg, stops immediately (no KeyOff) when now set

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Sequencer::nextChanProgram (int8_t chanId)
+
+

Advance to next program in channel

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Sequencer::playSong (const unsigned char * arrData,
bool dieOnEnd = true 
)
+
+

Play MIDI arrangement

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Sequencer::prevChanProgram (int8_t chanId)
+
+

Advance to prev program in channel

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Sequencer::sendMacroMessage (ObjectId macroId,
int32_t val 
)
+
+

Send all voices using macroId the message val

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool amuse::Sequencer::setChanProgram (int8_t chanId,
int8_t prog 
)
+
+

Set current program number of channel

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Sequencer::setCtrlValue (uint8_t chan,
uint8_t ctrl,
int8_t val 
)
+
+

Set MIDI control value [0,127] for all voices

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Sequencer::setPitchWheel (uint8_t chan,
float pitchWheel 
)
+
+

Set pitchwheel value for use with voice controllers

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Sequencer::setTempo (double ticksPerSec)
+
+

Set tempo of sequencer and all voices in ticks per second

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Sequencer::setVolume (float vol)
+
+

Set total volume of sequencer

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
SequencerState amuse::Sequencer::state () const
+
+inline
+
+

Get current state of sequencer

+ +

Definition at line 95 of file Sequencer.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_sequencer.js b/classamuse_1_1_sequencer.js new file mode 100644 index 0000000..cf10462 --- /dev/null +++ b/classamuse_1_1_sequencer.js @@ -0,0 +1,26 @@ +var classamuse_1_1_sequencer = +[ + [ "~Sequencer", "classamuse_1_1_sequencer.html#a7bb46fbb093265270e5a41cbb0b11680", null ], + [ "Sequencer", "classamuse_1_1_sequencer.html#ae66fc77106147a8b3222293a7f6d9f65", null ], + [ "advance", "classamuse_1_1_sequencer.html#a78b6deea1077a014d5da5d0c317701c5", null ], + [ "allOff", "classamuse_1_1_sequencer.html#ab37ec3fef671e60a3c1732a3cd575e7c", null ], + [ "findVoice", "classamuse_1_1_sequencer.html#a0677a97bef6a47d8f78932feab759684", null ], + [ "getChanProgram", "classamuse_1_1_sequencer.html#af3dbf58ec988e35ccf192a45bb1b6f1d", null ], + [ "getSubmix", "classamuse_1_1_sequencer.html#a7e111ab4f9d5a95f7d8feb8e2e621939", null ], + [ "getVoiceCount", "classamuse_1_1_sequencer.html#a2174dd97aa67c7428796d30d1e262792", null ], + [ "keyOff", "classamuse_1_1_sequencer.html#aef65851b88abe1a2dbd0a184f5f0f9ec", null ], + [ "keyOn", "classamuse_1_1_sequencer.html#acaa7c830bf37042d3675dd94f77a6286", null ], + [ "kill", "classamuse_1_1_sequencer.html#a9219aa3d6eb40780810697afde48df73", null ], + [ "killKeygroup", "classamuse_1_1_sequencer.html#a64a53cb8cce66ff5b734fe8112eae494", null ], + [ "nextChanProgram", "classamuse_1_1_sequencer.html#aa3845d51cb99313220a6469fc8565801", null ], + [ "playSong", "classamuse_1_1_sequencer.html#a98d4d478b6ec484ffd8bb1596c96b4b3", null ], + [ "prevChanProgram", "classamuse_1_1_sequencer.html#a07be5231579085b6c32f979c55f87d0e", null ], + [ "sendMacroMessage", "classamuse_1_1_sequencer.html#a726c361721f68582b2983b1174233119", null ], + [ "setChanProgram", "classamuse_1_1_sequencer.html#a393b7e1f00a64bceeeb15cc3b3a211b3", null ], + [ "setCtrlValue", "classamuse_1_1_sequencer.html#a44a480fb73c2d5f6c2c30baa2ea3b5ec", null ], + [ "setPitchWheel", "classamuse_1_1_sequencer.html#a6d777947ccd592e69ede36ef90a90445", null ], + [ "setTempo", "classamuse_1_1_sequencer.html#a5826dde7b0b6d54c6e57f563d6e2783a", null ], + [ "setVolume", "classamuse_1_1_sequencer.html#aab26e512ca8b56555452409b25b8f5be", null ], + [ "state", "classamuse_1_1_sequencer.html#a4626f794cd600ed23daa2eecd6a9df53", null ], + [ "Engine", "classamuse_1_1_sequencer.html#a3e1914489e4bed4f9f23cdeab34a43dc", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_sequencer__coll__graph.map b/classamuse_1_1_sequencer__coll__graph.map new file mode 100644 index 0000000..e8be191 --- /dev/null +++ b/classamuse_1_1_sequencer__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_sequencer__coll__graph.md5 b/classamuse_1_1_sequencer__coll__graph.md5 new file mode 100644 index 0000000..6d5a97e --- /dev/null +++ b/classamuse_1_1_sequencer__coll__graph.md5 @@ -0,0 +1 @@ +8aa08d6d86db258926fcf77d4edfc970 \ No newline at end of file diff --git a/classamuse_1_1_sequencer__coll__graph.png b/classamuse_1_1_sequencer__coll__graph.png new file mode 100644 index 0000000..c8621d0 Binary files /dev/null and b/classamuse_1_1_sequencer__coll__graph.png differ diff --git a/classamuse_1_1_sequencer__inherit__graph.map b/classamuse_1_1_sequencer__inherit__graph.map new file mode 100644 index 0000000..b760ff3 --- /dev/null +++ b/classamuse_1_1_sequencer__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_sequencer__inherit__graph.md5 b/classamuse_1_1_sequencer__inherit__graph.md5 new file mode 100644 index 0000000..c0a38a3 --- /dev/null +++ b/classamuse_1_1_sequencer__inherit__graph.md5 @@ -0,0 +1 @@ +76843d87894beb63428d3901ee0a118c \ No newline at end of file diff --git a/classamuse_1_1_sequencer__inherit__graph.png b/classamuse_1_1_sequencer__inherit__graph.png new file mode 100644 index 0000000..7b7f045 Binary files /dev/null and b/classamuse_1_1_sequencer__inherit__graph.png differ diff --git a/classamuse_1_1_song_state-members.html b/classamuse_1_1_song_state-members.html new file mode 100644 index 0000000..a6b40dc --- /dev/null +++ b/classamuse_1_1_song_state-members.html @@ -0,0 +1,128 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SongState Member List
+
+
+ +

This is the complete list of members for amuse::SongState, including all inherited members.

+ + + + +
advance(Sequencer &seq, double dt)amuse::SongState
initialize(const unsigned char *ptr)amuse::SongState
Voice (defined in amuse::SongState)amuse::SongStatefriend
+
+ + + + diff --git a/classamuse_1_1_song_state.html b/classamuse_1_1_song_state.html new file mode 100644 index 0000000..81c9d00 --- /dev/null +++ b/classamuse_1_1_song_state.html @@ -0,0 +1,203 @@ + + + + + + +Amuse: amuse::SongState Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SongState Class Reference
+
+
+ +

#include <SongState.hpp>

+
+Collaboration diagram for amuse::SongState:
+
+
Collaboration graph
+ + +
+ + + + + + +

+Public Member Functions

void initialize (const unsigned char *ptr)
 
bool advance (Sequencer &seq, double dt)
 
+ + + +

+Friends

+class Voice
 
+

Detailed Description

+

Real-time state of Song execution

+ +

Definition at line 21 of file SongState.hpp.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool amuse::SongState::advance (Sequencerseq,
double dt 
)
+
+

advances dt seconds worth of commands in the Song

Returns
true if END reached
+ +
+
+ +
+
+ + + + + + + + +
void amuse::SongState::initialize (const unsigned char * ptr)
+
+

initialize state for Song data at ptr

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_song_state.js b/classamuse_1_1_song_state.js new file mode 100644 index 0000000..c415204 --- /dev/null +++ b/classamuse_1_1_song_state.js @@ -0,0 +1,6 @@ +var classamuse_1_1_song_state = +[ + [ "advance", "classamuse_1_1_song_state.html#aebcca53f32eb4ac1c25e43aa99b7316d", null ], + [ "initialize", "classamuse_1_1_song_state.html#a4949ac977953276c6a35c13d1ae2e1c6", null ], + [ "Voice", "classamuse_1_1_song_state.html#a24657954e9f1d12330a031c549e6e850", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_song_state__coll__graph.map b/classamuse_1_1_song_state__coll__graph.map new file mode 100644 index 0000000..fbfb884 --- /dev/null +++ b/classamuse_1_1_song_state__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_song_state__coll__graph.md5 b/classamuse_1_1_song_state__coll__graph.md5 new file mode 100644 index 0000000..3e9a1e4 --- /dev/null +++ b/classamuse_1_1_song_state__coll__graph.md5 @@ -0,0 +1 @@ +17832ca9a0834a579c8a55c1b3019c7a \ No newline at end of file diff --git a/classamuse_1_1_song_state__coll__graph.png b/classamuse_1_1_song_state__coll__graph.png new file mode 100644 index 0000000..19c532f Binary files /dev/null and b/classamuse_1_1_song_state__coll__graph.png differ diff --git a/classamuse_1_1_sound_macro_state-members.html b/classamuse_1_1_sound_macro_state-members.html new file mode 100644 index 0000000..24673a9 --- /dev/null +++ b/classamuse_1_1_sound_macro_state-members.html @@ -0,0 +1,131 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SoundMacroState Member List
+
+
+ +

This is the complete list of members for amuse::SoundMacroState, including all inherited members.

+ + + + + + + +
advance(Voice &vox, double dt)amuse::SoundMacroState
initialize(const unsigned char *ptr, int step)amuse::SoundMacroState
initialize(const unsigned char *ptr, int step, double ticksPerSec, uint8_t midiKey, uint8_t midiVel, uint8_t midiMod) (defined in amuse::SoundMacroState)amuse::SoundMacroState
keyoffNotify(Voice &vox)amuse::SoundMacroState
sampleEndNotify(Voice &vox)amuse::SoundMacroState
Voice (defined in amuse::SoundMacroState)amuse::SoundMacroStatefriend
+
+ + + + diff --git a/classamuse_1_1_sound_macro_state.html b/classamuse_1_1_sound_macro_state.html new file mode 100644 index 0000000..d118ff2 --- /dev/null +++ b/classamuse_1_1_sound_macro_state.html @@ -0,0 +1,254 @@ + + + + + + +Amuse: amuse::SoundMacroState Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SoundMacroState Class Reference
+
+
+ +

#include <SoundMacroState.hpp>

+
+Collaboration diagram for amuse::SoundMacroState:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Member Functions

void initialize (const unsigned char *ptr, int step)
 
+void initialize (const unsigned char *ptr, int step, double ticksPerSec, uint8_t midiKey, uint8_t midiVel, uint8_t midiMod)
 
bool advance (Voice &vox, double dt)
 
void keyoffNotify (Voice &vox)
 
void sampleEndNotify (Voice &vox)
 
+ + + +

+Friends

+class Voice
 
+

Detailed Description

+

Real-time state of SoundMacro execution

+ +

Definition at line 14 of file SoundMacroState.hpp.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool amuse::SoundMacroState::advance (Voicevox,
double dt 
)
+
+

advances dt seconds worth of commands in the SoundMacro

Returns
true if END reached
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::SoundMacroState::initialize (const unsigned char * ptr,
int step 
)
+
+

initialize state for SoundMacro data at ptr

+ +
+
+ +
+
+ + + + + + + + +
void amuse::SoundMacroState::keyoffNotify (Voicevox)
+
+

keyoff event

+ +
+
+ +
+
+ + + + + + + + +
void amuse::SoundMacroState::sampleEndNotify (Voicevox)
+
+

sample end event

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_sound_macro_state.js b/classamuse_1_1_sound_macro_state.js new file mode 100644 index 0000000..6bce8e0 --- /dev/null +++ b/classamuse_1_1_sound_macro_state.js @@ -0,0 +1,9 @@ +var classamuse_1_1_sound_macro_state = +[ + [ "advance", "classamuse_1_1_sound_macro_state.html#ab34178f581066aef0fd4d7ffe398171d", null ], + [ "initialize", "classamuse_1_1_sound_macro_state.html#af8d0940d0430d8563ba3999fe624c9b8", null ], + [ "initialize", "classamuse_1_1_sound_macro_state.html#a2b9059dd6517cb536d9a1d8467689cf9", null ], + [ "keyoffNotify", "classamuse_1_1_sound_macro_state.html#a1e4cee2bc166197a5529f687afca4b2d", null ], + [ "sampleEndNotify", "classamuse_1_1_sound_macro_state.html#a44e40adc27901284a0b3f5b72b45d163", null ], + [ "Voice", "classamuse_1_1_sound_macro_state.html#a24657954e9f1d12330a031c549e6e850", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_sound_macro_state__coll__graph.map b/classamuse_1_1_sound_macro_state__coll__graph.map new file mode 100644 index 0000000..39d165f --- /dev/null +++ b/classamuse_1_1_sound_macro_state__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_sound_macro_state__coll__graph.md5 b/classamuse_1_1_sound_macro_state__coll__graph.md5 new file mode 100644 index 0000000..d99f348 --- /dev/null +++ b/classamuse_1_1_sound_macro_state__coll__graph.md5 @@ -0,0 +1 @@ +5cb971f66e6cf8d8a77ff63ae1aad86b \ No newline at end of file diff --git a/classamuse_1_1_sound_macro_state__coll__graph.png b/classamuse_1_1_sound_macro_state__coll__graph.png new file mode 100644 index 0000000..3e83e12 Binary files /dev/null and b/classamuse_1_1_sound_macro_state__coll__graph.png differ diff --git a/classamuse_1_1_submix-members.html b/classamuse_1_1_submix-members.html new file mode 100644 index 0000000..f035621 --- /dev/null +++ b/classamuse_1_1_submix-members.html @@ -0,0 +1,142 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Submix Member List
+
+
+ +

This is the complete list of members for amuse::Submix, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
applyEffect(int16_t *audio, size_t frameCount, const ChannelMap &chanMap) const amuse::Submix
applyEffect(int32_t *audio, size_t frameCount, const ChannelMap &chanMap) const amuse::Submix
applyEffect(float *audio, size_t frameCount, const ChannelMap &chanMap) const amuse::Submix
canApplyEffect() const amuse::Submixinline
clearEffects()amuse::Submixinline
Engine (defined in amuse::Submix)amuse::Submixfriend
getEngine() (defined in amuse::Submix)amuse::Submixinline
getParentSubmix()amuse::Submixinline
makeChorus(uint32_t baseDelay, uint32_t variation, uint32_t period)amuse::Submix
makeDelay(uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput)amuse::Submix
makeEffect(Args...args)amuse::Submixinline
makeReverbHi(float coloration, float mix, float time, float damping, float preDelay, float crosstalk)amuse::Submix
makeReverbStd(float coloration, float mix, float time, float damping, float preDelay)amuse::Submix
Sequencer (defined in amuse::Submix)amuse::Submixfriend
Submix(Engine &engine, Submix *smx) (defined in amuse::Submix)amuse::Submix
Voice (defined in amuse::Submix)amuse::Submixfriend
~Submix() (defined in amuse::Submix)amuse::Submixinline
+
+ + + + diff --git a/classamuse_1_1_submix.html b/classamuse_1_1_submix.html new file mode 100644 index 0000000..c81b737 --- /dev/null +++ b/classamuse_1_1_submix.html @@ -0,0 +1,630 @@ + + + + + + +Amuse: amuse::Submix Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Submix Class Reference
+
+
+ +

#include <Submix.hpp>

+
+Collaboration diagram for amuse::Submix:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Submix (Engine &engine, Submix *smx)
 
SubmixgetParentSubmix ()
 
template<class T , class... Args>
T & makeEffect (Args...args)
 
EffectChorusmakeChorus (uint32_t baseDelay, uint32_t variation, uint32_t period)
 
EffectDelaymakeDelay (uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput)
 
EffectReverbStdmakeReverbStd (float coloration, float mix, float time, float damping, float preDelay)
 
EffectReverbHimakeReverbHi (float coloration, float mix, float time, float damping, float preDelay, float crosstalk)
 
void clearEffects ()
 
bool canApplyEffect () const
 
void applyEffect (int16_t *audio, size_t frameCount, const ChannelMap &chanMap) const
 
void applyEffect (int32_t *audio, size_t frameCount, const ChannelMap &chanMap) const
 
void applyEffect (float *audio, size_t frameCount, const ChannelMap &chanMap) const
 
+EnginegetEngine ()
 
+ + + + + + + +

+Friends

+class Engine
 
+class Voice
 
+class Sequencer
 
+

Detailed Description

+

Intermediate mix of voices for applying auxiliary effects

+ +

Definition at line 20 of file Submix.hpp.

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Submix::applyEffect (int16_t * audio,
size_t frameCount,
const ChannelMapchanMap 
) const
+
+

in/out transformation entry for audio effect

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Submix::applyEffect (int32_t * audio,
size_t frameCount,
const ChannelMapchanMap 
) const
+
+

in/out transformation entry for audio effect

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Submix::applyEffect (float * audio,
size_t frameCount,
const ChannelMapchanMap 
) const
+
+

in/out transformation entry for audio effect

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool amuse::Submix::canApplyEffect () const
+
+inline
+
+

Returns true when an effect callback is bound

+ +

Definition at line 91 of file Submix.hpp.

+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void amuse::Submix::clearEffects ()
+
+inline
+
+

Remove and deallocate all effects from effect stack

+ +

Definition at line 88 of file Submix.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
Submix* amuse::Submix::getParentSubmix ()
+
+inline
+
+

Obtain pointer to Submix's parent Submix

+ +

Definition at line 44 of file Submix.hpp.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
EffectChorus& amuse::Submix::makeChorus (uint32_t baseDelay,
uint32_t variation,
uint32_t period 
)
+
+

Add new chorus effect to effect stack and assume ownership

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
EffectDelay& amuse::Submix::makeDelay (uint32_t initDelay,
uint32_t initFeedback,
uint32_t initOutput 
)
+
+

Add new delay effect to effect stack and assume ownership

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+
+template<class T , class... Args>
+ + + + + +
+ + + + + + + + +
T& amuse::Submix::makeEffect (Args... args)
+
+inline
+
+

Add new effect to effect stack and assume ownership

+ +

Definition at line 48 of file Submix.hpp.

+ +

+Here is the call graph for this function:
+
+
+ + + + + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EffectReverbHi& amuse::Submix::makeReverbHi (float coloration,
float mix,
float time,
float damping,
float preDelay,
float crosstalk 
)
+
+

Add new high-quality reverb effect to effect stack and assume ownership

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EffectReverbStd& amuse::Submix::makeReverbStd (float coloration,
float mix,
float time,
float damping,
float preDelay 
)
+
+

Add new standard-quality reverb effect to effect stack and assume ownership

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_submix.js b/classamuse_1_1_submix.js new file mode 100644 index 0000000..44ceac3 --- /dev/null +++ b/classamuse_1_1_submix.js @@ -0,0 +1,20 @@ +var classamuse_1_1_submix = +[ + [ "Submix", "classamuse_1_1_submix.html#a80bfe9eeba3c9ccd867c75fdd23e5772", null ], + [ "~Submix", "classamuse_1_1_submix.html#aef431fb167c3066344fcb9e7193d1668", null ], + [ "applyEffect", "classamuse_1_1_submix.html#acbbaf63ecb16926f81ea4239cfaabb62", null ], + [ "applyEffect", "classamuse_1_1_submix.html#a82aa9c5fdba7a3dd9ad71a652d2a982c", null ], + [ "applyEffect", "classamuse_1_1_submix.html#a4c40731dd394b196e714710498c81803", null ], + [ "canApplyEffect", "classamuse_1_1_submix.html#a75a04a40201371332a417ba532cf3fc1", null ], + [ "clearEffects", "classamuse_1_1_submix.html#a8d40df3cc18c57caeab46ab8cf4a7c55", null ], + [ "getEngine", "classamuse_1_1_submix.html#aef013a9ce850dd9e93d84d74d94bc7a9", null ], + [ "getParentSubmix", "classamuse_1_1_submix.html#a1d9c2de0e2f648636b23b2794f686c67", null ], + [ "makeChorus", "classamuse_1_1_submix.html#a7f6e78fed831b84edf4d727511bb369c", null ], + [ "makeDelay", "classamuse_1_1_submix.html#acee959153b41411ab9649e9964def20d", null ], + [ "makeEffect", "classamuse_1_1_submix.html#a6c071e39fb376f9214a2919c7e3f5e85", null ], + [ "makeReverbHi", "classamuse_1_1_submix.html#aa15cfdb6cf1969c4bf4d20a47db1e25a", null ], + [ "makeReverbStd", "classamuse_1_1_submix.html#a0b98c05a1bbe7517f8912946359648af", null ], + [ "Engine", "classamuse_1_1_submix.html#a3e1914489e4bed4f9f23cdeab34a43dc", null ], + [ "Sequencer", "classamuse_1_1_submix.html#a52a69080aff30f06654e72959d45db49", null ], + [ "Voice", "classamuse_1_1_submix.html#a24657954e9f1d12330a031c549e6e850", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_submix__coll__graph.map b/classamuse_1_1_submix__coll__graph.map new file mode 100644 index 0000000..4f4f950 --- /dev/null +++ b/classamuse_1_1_submix__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_submix__coll__graph.md5 b/classamuse_1_1_submix__coll__graph.md5 new file mode 100644 index 0000000..91d2cda --- /dev/null +++ b/classamuse_1_1_submix__coll__graph.md5 @@ -0,0 +1 @@ +59176cb709fd821647e9d4f166facd57 \ No newline at end of file diff --git a/classamuse_1_1_submix__coll__graph.png b/classamuse_1_1_submix__coll__graph.png new file mode 100644 index 0000000..bf3fb27 Binary files /dev/null and b/classamuse_1_1_submix__coll__graph.png differ diff --git a/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.map b/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.map new file mode 100644 index 0000000..f4cffe1 --- /dev/null +++ b/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.md5 b/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.md5 new file mode 100644 index 0000000..b6461f4 --- /dev/null +++ b/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.md5 @@ -0,0 +1 @@ +c92549c48cdaf09675d21cb5a5aa4f55 \ No newline at end of file diff --git a/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.png b/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.png new file mode 100644 index 0000000..7d7637f Binary files /dev/null and b/classamuse_1_1_submix_a0b98c05a1bbe7517f8912946359648af_icgraph.png differ diff --git a/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.map b/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.map new file mode 100644 index 0000000..e859a73 --- /dev/null +++ b/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.md5 b/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.md5 new file mode 100644 index 0000000..b1e7bf9 --- /dev/null +++ b/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.md5 @@ -0,0 +1 @@ +3f3245485ebba5e9d94b0f2c3db0a512 \ No newline at end of file diff --git a/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.png b/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.png new file mode 100644 index 0000000..269390d Binary files /dev/null and b/classamuse_1_1_submix_a6c071e39fb376f9214a2919c7e3f5e85_cgraph.png differ diff --git a/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.map b/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.map new file mode 100644 index 0000000..150aa11 --- /dev/null +++ b/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.md5 b/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.md5 new file mode 100644 index 0000000..19b69b2 --- /dev/null +++ b/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.md5 @@ -0,0 +1 @@ +2caa70e6badfdf14ef115f0e42931656 \ No newline at end of file diff --git a/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.png b/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.png new file mode 100644 index 0000000..e9ffe32 Binary files /dev/null and b/classamuse_1_1_submix_a75a04a40201371332a417ba532cf3fc1_cgraph.png differ diff --git a/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.map b/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.map new file mode 100644 index 0000000..c96fcbe --- /dev/null +++ b/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.md5 b/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.md5 new file mode 100644 index 0000000..f1b1908 --- /dev/null +++ b/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.md5 @@ -0,0 +1 @@ +8372c4d054f76b640684484aa5e5bfe0 \ No newline at end of file diff --git a/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.png b/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.png new file mode 100644 index 0000000..4578e5e Binary files /dev/null and b/classamuse_1_1_submix_a7f6e78fed831b84edf4d727511bb369c_icgraph.png differ diff --git a/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.map b/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.map new file mode 100644 index 0000000..cd153ef --- /dev/null +++ b/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.md5 b/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.md5 new file mode 100644 index 0000000..b6f55b8 --- /dev/null +++ b/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.md5 @@ -0,0 +1 @@ +1ae38465dd6c1548eb727521c9be05ab \ No newline at end of file diff --git a/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.png b/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.png new file mode 100644 index 0000000..760ad4e Binary files /dev/null and b/classamuse_1_1_submix_aa15cfdb6cf1969c4bf4d20a47db1e25a_icgraph.png differ diff --git a/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.map b/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.map new file mode 100644 index 0000000..d2e490f --- /dev/null +++ b/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.md5 b/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.md5 new file mode 100644 index 0000000..8722d20 --- /dev/null +++ b/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.md5 @@ -0,0 +1 @@ +d4b01ac837975f9b99d9f09944f80679 \ No newline at end of file diff --git a/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.png b/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.png new file mode 100644 index 0000000..91503a1 Binary files /dev/null and b/classamuse_1_1_submix_acbbaf63ecb16926f81ea4239cfaabb62_icgraph.png differ diff --git a/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.map b/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.map new file mode 100644 index 0000000..53021c3 --- /dev/null +++ b/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.md5 b/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.md5 new file mode 100644 index 0000000..70b7a1e --- /dev/null +++ b/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.md5 @@ -0,0 +1 @@ +5687dd6c78e98253a9157ae303ff54e6 \ No newline at end of file diff --git a/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.png b/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.png new file mode 100644 index 0000000..6a395ab Binary files /dev/null and b/classamuse_1_1_submix_acee959153b41411ab9649e9964def20d_icgraph.png differ diff --git a/classamuse_1_1_surround_profiles-members.html b/classamuse_1_1_surround_profiles-members.html new file mode 100644 index 0000000..ac03444 --- /dev/null +++ b/classamuse_1_1_surround_profiles-members.html @@ -0,0 +1,126 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SurroundProfiles Member List
+
+
+ +

This is the complete list of members for amuse::SurroundProfiles, including all inherited members.

+ + +
SetupMatrix(float matOut[8], const ChannelMap &map, AudioChannelSet set, const Vector3f &emitPos, const Vector3f &listenPos, const Vector3f &listenDir, const Vector3f &listenUp) (defined in amuse::SurroundProfiles)amuse::SurroundProfilesstatic
+
+ + + + diff --git a/classamuse_1_1_surround_profiles.html b/classamuse_1_1_surround_profiles.html new file mode 100644 index 0000000..c028072 --- /dev/null +++ b/classamuse_1_1_surround_profiles.html @@ -0,0 +1,149 @@ + + + + + + +Amuse: amuse::SurroundProfiles Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SurroundProfiles Class Reference
+
+
+ +

#include <SurroundProfiles.hpp>

+
+Collaboration diagram for amuse::SurroundProfiles:
+
+
Collaboration graph
+ + +
+ + + + +

+Static Public Member Functions

+static void SetupMatrix (float matOut[8], const ChannelMap &map, AudioChannelSet set, const Vector3f &emitPos, const Vector3f &listenPos, const Vector3f &listenDir, const Vector3f &listenUp)
 
+

Detailed Description

+

Support class for attenuating channel audio based on speaker 'positions'

+ +

Definition at line 13 of file SurroundProfiles.hpp.

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_surround_profiles__coll__graph.map b/classamuse_1_1_surround_profiles__coll__graph.map new file mode 100644 index 0000000..914408f --- /dev/null +++ b/classamuse_1_1_surround_profiles__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/classamuse_1_1_surround_profiles__coll__graph.md5 b/classamuse_1_1_surround_profiles__coll__graph.md5 new file mode 100644 index 0000000..6a8bd94 --- /dev/null +++ b/classamuse_1_1_surround_profiles__coll__graph.md5 @@ -0,0 +1 @@ +f1483038d7503ed91e182096f0f3a458 \ No newline at end of file diff --git a/classamuse_1_1_surround_profiles__coll__graph.png b/classamuse_1_1_surround_profiles__coll__graph.png new file mode 100644 index 0000000..79c41d0 Binary files /dev/null and b/classamuse_1_1_surround_profiles__coll__graph.png differ diff --git a/classamuse_1_1_voice-members.html b/classamuse_1_1_voice-members.html new file mode 100644 index 0000000..f399a9a --- /dev/null +++ b/classamuse_1_1_voice-members.html @@ -0,0 +1,187 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Voice Member List
+
+
+ +

This is the complete list of members for amuse::Voice, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Engine (defined in amuse::Voice)amuse::Voicefriend
Entity(Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId()) (defined in amuse::Entity)amuse::Entityinline
getAftertouch() const amuse::Voiceinline
getAudioGroup() const (defined in amuse::Entity)amuse::Entityinline
getCtrlValue(uint8_t ctrl) const amuse::Voiceinline
getEngine() (defined in amuse::Entity)amuse::Entityinline
getGroupId() const (defined in amuse::Entity)amuse::Entityinline
getLastNote() const amuse::Voiceinline
getModWheel() const amuse::Voiceinline
getObjectId() const (defined in amuse::Entity)amuse::Entityinline
getPitchWheel() const amuse::Voiceinline
getSubmix()amuse::Voiceinline
getTotalVoices() const amuse::Voice
installCtrlValues(int8_t *cvs)amuse::Voiceinline
keyOff()amuse::Voice
loadSoundObject(ObjectId objectId, int macroStep, double ticksPerSec, uint8_t midiKey, uint8_t midiVel, uint8_t midiMod, bool pushPc=false)amuse::Voice
m_audioGroup (defined in amuse::Entity)amuse::Entityprotected
m_destroyed (defined in amuse::Entity)amuse::Entityprotected
m_engine (defined in amuse::Entity)amuse::Entityprotected
m_groupId (defined in amuse::Entity)amuse::Entityprotected
m_objectId (defined in amuse::Entity)amuse::Entityprotected
maxVid() const amuse::Voice
message(int32_t val)amuse::Voice
notifyCtrlChange(uint8_t ctrl, int8_t val) (defined in amuse::Voice)amuse::Voice
Sequencer (defined in amuse::Voice)amuse::Voicefriend
setAdsr(ObjectId adsrId, bool dls)amuse::Voice
setAftertouch(uint8_t aftertouch)amuse::Voice
setCtrlValue(uint8_t ctrl, int8_t val)amuse::Voiceinline
setDoppler(float doppler)amuse::Voice
setKeygroup(uint8_t kg)amuse::Voiceinline
setLFO1Period(float period)amuse::Voiceinline
setLFO2Period(float period)amuse::Voiceinline
setMod2VibratoRange(int32_t modLevel)amuse::Voice
setPan(float pan)amuse::Voice
setPedal(bool pedal)amuse::Voice
setPitchAdsr(ObjectId adsrId, int32_t cents)amuse::Voice
setPitchFrequency(uint32_t hz, uint16_t fine)amuse::Voice
setPitchKey(int32_t cents)amuse::Voice
setPitchSweep1(uint8_t times, int16_t add)amuse::Voice
setPitchSweep2(uint8_t times, int16_t add)amuse::Voice
setPitchWheel(float pitchWheel)amuse::Voice
setPitchWheelRange(int8_t up, int8_t down)amuse::Voice
setReverbVol(float rvol)amuse::Voice
setSurroundPan(float span)amuse::Voice
setTremolo(float tremoloScale, float tremoloModScale)amuse::Voice
setVibrato(int32_t level, int32_t modLevel, float period)amuse::Voice
setVolume(float vol)amuse::Voice
SoundMacroState (defined in amuse::Voice)amuse::Voicefriend
startChildMacro(int8_t addNote, ObjectId macroId, int macroStep)amuse::Voice
startEnvelope(double dur, float vol, const Curve *envCurve)amuse::Voice
startFadeIn(double dur, float vol, const Curve *envCurve)amuse::Voice
startPanning(double dur, uint8_t panPos, uint8_t panWidth)amuse::Voice
startSample(int16_t sampId, int32_t offset)amuse::Voice
startSpanning(double dur, uint8_t spanPos, uint8_t spanWidth)amuse::Voice
state() const amuse::Voiceinline
stopSample()amuse::Voice
supplyAudio(size_t frames, int16_t *data)amuse::Voice
vid() const amuse::Voiceinline
Voice(Engine &engine, const AudioGroup &group, int groupId, int vid, bool emitter, Submix *smx) (defined in amuse::Voice)amuse::Voice
Voice(Engine &engine, const AudioGroup &group, int groupId, ObjectId oid, int vid, bool emitter, Submix *smx) (defined in amuse::Voice)amuse::Voice
~Entity() (defined in amuse::Entity)amuse::Entityinline
~Voice() (defined in amuse::Voice)amuse::Voice
+
+ + + + diff --git a/classamuse_1_1_voice.html b/classamuse_1_1_voice.html new file mode 100644 index 0000000..c1798dd --- /dev/null +++ b/classamuse_1_1_voice.html @@ -0,0 +1,1410 @@ + + + + + + +Amuse: amuse::Voice Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Voice Class Reference
+
+
+ +

#include <Voice.hpp>

+
+Inheritance diagram for amuse::Voice:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::Voice:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Voice (Engine &engine, const AudioGroup &group, int groupId, int vid, bool emitter, Submix *smx)
 
Voice (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid, int vid, bool emitter, Submix *smx)
 
size_t supplyAudio (size_t frames, int16_t *data)
 
SubmixgetSubmix ()
 
VoiceState state () const
 
int vid () const
 
int maxVid () const
 
std::shared_ptr< VoicestartChildMacro (int8_t addNote, ObjectId macroId, int macroStep)
 
bool loadSoundObject (ObjectId objectId, int macroStep, double ticksPerSec, uint8_t midiKey, uint8_t midiVel, uint8_t midiMod, bool pushPc=false)
 
void keyOff ()
 
void message (int32_t val)
 
void startSample (int16_t sampId, int32_t offset)
 
void stopSample ()
 
void setVolume (float vol)
 
void setPan (float pan)
 
void setSurroundPan (float span)
 
void startEnvelope (double dur, float vol, const Curve *envCurve)
 
void startFadeIn (double dur, float vol, const Curve *envCurve)
 
void startPanning (double dur, uint8_t panPos, uint8_t panWidth)
 
void startSpanning (double dur, uint8_t spanPos, uint8_t spanWidth)
 
void setPitchKey (int32_t cents)
 
void setPedal (bool pedal)
 
void setDoppler (float doppler)
 
void setVibrato (int32_t level, int32_t modLevel, float period)
 
void setMod2VibratoRange (int32_t modLevel)
 
void setTremolo (float tremoloScale, float tremoloModScale)
 
void setLFO1Period (float period)
 
void setLFO2Period (float period)
 
void setPitchSweep1 (uint8_t times, int16_t add)
 
void setPitchSweep2 (uint8_t times, int16_t add)
 
void setReverbVol (float rvol)
 
void setAdsr (ObjectId adsrId, bool dls)
 
void setPitchFrequency (uint32_t hz, uint16_t fine)
 
void setPitchAdsr (ObjectId adsrId, int32_t cents)
 
void setPitchWheel (float pitchWheel)
 
void setPitchWheelRange (int8_t up, int8_t down)
 
void setAftertouch (uint8_t aftertouch)
 
void setKeygroup (uint8_t kg)
 
uint8_t getLastNote () const
 
+void notifyCtrlChange (uint8_t ctrl, int8_t val)
 
int8_t getCtrlValue (uint8_t ctrl) const
 
void setCtrlValue (uint8_t ctrl, int8_t val)
 
int8_t getModWheel () const
 
void installCtrlValues (int8_t *cvs)
 
int8_t getPitchWheel () const
 
int8_t getAftertouch () const
 
size_t getTotalVoices () const
 
- Public Member Functions inherited from amuse::Entity
Entity (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId())
 
+EnginegetEngine ()
 
+const AudioGroupgetAudioGroup () const
 
+int getGroupId () const
 
+ObjectId getObjectId () const
 
+ + + + + + + +

+Friends

+class Engine
 
+class Sequencer
 
+class SoundMacroState
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from amuse::Entity
+void _destroy ()
 
- Protected Attributes inherited from amuse::Entity
+bool m_destroyed = false
 
+Enginem_engine
 
+const AudioGroupm_audioGroup
 
+int m_groupId
 
+ObjectId m_objectId = 0xffff
 
+

Detailed Description

+

Individual source of audio

+ +

Definition at line 30 of file Voice.hpp.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
int8_t amuse::Voice::getAftertouch () const
+
+inline
+
+

Get MIDI aftertouch value on voice

+ +

Definition at line 308 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int8_t amuse::Voice::getCtrlValue (uint8_t ctrl) const
+
+inline
+
+

Get MIDI Controller value on voice

+ +

Definition at line 270 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint8_t amuse::Voice::getLastNote () const
+
+inline
+
+

Get note played on voice

+ +

Definition at line 265 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int8_t amuse::Voice::getModWheel () const
+
+inline
+
+

Get ModWheel value on voice

+ +

Definition at line 295 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int8_t amuse::Voice::getPitchWheel () const
+
+inline
+
+

Get MIDI pitch wheel value on voice

+ +

Definition at line 305 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
Submix* amuse::Voice::getSubmix ()
+
+inline
+
+

Obtain pointer to Voice's Submix

+ +

Definition at line 158 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + + + +
size_t amuse::Voice::getTotalVoices () const
+
+

Get count of all voices in hierarchy, including this one

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void amuse::Voice::installCtrlValues (int8_t * cvs)
+
+inline
+
+

'install' external MIDI controller storage

+ +

Definition at line 298 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + + + +
void amuse::Voice::keyOff ()
+
+

Signals voice to begin fade-out (or defer if sustained), eventually reaching silence

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool amuse::Voice::loadSoundObject (ObjectId objectId,
int macroStep,
double ticksPerSec,
uint8_t midiKey,
uint8_t midiVel,
uint8_t midiMod,
bool pushPc = false 
)
+
+

Load specified Sound Object from within group into voice

+ +
+
+ +
+
+ + + + + + + +
int amuse::Voice::maxVid () const
+
+

Get max VoiceId of this voice and any contained children

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::message (int32_t val)
+
+

Sends numeric message to voice and all siblings

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setAdsr (ObjectId adsrId,
bool dls 
)
+
+

Set envelope for voice

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setAftertouch (uint8_t aftertouch)
+
+

Set aftertouch

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setCtrlValue (uint8_t ctrl,
int8_t val 
)
+
+inline
+
+

Set MIDI Controller value on voice

+ +

Definition at line 282 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setDoppler (float doppler)
+
+

Set doppler factor for voice

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void amuse::Voice::setKeygroup (uint8_t kg)
+
+inline
+
+

Assign voice to keygroup for coordinated mass-silencing

+ +

Definition at line 262 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void amuse::Voice::setLFO1Period (float period)
+
+inline
+
+

Setup LFO1 for voice

+ +

Definition at line 229 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void amuse::Voice::setLFO2Period (float period)
+
+inline
+
+

Setup LFO2 for voice

+ +

Definition at line 232 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setMod2VibratoRange (int32_t modLevel)
+
+

Configure modwheel influence range over vibrato

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setPan (float pan)
+
+

Set current voice panning immediately

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setPedal (bool pedal)
+
+

Set sustain status within voice; clearing will trigger a deferred keyoff

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setPitchAdsr (ObjectId adsrId,
int32_t cents 
)
+
+

Set pitch envelope

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setPitchFrequency (uint32_t hz,
uint16_t fine 
)
+
+

Set pitch in absolute hertz

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setPitchKey (int32_t cents)
+
+

Set voice relative-pitch in cents

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setPitchSweep1 (uint8_t times,
int16_t add 
)
+
+

Setup pitch sweep controller 1

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setPitchSweep2 (uint8_t times,
int16_t add 
)
+
+

Setup pitch sweep controller 2

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setPitchWheel (float pitchWheel)
+
+

Set pitchwheel value for use with controller

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setPitchWheelRange (int8_t up,
int8_t down 
)
+
+

Set effective pitch range via the pitchwheel controller

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setReverbVol (float rvol)
+
+

Set reverb mix for voice

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setSurroundPan (float span)
+
+

Set current voice surround-panning immediately

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::setTremolo (float tremoloScale,
float tremoloModScale 
)
+
+

Setup tremolo parameters for voice

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Voice::setVibrato (int32_t level,
int32_t modLevel,
float period 
)
+
+

Set vibrato parameters for voice

+ +
+
+ +
+
+ + + + + + + + +
void amuse::Voice::setVolume (float vol)
+
+

Set current voice volume immediately

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<Voice> amuse::Voice::startChildMacro (int8_t addNote,
ObjectId macroId,
int macroStep 
)
+
+

Allocate parallel macro and tie to voice for possible emitter influence

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Voice::startEnvelope (double dur,
float vol,
const Curve * envCurve 
)
+
+

Start volume envelope to specified level

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Voice::startFadeIn (double dur,
float vol,
const Curve * envCurve 
)
+
+

Start volume envelope from zero to current level

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Voice::startPanning (double dur,
uint8_t panPos,
uint8_t panWidth 
)
+
+

Start pan envelope to specified position

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void amuse::Voice::startSample (int16_t sampId,
int32_t offset 
)
+
+

Start playing specified sample from within group, optionally by sample offset

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void amuse::Voice::startSpanning (double dur,
uint8_t spanPos,
uint8_t spanWidth 
)
+
+

Start span envelope to specified position

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
VoiceState amuse::Voice::state () const
+
+inline
+
+

Get current state of voice

+ +

Definition at line 161 of file Voice.hpp.

+ +
+
+ +
+
+ + + + + + + +
void amuse::Voice::stopSample ()
+
+

Stop playing current sample

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t amuse::Voice::supplyAudio (size_t frames,
int16_t * data 
)
+
+

Request specified count of audio frames (samples) from voice, internally advancing the voice stream

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int amuse::Voice::vid () const
+
+inline
+
+

Get VoiceId of this voice (unique to all currently-playing voices)

+ +

Definition at line 164 of file Voice.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/classamuse_1_1_voice.js b/classamuse_1_1_voice.js new file mode 100644 index 0000000..bbacb23 --- /dev/null +++ b/classamuse_1_1_voice.js @@ -0,0 +1,54 @@ +var classamuse_1_1_voice = +[ + [ "~Voice", "classamuse_1_1_voice.html#a31e4f16f5ea8c40f2823ec7c5c6b2cf1", null ], + [ "Voice", "classamuse_1_1_voice.html#a5a0f88fb1bb347fff3885b40bb70da68", null ], + [ "Voice", "classamuse_1_1_voice.html#a01cdc52d992c2493fbba3e48de0862b9", null ], + [ "getAftertouch", "classamuse_1_1_voice.html#ad7ca668e6b36d6f108ee18b0e3464051", null ], + [ "getCtrlValue", "classamuse_1_1_voice.html#add8d7a730d395de00d56c08b3c02962d", null ], + [ "getLastNote", "classamuse_1_1_voice.html#a1a0ad039740675ad4ebc3c776c094e50", null ], + [ "getModWheel", "classamuse_1_1_voice.html#ac8997b309d4bade8ace67387d6ca83c0", null ], + [ "getPitchWheel", "classamuse_1_1_voice.html#a3514daf558bd10bcf09787ad40a3a35e", null ], + [ "getSubmix", "classamuse_1_1_voice.html#a72e34215e654de0fc11e83ef075a530b", null ], + [ "getTotalVoices", "classamuse_1_1_voice.html#a74eb9bb752b4b7d2795ae5f1a80f72f5", null ], + [ "installCtrlValues", "classamuse_1_1_voice.html#ad52fb745363b1f070f74788f001f0184", null ], + [ "keyOff", "classamuse_1_1_voice.html#aaf3dee465a2426c998b7b7eb745b552f", null ], + [ "loadSoundObject", "classamuse_1_1_voice.html#a7581a557479140b0e8c71d2f28d934b9", null ], + [ "maxVid", "classamuse_1_1_voice.html#a288e89f4297c7dee9b7d2853b3531447", null ], + [ "message", "classamuse_1_1_voice.html#acbdc136b862856b9fc8e639816be5cb7", null ], + [ "notifyCtrlChange", "classamuse_1_1_voice.html#a134ace1611314ae3b86d726d1338563b", null ], + [ "setAdsr", "classamuse_1_1_voice.html#a18c235222f52f9e36780ff7041eef8f4", null ], + [ "setAftertouch", "classamuse_1_1_voice.html#a1e11c6df564c75851c6a7d9c4b273ce8", null ], + [ "setCtrlValue", "classamuse_1_1_voice.html#a9135e2dad48f36e6d033cb7335ccbc54", null ], + [ "setDoppler", "classamuse_1_1_voice.html#a1ec18ca99f12e16ae58098e4c34f5d80", null ], + [ "setKeygroup", "classamuse_1_1_voice.html#a6be6b0f40b80900c86d2538e7d8e14c1", null ], + [ "setLFO1Period", "classamuse_1_1_voice.html#a5c631ed61f7315ad3533c059e6019795", null ], + [ "setLFO2Period", "classamuse_1_1_voice.html#aac9115407f688fcf19c8b635a0c9bd3a", null ], + [ "setMod2VibratoRange", "classamuse_1_1_voice.html#a3fdab52e9983916d3a6e08c3b7b8d146", null ], + [ "setPan", "classamuse_1_1_voice.html#a4661d54efed3b6d8fe1f345d4a29e253", null ], + [ "setPedal", "classamuse_1_1_voice.html#a16f75a56138c641dba1826715b3408ef", null ], + [ "setPitchAdsr", "classamuse_1_1_voice.html#a9b352e449475a4d0bba4b473866a9181", null ], + [ "setPitchFrequency", "classamuse_1_1_voice.html#a5258b80d38e8dd7c5425e42e84230808", null ], + [ "setPitchKey", "classamuse_1_1_voice.html#a9caa721fef958ec4c1087dd904b53ff0", null ], + [ "setPitchSweep1", "classamuse_1_1_voice.html#a348e531c21f3403eb6b64a61d9469d05", null ], + [ "setPitchSweep2", "classamuse_1_1_voice.html#aae5b61cdba3ca5956fb9b104057588c3", null ], + [ "setPitchWheel", "classamuse_1_1_voice.html#a38cce6855072141b6270f68efac8e453", null ], + [ "setPitchWheelRange", "classamuse_1_1_voice.html#a08878a6d271aadb7c6b774e8040ae431", null ], + [ "setReverbVol", "classamuse_1_1_voice.html#ac79401353393f068814963c9b2c97cc8", null ], + [ "setSurroundPan", "classamuse_1_1_voice.html#aaf3186595b8b08ab41dbe758cf93a03c", null ], + [ "setTremolo", "classamuse_1_1_voice.html#a344c84840b3e181dd163b0b8ec32cf27", null ], + [ "setVibrato", "classamuse_1_1_voice.html#a3e9d3c228b93cd63dc5197a006bd1963", null ], + [ "setVolume", "classamuse_1_1_voice.html#a0b7367e68d50299d5a0141b6eee16670", null ], + [ "startChildMacro", "classamuse_1_1_voice.html#a33a15f506f2a3396b44b59c58259cef1", null ], + [ "startEnvelope", "classamuse_1_1_voice.html#a64a73c2997228f74bcda8a9115941c16", null ], + [ "startFadeIn", "classamuse_1_1_voice.html#aee786e1253bb264352980ff8b3efff8b", null ], + [ "startPanning", "classamuse_1_1_voice.html#a804c03fcf5883683345dbaf03153b1ea", null ], + [ "startSample", "classamuse_1_1_voice.html#aa1a2af98a2c2dc59a975ac95b9288a15", null ], + [ "startSpanning", "classamuse_1_1_voice.html#a0d3e561005e68fe9d86190905661a3be", null ], + [ "state", "classamuse_1_1_voice.html#a5e8a94e0fe619f79ae33f0775430bf76", null ], + [ "stopSample", "classamuse_1_1_voice.html#aaaeea63b6a6e7e35cb03a3172340b569", null ], + [ "supplyAudio", "classamuse_1_1_voice.html#add3ed6c6cb84d39ffa5949b7a78f011a", null ], + [ "vid", "classamuse_1_1_voice.html#a429ffdac2e823c580cab9d587eb03e34", null ], + [ "Engine", "classamuse_1_1_voice.html#a3e1914489e4bed4f9f23cdeab34a43dc", null ], + [ "Sequencer", "classamuse_1_1_voice.html#a52a69080aff30f06654e72959d45db49", null ], + [ "SoundMacroState", "classamuse_1_1_voice.html#a7e534c4c56668d740c959235bc8ed4ec", null ] +]; \ No newline at end of file diff --git a/classamuse_1_1_voice__coll__graph.map b/classamuse_1_1_voice__coll__graph.map new file mode 100644 index 0000000..a31f502 --- /dev/null +++ b/classamuse_1_1_voice__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classamuse_1_1_voice__coll__graph.md5 b/classamuse_1_1_voice__coll__graph.md5 new file mode 100644 index 0000000..7c19830 --- /dev/null +++ b/classamuse_1_1_voice__coll__graph.md5 @@ -0,0 +1 @@ +a32f6db9bbcdc0e739d1ee969412564b \ No newline at end of file diff --git a/classamuse_1_1_voice__coll__graph.png b/classamuse_1_1_voice__coll__graph.png new file mode 100644 index 0000000..3c3416a Binary files /dev/null and b/classamuse_1_1_voice__coll__graph.png differ diff --git a/classamuse_1_1_voice__inherit__graph.map b/classamuse_1_1_voice__inherit__graph.map new file mode 100644 index 0000000..77e9e2a --- /dev/null +++ b/classamuse_1_1_voice__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/classamuse_1_1_voice__inherit__graph.md5 b/classamuse_1_1_voice__inherit__graph.md5 new file mode 100644 index 0000000..293c428 --- /dev/null +++ b/classamuse_1_1_voice__inherit__graph.md5 @@ -0,0 +1 @@ +798e687b9a93fa3199bdb0e25cf9b62a \ No newline at end of file diff --git a/classamuse_1_1_voice__inherit__graph.png b/classamuse_1_1_voice__inherit__graph.png new file mode 100644 index 0000000..c548fd5 Binary files /dev/null and b/classamuse_1_1_voice__inherit__graph.png differ diff --git a/classes.html b/classes.html new file mode 100644 index 0000000..322bc2d --- /dev/null +++ b/classes.html @@ -0,0 +1,157 @@ + + + + + + +Amuse: Class Index + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
A | B | C | E | H | I | K | L | M | P | R | S | V
+ + + + + + + + + + + + + + + + + + + +
  A  
+
BooBackendVoiceAllocator (amuse)   EffectReverbHiImp (amuse)   IntrusiveAudioGroupData (amuse)   
  S  
+
  C  
+
EffectReverbStd (amuse)   
  K  
+
ADSR (amuse)   EffectReverbStdImp (amuse)   Sequencer (amuse)   
ADSRDLS (amuse)   ChannelMap (amuse)   Emitter (amuse)   Keymap (amuse)   SFXGroupIndex (amuse)   
AudioGroup (amuse)   SoundMacroState::Evaluator::Component (amuse)   Engine (amuse)   
  L  
+
SFXGroupIndex::SFXEntry (amuse)   
AudioGroupData (amuse)   
  E  
+
Entity (amuse)   SongGroupIndex (amuse)   
AudioGroupIndex (amuse)   Envelope (amuse)   LayerMapping (amuse)   SongState (amuse)   
AudioGroupPool (amuse)   AudioGroupSampleDirectory::Entry (amuse)   
  H  
+
Listener (amuse)   SoundMacroState (amuse)   
AudioGroupProject (amuse)   EffectBase (amuse)   
  M  
+
Submix (amuse)   
AudioGroupSampleDirectory (amuse)   EffectBaseTypeless (amuse)   SongState::Channel::Header (amuse)   SurroundProfiles (amuse)   
AudioGroupSampleDirectory::ADPCMParms (amuse)   EffectChorus (amuse)   
  I  
+
SongGroupIndex::MIDISetup (amuse)   
  V  
+
  B  
+
EffectChorusImp (amuse)   
  P  
+
EffectDelay (amuse)   IBackendSubmix (amuse)   Voice (amuse)   
BooBackendSubmix (amuse)   EffectDelayImp (amuse)   IBackendVoice (amuse)   SongGroupIndex::PageEntry (amuse)   
BooBackendVoice (amuse)   EffectReverbHi (amuse)   IBackendVoiceAllocator (amuse)   
  R  
+
ReverbDelayLine (amuse)   
+
A | B | C | E | H | I | K | L | M | P | R | S | V
+
+
+ + + + diff --git a/closed.png b/closed.png new file mode 100644 index 0000000..81fd4d5 Binary files /dev/null and b/closed.png differ diff --git a/dir_32793c4a19a76c5c2f1d450eeff71126.html b/dir_32793c4a19a76c5c2f1d450eeff71126.html new file mode 100644 index 0000000..37764b1 --- /dev/null +++ b/dir_32793c4a19a76c5c2f1d450eeff71126.html @@ -0,0 +1,124 @@ + + + + + + +Amuse: include/amuse Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse Directory Reference
+
+
+ + +

+Files

+
+
+ + + + diff --git a/dir_32793c4a19a76c5c2f1d450eeff71126.js b/dir_32793c4a19a76c5c2f1d450eeff71126.js new file mode 100644 index 0000000..2cbaddf --- /dev/null +++ b/dir_32793c4a19a76c5c2f1d450eeff71126.js @@ -0,0 +1,30 @@ +var dir_32793c4a19a76c5c2f1d450eeff71126 = +[ + [ "amuse.hpp", "amuse_8hpp_source.html", null ], + [ "AudioGroup.hpp", "_audio_group_8hpp_source.html", null ], + [ "AudioGroupData.hpp", "_audio_group_data_8hpp_source.html", null ], + [ "AudioGroupPool.hpp", "_audio_group_pool_8hpp_source.html", null ], + [ "AudioGroupProject.hpp", "_audio_group_project_8hpp_source.html", null ], + [ "AudioGroupSampleDirectory.hpp", "_audio_group_sample_directory_8hpp_source.html", null ], + [ "BooBackend.hpp", "_boo_backend_8hpp_source.html", null ], + [ "Common.hpp", "_common_8hpp_source.html", null ], + [ "dsp.h", "dsp_8h_source.html", null ], + [ "EffectBase.hpp", "_effect_base_8hpp_source.html", null ], + [ "EffectChorus.hpp", "_effect_chorus_8hpp_source.html", null ], + [ "EffectDelay.hpp", "_effect_delay_8hpp_source.html", null ], + [ "EffectReverb.hpp", "_effect_reverb_8hpp_source.html", null ], + [ "Emitter.hpp", "_emitter_8hpp_source.html", null ], + [ "Engine.hpp", "_engine_8hpp_source.html", null ], + [ "Entity.hpp", "_entity_8hpp_source.html", null ], + [ "Envelope.hpp", "_envelope_8hpp_source.html", null ], + [ "IBackendSubmix.hpp", "_i_backend_submix_8hpp_source.html", null ], + [ "IBackendVoice.hpp", "_i_backend_voice_8hpp_source.html", null ], + [ "IBackendVoiceAllocator.hpp", "_i_backend_voice_allocator_8hpp_source.html", null ], + [ "Listener.hpp", "_listener_8hpp_source.html", null ], + [ "Sequencer.hpp", "_sequencer_8hpp_source.html", null ], + [ "SongState.hpp", "_song_state_8hpp_source.html", null ], + [ "SoundMacroState.hpp", "_sound_macro_state_8hpp_source.html", null ], + [ "Submix.hpp", "_submix_8hpp_source.html", null ], + [ "SurroundProfiles.hpp", "_surround_profiles_8hpp_source.html", null ], + [ "Voice.hpp", "_voice_8hpp_source.html", null ] +]; \ No newline at end of file diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000..783a42f --- /dev/null +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,124 @@ + + + + + + +Amuse: include Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
include Directory Reference
+
+
+ + +

+Directories

+
+
+ + + + diff --git a/dir_d44c64559bbebec7f509842c48db8b23.js b/dir_d44c64559bbebec7f509842c48db8b23.js new file mode 100644 index 0000000..f7f8f61 --- /dev/null +++ b/dir_d44c64559bbebec7f509842c48db8b23.js @@ -0,0 +1,4 @@ +var dir_d44c64559bbebec7f509842c48db8b23 = +[ + [ "amuse", "dir_32793c4a19a76c5c2f1d450eeff71126.html", "dir_32793c4a19a76c5c2f1d450eeff71126" ] +]; \ No newline at end of file diff --git a/doc.png b/doc.png new file mode 100644 index 0000000..527ebad Binary files /dev/null and b/doc.png differ diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 0000000..04daf57 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1475 @@ +/* The standard CSS for doxygen 1.8.11 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #939DB1; + color: #424B5C; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EDEFF2; + border: 1px solid #ACB4C3; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #4D576A; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #5A667D; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #A6AEBE; + color: #ffffff; + border: 1px double #929CB0; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFC; + border: 1px solid #CACFD8; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EDEFF2; + font-weight: bold; + border: 1px solid #CACFD8; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EDEFF2; + border: 1px solid #CACFD8; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EFF1F3; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8F9; + border-left: 2px solid #A6AEBE; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #ACB4C3; +} + +th.dirtab { + background: #EDEFF2; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #5F6B84; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFB; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #5A667D; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #5A667D; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EDEFF2; + border: 1px solid #ACB4C3; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #B0B8C6; + border-left: 1px solid #B0B8C6; + border-right: 1px solid #B0B8C6; + padding: 6px 0px 6px 0px; + color: #2C323D; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E5E7EC; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #B0B8C6; + border-left: 1px solid #B0B8C6; + border-right: 1px solid #B0B8C6; + padding: 6px 10px 2px 10px; + background-color: #FBFCFC; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #818CA4; + border-top:1px solid #67748F; + border-left:1px solid #67748F; + border-right:1px solid #CACFD8; + border-bottom:1px solid #CACFD8; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A6AEBE; + border-bottom: 1px solid #A6AEBE; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8F9; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #4D576A; +} + +.arrow { + color: #A6AEBE; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #818CA4; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #333A47; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #373E4C; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #454E60; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #B0B8C6; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #B0B8C6; + border-bottom: 1px solid #B0B8C6; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #B0B8C6; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E5E7EC; + font-size: 90%; + color: #2C323D; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #B0B8C6; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#959FB3; + border:solid 1px #C8CDD7; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#434C5D; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #313744; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#78849D; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#434C5D; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFB; + margin: 0px; + border-bottom: 1px solid #CACFD8; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #67748F; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #9BA4B6; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#3F4757; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F5F6F8; + border: 1px solid #DBDFE5; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #5A667D; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doxygen.png b/doxygen.png new file mode 100644 index 0000000..b1b8512 Binary files /dev/null and b/doxygen.png differ diff --git a/dsp_8h_source.html b/dsp_8h_source.html new file mode 100644 index 0000000..f16c789 --- /dev/null +++ b/dsp_8h_source.html @@ -0,0 +1,120 @@ + + + + + + +Amuse: include/amuse/dsp.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dsp.h
+
+
+
1 #ifndef _DSP_h
2 #define _DSP_h
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <stdint.h>
9 
10 static inline int16_t DSPSampClamp(int32_t val)
11 {
12  if (val < -32768) val = -32768;
13  else if (val > 32767) val = 32767;
14  return val;
15 }
16 
17 unsigned DSPDecompressFrame(int16_t* out, const uint8_t* in,
18  const int16_t coefs[8][2], int16_t* prev1, int16_t* prev2,
19  unsigned lastSample);
20 unsigned DSPDecompressFrameStereoStride(int16_t* out, const uint8_t* in,
21  const int16_t coefs[8][2], int16_t* prev1, int16_t* prev2,
22  unsigned lastSample);
23 unsigned DSPDecompressFrameStereoDupe(int16_t* out, const uint8_t* in,
24  const int16_t coefs[8][2], int16_t* prev1, int16_t* prev2,
25  unsigned lastSample);
26 
27 unsigned DSPDecompressFrameRanged(int16_t* out, const uint8_t* in,
28  const int16_t coefs[8][2], int16_t* prev1, int16_t* prev2,
29  unsigned firstSample, unsigned lastSample);
30 
31 unsigned DSPDecompressFrameStateOnly(const uint8_t* in,
32  const int16_t coefs[8][2], int16_t* prev1, int16_t* prev2,
33  unsigned lastSample);
34 
35 #ifdef __cplusplus
36 }
37 #endif
38 
39 #endif // _DSP_h
+
+ + + + diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 0000000..1e6bf07 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,104 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +Amuse: File List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  include
  amuse
 amuse.hpp
 AudioGroup.hpp
 AudioGroupData.hpp
 AudioGroupPool.hpp
 AudioGroupProject.hpp
 AudioGroupSampleDirectory.hpp
 BooBackend.hpp
 Common.hpp
 dsp.h
 EffectBase.hpp
 EffectChorus.hpp
 EffectDelay.hpp
 EffectReverb.hpp
 Emitter.hpp
 Engine.hpp
 Entity.hpp
 Envelope.hpp
 IBackendSubmix.hpp
 IBackendVoice.hpp
 IBackendVoiceAllocator.hpp
 Listener.hpp
 Sequencer.hpp
 SongState.hpp
 SoundMacroState.hpp
 Submix.hpp
 SurroundProfiles.hpp
 Voice.hpp
+
+
+
+ + + + diff --git a/files.js b/files.js new file mode 100644 index 0000000..93d774e --- /dev/null +++ b/files.js @@ -0,0 +1,4 @@ +var files = +[ + [ "include", "dir_d44c64559bbebec7f509842c48db8b23.html", "dir_d44c64559bbebec7f509842c48db8b23" ] +]; \ No newline at end of file diff --git a/folderclosed.png b/folderclosed.png new file mode 100644 index 0000000..0a50c4e Binary files /dev/null and b/folderclosed.png differ diff --git a/folderopen.png b/folderopen.png new file mode 100644 index 0000000..60b5a97 Binary files /dev/null and b/folderopen.png differ diff --git a/functions.html b/functions.html new file mode 100644 index 0000000..9f6ac64 --- /dev/null +++ b/functions.html @@ -0,0 +1,529 @@ + + + + + + +Amuse: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- v -

+ + +

- x -

+
+
+ + + + diff --git a/functions_func.html b/functions_func.html new file mode 100644 index 0000000..dfb0cd4 --- /dev/null +++ b/functions_func.html @@ -0,0 +1,496 @@ + + + + + + +Amuse: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- v -

+
+
+ + + + diff --git a/functions_vars.html b/functions_vars.html new file mode 100644 index 0000000..c6c9538 --- /dev/null +++ b/functions_vars.html @@ -0,0 +1,155 @@ + + + + + + +Amuse: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/graph_legend.html b/graph_legend.html new file mode 100644 index 0000000..6967c5c --- /dev/null +++ b/graph_legend.html @@ -0,0 +1,143 @@ + + + + + + +Amuse: Graph Legend + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

1 /*! Invisible class because of truncation */
2 class Invisible { };
3 
4 /*! Truncated class, inheritance relation is hidden */
5 class Truncated : public Invisible { };
6 
7 /* Class not documented with doxygen comments */
8 class Undocumented { };
9 
10 /*! Class that is inherited using public inheritance */
11 class PublicBase : public Truncated { };
12 
13 /*! A template class */
14 template<class T> class Templ { };
15 
16 /*! Class that is inherited using protected inheritance */
17 class ProtectedBase { };
18 
19 /*! Class that is inherited using private inheritance */
20 class PrivateBase { };
21 
22 /*! Class that is used by the Inherited class */
23 class Used { };
24 
25 /*! Super class that inherits a number of other classes */
26 class Inherited : public PublicBase,
27  protected ProtectedBase,
28  private PrivateBase,
29  public Undocumented,
30  public Templ<int>
31 {
32  private:
33  Used *m_usedClass;
34 };

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+
+ + + + diff --git a/graph_legend.md5 b/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/graph_legend.png b/graph_legend.png new file mode 100644 index 0000000..1d029f4 Binary files /dev/null and b/graph_legend.png differ diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 0000000..b3ce6ab --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,181 @@ + + + + + + +Amuse: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Camuse::ADSR
 Camuse::ADSRDLS
 Camuse::AudioGroup
 Camuse::AudioGroupData
 Camuse::IntrusiveAudioGroupData
 Camuse::AudioGroupIndex
 Camuse::SFXGroupIndex
 Camuse::SongGroupIndex
 Camuse::AudioGroupPool
 Camuse::AudioGroupProject
 Camuse::AudioGroupSampleDirectory
 Camuse::AudioGroupSampleDirectory::ADPCMParms
 Camuse::AudioGroupSampleDirectory::Entry
 Camuse::ChannelMap
 Camuse::EffectBaseTypeless
 Camuse::EffectBase< T >
 Camuse::EffectChorusImp< T >
 Camuse::EffectDelayImp< T >
 Camuse::EffectReverbHiImp< T >
 Camuse::EffectReverbStdImp< T >
 Camuse::EffectChorus
 Camuse::EffectChorusImp< T >
 Camuse::EffectDelay
 Camuse::EffectDelayImp< T >
 Camuse::EffectReverbStd
 Camuse::EffectReverbHi
 Camuse::EffectReverbHiImp< T >
 Camuse::EffectReverbStdImp< T >
 Camuse::Engine
 Camuse::Entity
 Camuse::Emitter
 Camuse::Listener
 Camuse::Sequencer
 Camuse::Voice
 Camuse::Envelope
 Camuse::IBackendSubmix
 Camuse::BooBackendSubmix
 Camuse::IBackendVoice
 Camuse::BooBackendVoice
 Camuse::IBackendVoiceAllocator
 Camuse::BooBackendVoiceAllocator
 Camuse::Keymap
 Camuse::LayerMapping
 Camuse::ReverbDelayLine
 Camuse::SFXGroupIndex::SFXEntry
 Camuse::SongGroupIndex::MIDISetup
 Camuse::SongGroupIndex::PageEntry
 Camuse::SongState
 Camuse::SongState::Channel::Header
 Camuse::SoundMacroState
 Camuse::SoundMacroState::Evaluator::Component
 Camuse::Submix
 Camuse::SurroundProfiles
+
+
+
+ + + + diff --git a/hierarchy.js b/hierarchy.js new file mode 100644 index 0000000..e872ecc --- /dev/null +++ b/hierarchy.js @@ -0,0 +1,68 @@ +var hierarchy = +[ + [ "amuse::ADSR", "structamuse_1_1_a_d_s_r.html", null ], + [ "amuse::ADSRDLS", "structamuse_1_1_a_d_s_r_d_l_s.html", null ], + [ "amuse::AudioGroup", "classamuse_1_1_audio_group.html", null ], + [ "amuse::AudioGroupData", "classamuse_1_1_audio_group_data.html", [ + [ "amuse::IntrusiveAudioGroupData", "classamuse_1_1_intrusive_audio_group_data.html", null ] + ] ], + [ "amuse::AudioGroupIndex", "structamuse_1_1_audio_group_index.html", [ + [ "amuse::SFXGroupIndex", "structamuse_1_1_s_f_x_group_index.html", null ], + [ "amuse::SongGroupIndex", "structamuse_1_1_song_group_index.html", null ] + ] ], + [ "amuse::AudioGroupPool", "classamuse_1_1_audio_group_pool.html", null ], + [ "amuse::AudioGroupProject", "classamuse_1_1_audio_group_project.html", null ], + [ "amuse::AudioGroupSampleDirectory", "classamuse_1_1_audio_group_sample_directory.html", null ], + [ "amuse::AudioGroupSampleDirectory::ADPCMParms", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html", null ], + [ "amuse::AudioGroupSampleDirectory::Entry", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html", null ], + [ "amuse::ChannelMap", "structamuse_1_1_channel_map.html", null ], + [ "amuse::EffectBaseTypeless", "classamuse_1_1_effect_base_typeless.html", [ + [ "amuse::EffectBase< T >", "classamuse_1_1_effect_base.html", [ + [ "amuse::EffectChorusImp< T >", "classamuse_1_1_effect_chorus_imp.html", null ], + [ "amuse::EffectDelayImp< T >", "classamuse_1_1_effect_delay_imp.html", null ], + [ "amuse::EffectReverbHiImp< T >", "classamuse_1_1_effect_reverb_hi_imp.html", null ], + [ "amuse::EffectReverbStdImp< T >", "classamuse_1_1_effect_reverb_std_imp.html", null ] + ] ] + ] ], + [ "amuse::EffectChorus", "classamuse_1_1_effect_chorus.html", [ + [ "amuse::EffectChorusImp< T >", "classamuse_1_1_effect_chorus_imp.html", null ] + ] ], + [ "amuse::EffectDelay", "classamuse_1_1_effect_delay.html", [ + [ "amuse::EffectDelayImp< T >", "classamuse_1_1_effect_delay_imp.html", null ] + ] ], + [ "amuse::EffectReverbStd", "classamuse_1_1_effect_reverb_std.html", [ + [ "amuse::EffectReverbHi", "classamuse_1_1_effect_reverb_hi.html", [ + [ "amuse::EffectReverbHiImp< T >", "classamuse_1_1_effect_reverb_hi_imp.html", null ] + ] ], + [ "amuse::EffectReverbStdImp< T >", "classamuse_1_1_effect_reverb_std_imp.html", null ] + ] ], + [ "amuse::Engine", "classamuse_1_1_engine.html", null ], + [ "amuse::Entity", "classamuse_1_1_entity.html", [ + [ "amuse::Emitter", "classamuse_1_1_emitter.html", null ], + [ "amuse::Listener", "classamuse_1_1_listener.html", null ], + [ "amuse::Sequencer", "classamuse_1_1_sequencer.html", null ], + [ "amuse::Voice", "classamuse_1_1_voice.html", null ] + ] ], + [ "amuse::Envelope", "classamuse_1_1_envelope.html", null ], + [ "amuse::IBackendSubmix", "classamuse_1_1_i_backend_submix.html", [ + [ "amuse::BooBackendSubmix", "classamuse_1_1_boo_backend_submix.html", null ] + ] ], + [ "amuse::IBackendVoice", "classamuse_1_1_i_backend_voice.html", [ + [ "amuse::BooBackendVoice", "classamuse_1_1_boo_backend_voice.html", null ] + ] ], + [ "amuse::IBackendVoiceAllocator", "classamuse_1_1_i_backend_voice_allocator.html", [ + [ "amuse::BooBackendVoiceAllocator", "classamuse_1_1_boo_backend_voice_allocator.html", null ] + ] ], + [ "amuse::Keymap", "structamuse_1_1_keymap.html", null ], + [ "amuse::LayerMapping", "structamuse_1_1_layer_mapping.html", null ], + [ "amuse::ReverbDelayLine", "structamuse_1_1_reverb_delay_line.html", null ], + [ "amuse::SFXGroupIndex::SFXEntry", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html", null ], + [ "amuse::SongGroupIndex::MIDISetup", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html", null ], + [ "amuse::SongGroupIndex::PageEntry", "structamuse_1_1_song_group_index_1_1_page_entry.html", null ], + [ "amuse::SongState", "classamuse_1_1_song_state.html", null ], + [ "amuse::SongState::Channel::Header", "structamuse_1_1_song_state_1_1_channel_1_1_header.html", null ], + [ "amuse::SoundMacroState", "classamuse_1_1_sound_macro_state.html", null ], + [ "amuse::SoundMacroState::Evaluator::Component", "structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component.html", null ], + [ "amuse::Submix", "classamuse_1_1_submix.html", null ], + [ "amuse::SurroundProfiles", "classamuse_1_1_surround_profiles.html", null ] +]; \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..554eb89 --- /dev/null +++ b/index.html @@ -0,0 +1,122 @@ + + + + + + +Amuse: Amuse + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Amuse
+
+
+

Amuse is a real-time MIDI and SFX sequencer, with basic effects, 3D positional audio and surround-output capabilities.

+

The project is designed for compatibility with Audio Groups and Song data found in PC/N64/GCN/GBA games using the MusyX audio engine; providing an alternate runtime library to use for sequencing these games' audio libraries.

+

Library

+

The Amuse API exposes full interactivity between a client application (game engine) and the sequencer engine. Unlike the interrupt-driven nature of the original console implementations (where the audio chip 'requests' more audio as needed), Amuse is entirely synchronous. This means the client must periodically pump the audio engine (typically once per video frame) to keep the OS' audio system fed.

+

The client must provide the implementation for allocating and mixing audio voices, since this may drastically differ from target to target. amuse::IBackendVoiceAllocator is the pure-virtual interface to implement for this. Alternatively, if Boo is present in the CMake project tree, Amuse will be compiled with a backend supporting multiple popular low-level audio APIs. Windows, OS X, and Linux all have excellent support this way.

+

Here's an example usage:

+
#include <amuse/amuse.hpp>
#include "MyVoiceAllocator.hpp"
#include "MyAudioGroupLoader.hpp"
int main(int argc, char* argv[])
{
/* Up to the client to implement voice allocation and mixing */
std::unique_ptr<amuse::IBackendVoiceAllocator> voxAlloc = MakeMyVoiceAllocator();
/* Application just needs one per audio output (not per channel) */
amuse::Engine snd(*voxAlloc);
/* An 'AudioGroup' is an atomically-loadable unit within Amuse.
* A client-assigned integer serves as the handle to the group once loaded
*/
amuse::IntrusiveAudioGroupData data = LoadMyAudioGroup();
snd.addAudioGroup(data);
/* Starting a SoundMacro playing is accomplished like so: */
int sfxId = 0x1337;
float vol = 1.0f;
float pan = 0.0f;
std::shared_ptr<Voice> voice = snd.fxStart(sfxId, vol, pan);
/* Play for ~5 sec */
int passedFrames = 0;
while (passedFrames < 300)
{
snd.pumpEngine();
++passedFrames;
WaitForVSync();
}
/* Stopping a SoundMacro is accomplished by sending a
* MIDI-style 'KeyOff' message for the voice
*/
voice->keyOff();
/* Play for 2 more seconds to allow the macro to gracefully fade-out */
passedFrames = 0;
while (passedFrames < 120)
{
snd.pumpEngine();
++passedFrames;
WaitForVSync();
}
/* Clean up and exit */
return 0;
}

Tool

+

In addition to the library, a command-line tool for performing various pipeline tasks is provided. Compilers for audio groups and song data, as well as basic playback functionality is available via the tool.

+
+
+ + + + diff --git a/inherit_graph_0.map b/inherit_graph_0.map new file mode 100644 index 0000000..2f6d659 --- /dev/null +++ b/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_0.md5 b/inherit_graph_0.md5 new file mode 100644 index 0000000..7a388eb --- /dev/null +++ b/inherit_graph_0.md5 @@ -0,0 +1 @@ +0e8d9fe8ca7129cc339da5c3d0598577 \ No newline at end of file diff --git a/inherit_graph_0.png b/inherit_graph_0.png new file mode 100644 index 0000000..7954d2d Binary files /dev/null and b/inherit_graph_0.png differ diff --git a/inherit_graph_1.map b/inherit_graph_1.map new file mode 100644 index 0000000..124201d --- /dev/null +++ b/inherit_graph_1.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_1.md5 b/inherit_graph_1.md5 new file mode 100644 index 0000000..4e77e90 --- /dev/null +++ b/inherit_graph_1.md5 @@ -0,0 +1 @@ +7f7c452de7ae4a6535b061b307750feb \ No newline at end of file diff --git a/inherit_graph_1.png b/inherit_graph_1.png new file mode 100644 index 0000000..cfdd683 Binary files /dev/null and b/inherit_graph_1.png differ diff --git a/inherit_graph_10.map b/inherit_graph_10.map new file mode 100644 index 0000000..79c81eb --- /dev/null +++ b/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_10.md5 b/inherit_graph_10.md5 new file mode 100644 index 0000000..80f3337 --- /dev/null +++ b/inherit_graph_10.md5 @@ -0,0 +1 @@ +4e9db89f4ff6ed65fc46519b562c757b \ No newline at end of file diff --git a/inherit_graph_10.png b/inherit_graph_10.png new file mode 100644 index 0000000..2129661 Binary files /dev/null and b/inherit_graph_10.png differ diff --git a/inherit_graph_11.map b/inherit_graph_11.map new file mode 100644 index 0000000..9c80621 --- /dev/null +++ b/inherit_graph_11.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/inherit_graph_11.md5 b/inherit_graph_11.md5 new file mode 100644 index 0000000..a54db1b --- /dev/null +++ b/inherit_graph_11.md5 @@ -0,0 +1 @@ +412eb09110876a8165b628c9026f8ba9 \ No newline at end of file diff --git a/inherit_graph_11.png b/inherit_graph_11.png new file mode 100644 index 0000000..e695669 Binary files /dev/null and b/inherit_graph_11.png differ diff --git a/inherit_graph_12.map b/inherit_graph_12.map new file mode 100644 index 0000000..8275ed5 --- /dev/null +++ b/inherit_graph_12.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_12.md5 b/inherit_graph_12.md5 new file mode 100644 index 0000000..7d31a72 --- /dev/null +++ b/inherit_graph_12.md5 @@ -0,0 +1 @@ +1155a48f6c318a9619a8afbc7e585a4a \ No newline at end of file diff --git a/inherit_graph_12.png b/inherit_graph_12.png new file mode 100644 index 0000000..023c418 Binary files /dev/null and b/inherit_graph_12.png differ diff --git a/inherit_graph_13.map b/inherit_graph_13.map new file mode 100644 index 0000000..a1e5a8b --- /dev/null +++ b/inherit_graph_13.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/inherit_graph_13.md5 b/inherit_graph_13.md5 new file mode 100644 index 0000000..4f45784 --- /dev/null +++ b/inherit_graph_13.md5 @@ -0,0 +1 @@ +5c4122bc7909d87745575a8f04dcc5b9 \ No newline at end of file diff --git a/inherit_graph_13.png b/inherit_graph_13.png new file mode 100644 index 0000000..5a11108 Binary files /dev/null and b/inherit_graph_13.png differ diff --git a/inherit_graph_14.map b/inherit_graph_14.map new file mode 100644 index 0000000..218da8b --- /dev/null +++ b/inherit_graph_14.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_14.md5 b/inherit_graph_14.md5 new file mode 100644 index 0000000..c09d0f9 --- /dev/null +++ b/inherit_graph_14.md5 @@ -0,0 +1 @@ +5c2d37a1d155594607a93699e8d0f676 \ No newline at end of file diff --git a/inherit_graph_14.png b/inherit_graph_14.png new file mode 100644 index 0000000..908dd14 Binary files /dev/null and b/inherit_graph_14.png differ diff --git a/inherit_graph_15.map b/inherit_graph_15.map new file mode 100644 index 0000000..65c917e --- /dev/null +++ b/inherit_graph_15.map @@ -0,0 +1,4 @@ + + + + diff --git a/inherit_graph_15.md5 b/inherit_graph_15.md5 new file mode 100644 index 0000000..7939839 --- /dev/null +++ b/inherit_graph_15.md5 @@ -0,0 +1 @@ +8c19e13d1807204f6fbcdee50a6016d6 \ No newline at end of file diff --git a/inherit_graph_15.png b/inherit_graph_15.png new file mode 100644 index 0000000..280b4b6 Binary files /dev/null and b/inherit_graph_15.png differ diff --git a/inherit_graph_16.map b/inherit_graph_16.map new file mode 100644 index 0000000..1e4df37 --- /dev/null +++ b/inherit_graph_16.map @@ -0,0 +1,4 @@ + + + + diff --git a/inherit_graph_16.md5 b/inherit_graph_16.md5 new file mode 100644 index 0000000..5e5fb3d --- /dev/null +++ b/inherit_graph_16.md5 @@ -0,0 +1 @@ +2422856dff2c48b090bcaa8e6b21c568 \ No newline at end of file diff --git a/inherit_graph_16.png b/inherit_graph_16.png new file mode 100644 index 0000000..2a590f7 Binary files /dev/null and b/inherit_graph_16.png differ diff --git a/inherit_graph_17.map b/inherit_graph_17.map new file mode 100644 index 0000000..c7b484d --- /dev/null +++ b/inherit_graph_17.map @@ -0,0 +1,4 @@ + + + + diff --git a/inherit_graph_17.md5 b/inherit_graph_17.md5 new file mode 100644 index 0000000..956f62d --- /dev/null +++ b/inherit_graph_17.md5 @@ -0,0 +1 @@ +e64f0766962716c896292c0b7a65bc60 \ No newline at end of file diff --git a/inherit_graph_17.png b/inherit_graph_17.png new file mode 100644 index 0000000..7ea9156 Binary files /dev/null and b/inherit_graph_17.png differ diff --git a/inherit_graph_18.map b/inherit_graph_18.map new file mode 100644 index 0000000..5702a30 --- /dev/null +++ b/inherit_graph_18.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_18.md5 b/inherit_graph_18.md5 new file mode 100644 index 0000000..6e7d9fa --- /dev/null +++ b/inherit_graph_18.md5 @@ -0,0 +1 @@ +aeeaeea1157c05c26c0df603d278a21a \ No newline at end of file diff --git a/inherit_graph_18.png b/inherit_graph_18.png new file mode 100644 index 0000000..64d3544 Binary files /dev/null and b/inherit_graph_18.png differ diff --git a/inherit_graph_19.map b/inherit_graph_19.map new file mode 100644 index 0000000..e474fec --- /dev/null +++ b/inherit_graph_19.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_19.md5 b/inherit_graph_19.md5 new file mode 100644 index 0000000..697e713 --- /dev/null +++ b/inherit_graph_19.md5 @@ -0,0 +1 @@ +367411c587ffecf9ab09bdeeb8f759b5 \ No newline at end of file diff --git a/inherit_graph_19.png b/inherit_graph_19.png new file mode 100644 index 0000000..9d20d7c Binary files /dev/null and b/inherit_graph_19.png differ diff --git a/inherit_graph_2.map b/inherit_graph_2.map new file mode 100644 index 0000000..2a48877 --- /dev/null +++ b/inherit_graph_2.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_2.md5 b/inherit_graph_2.md5 new file mode 100644 index 0000000..44c1411 --- /dev/null +++ b/inherit_graph_2.md5 @@ -0,0 +1 @@ +a8ebbaac8ee1cbd034ebb20d92b78ee4 \ No newline at end of file diff --git a/inherit_graph_2.png b/inherit_graph_2.png new file mode 100644 index 0000000..054a765 Binary files /dev/null and b/inherit_graph_2.png differ diff --git a/inherit_graph_20.map b/inherit_graph_20.map new file mode 100644 index 0000000..8b91d83 --- /dev/null +++ b/inherit_graph_20.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_20.md5 b/inherit_graph_20.md5 new file mode 100644 index 0000000..527fec5 --- /dev/null +++ b/inherit_graph_20.md5 @@ -0,0 +1 @@ +8f28e62daaf29e78d78ad448f416d0ef \ No newline at end of file diff --git a/inherit_graph_20.png b/inherit_graph_20.png new file mode 100644 index 0000000..4515621 Binary files /dev/null and b/inherit_graph_20.png differ diff --git a/inherit_graph_21.map b/inherit_graph_21.map new file mode 100644 index 0000000..bbb27c1 --- /dev/null +++ b/inherit_graph_21.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_21.md5 b/inherit_graph_21.md5 new file mode 100644 index 0000000..15c9614 --- /dev/null +++ b/inherit_graph_21.md5 @@ -0,0 +1 @@ +a45a0eda8ac80d77b9e66bae6a18cffe \ No newline at end of file diff --git a/inherit_graph_21.png b/inherit_graph_21.png new file mode 100644 index 0000000..78074af Binary files /dev/null and b/inherit_graph_21.png differ diff --git a/inherit_graph_22.map b/inherit_graph_22.map new file mode 100644 index 0000000..33945c2 --- /dev/null +++ b/inherit_graph_22.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_22.md5 b/inherit_graph_22.md5 new file mode 100644 index 0000000..0ed990f --- /dev/null +++ b/inherit_graph_22.md5 @@ -0,0 +1 @@ +f09c59fdd0268133d09dda40571b1fed \ No newline at end of file diff --git a/inherit_graph_22.png b/inherit_graph_22.png new file mode 100644 index 0000000..1dbeb43 Binary files /dev/null and b/inherit_graph_22.png differ diff --git a/inherit_graph_23.map b/inherit_graph_23.map new file mode 100644 index 0000000..577d541 --- /dev/null +++ b/inherit_graph_23.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_23.md5 b/inherit_graph_23.md5 new file mode 100644 index 0000000..63b0ecc --- /dev/null +++ b/inherit_graph_23.md5 @@ -0,0 +1 @@ +0eba6b71edfd87b4a309a593c315deac \ No newline at end of file diff --git a/inherit_graph_23.png b/inherit_graph_23.png new file mode 100644 index 0000000..bba40f5 Binary files /dev/null and b/inherit_graph_23.png differ diff --git a/inherit_graph_24.map b/inherit_graph_24.map new file mode 100644 index 0000000..ab3650a --- /dev/null +++ b/inherit_graph_24.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_24.md5 b/inherit_graph_24.md5 new file mode 100644 index 0000000..422c8e9 --- /dev/null +++ b/inherit_graph_24.md5 @@ -0,0 +1 @@ +14e9820954192e37f6a5ff9dee1c5cb3 \ No newline at end of file diff --git a/inherit_graph_24.png b/inherit_graph_24.png new file mode 100644 index 0000000..8ae984c Binary files /dev/null and b/inherit_graph_24.png differ diff --git a/inherit_graph_25.map b/inherit_graph_25.map new file mode 100644 index 0000000..c8ccb3d --- /dev/null +++ b/inherit_graph_25.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_25.md5 b/inherit_graph_25.md5 new file mode 100644 index 0000000..7d80013 --- /dev/null +++ b/inherit_graph_25.md5 @@ -0,0 +1 @@ +4d3165a5141313e48f1cd3d9b3d3b12d \ No newline at end of file diff --git a/inherit_graph_25.png b/inherit_graph_25.png new file mode 100644 index 0000000..8b84a63 Binary files /dev/null and b/inherit_graph_25.png differ diff --git a/inherit_graph_26.map b/inherit_graph_26.map new file mode 100644 index 0000000..2860940 --- /dev/null +++ b/inherit_graph_26.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_26.md5 b/inherit_graph_26.md5 new file mode 100644 index 0000000..d392769 --- /dev/null +++ b/inherit_graph_26.md5 @@ -0,0 +1 @@ +32aa7d085d4e5b45a1884824619a05f6 \ No newline at end of file diff --git a/inherit_graph_26.png b/inherit_graph_26.png new file mode 100644 index 0000000..b211510 Binary files /dev/null and b/inherit_graph_26.png differ diff --git a/inherit_graph_27.map b/inherit_graph_27.map new file mode 100644 index 0000000..bf4dbb7 --- /dev/null +++ b/inherit_graph_27.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_27.md5 b/inherit_graph_27.md5 new file mode 100644 index 0000000..5126569 --- /dev/null +++ b/inherit_graph_27.md5 @@ -0,0 +1 @@ +49e82328e026babdd8f04dbc12edec17 \ No newline at end of file diff --git a/inherit_graph_27.png b/inherit_graph_27.png new file mode 100644 index 0000000..d76c0fe Binary files /dev/null and b/inherit_graph_27.png differ diff --git a/inherit_graph_28.map b/inherit_graph_28.map new file mode 100644 index 0000000..c590a09 --- /dev/null +++ b/inherit_graph_28.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_28.md5 b/inherit_graph_28.md5 new file mode 100644 index 0000000..0ba4042 --- /dev/null +++ b/inherit_graph_28.md5 @@ -0,0 +1 @@ +14c3366a453f8b35baef34d340e0e2fb \ No newline at end of file diff --git a/inherit_graph_28.png b/inherit_graph_28.png new file mode 100644 index 0000000..d5c17fe Binary files /dev/null and b/inherit_graph_28.png differ diff --git a/inherit_graph_29.map b/inherit_graph_29.map new file mode 100644 index 0000000..2a827db --- /dev/null +++ b/inherit_graph_29.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_29.md5 b/inherit_graph_29.md5 new file mode 100644 index 0000000..bb5c2a9 --- /dev/null +++ b/inherit_graph_29.md5 @@ -0,0 +1 @@ +b3cf35baeae9560ad14590d01e733608 \ No newline at end of file diff --git a/inherit_graph_29.png b/inherit_graph_29.png new file mode 100644 index 0000000..24e3665 Binary files /dev/null and b/inherit_graph_29.png differ diff --git a/inherit_graph_3.map b/inherit_graph_3.map new file mode 100644 index 0000000..855e20b --- /dev/null +++ b/inherit_graph_3.map @@ -0,0 +1,4 @@ + + + + diff --git a/inherit_graph_3.md5 b/inherit_graph_3.md5 new file mode 100644 index 0000000..b846ce5 --- /dev/null +++ b/inherit_graph_3.md5 @@ -0,0 +1 @@ +462a7281d6658267e356fdb90405cd90 \ No newline at end of file diff --git a/inherit_graph_3.png b/inherit_graph_3.png new file mode 100644 index 0000000..42e45de Binary files /dev/null and b/inherit_graph_3.png differ diff --git a/inherit_graph_4.map b/inherit_graph_4.map new file mode 100644 index 0000000..d7c65c5 --- /dev/null +++ b/inherit_graph_4.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_4.md5 b/inherit_graph_4.md5 new file mode 100644 index 0000000..c9d940d --- /dev/null +++ b/inherit_graph_4.md5 @@ -0,0 +1 @@ +5989b6f1e95f84ae325f74ee04e141f3 \ No newline at end of file diff --git a/inherit_graph_4.png b/inherit_graph_4.png new file mode 100644 index 0000000..5423809 Binary files /dev/null and b/inherit_graph_4.png differ diff --git a/inherit_graph_5.map b/inherit_graph_5.map new file mode 100644 index 0000000..10c4147 --- /dev/null +++ b/inherit_graph_5.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_5.md5 b/inherit_graph_5.md5 new file mode 100644 index 0000000..889d9c1 --- /dev/null +++ b/inherit_graph_5.md5 @@ -0,0 +1 @@ +9dc99b820aa2ec7b610f9cf462349a9b \ No newline at end of file diff --git a/inherit_graph_5.png b/inherit_graph_5.png new file mode 100644 index 0000000..ea06825 Binary files /dev/null and b/inherit_graph_5.png differ diff --git a/inherit_graph_6.map b/inherit_graph_6.map new file mode 100644 index 0000000..58a912e --- /dev/null +++ b/inherit_graph_6.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_6.md5 b/inherit_graph_6.md5 new file mode 100644 index 0000000..a4734eb --- /dev/null +++ b/inherit_graph_6.md5 @@ -0,0 +1 @@ +5404efe7c27d3fb8155f248d4098b9b2 \ No newline at end of file diff --git a/inherit_graph_6.png b/inherit_graph_6.png new file mode 100644 index 0000000..35db097 Binary files /dev/null and b/inherit_graph_6.png differ diff --git a/inherit_graph_7.map b/inherit_graph_7.map new file mode 100644 index 0000000..8555e69 --- /dev/null +++ b/inherit_graph_7.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_7.md5 b/inherit_graph_7.md5 new file mode 100644 index 0000000..bf41b21 --- /dev/null +++ b/inherit_graph_7.md5 @@ -0,0 +1 @@ +3dd9c4a477436ce2503ce6d6494c62d1 \ No newline at end of file diff --git a/inherit_graph_7.png b/inherit_graph_7.png new file mode 100644 index 0000000..a421eac Binary files /dev/null and b/inherit_graph_7.png differ diff --git a/inherit_graph_8.map b/inherit_graph_8.map new file mode 100644 index 0000000..76ec1a6 --- /dev/null +++ b/inherit_graph_8.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_8.md5 b/inherit_graph_8.md5 new file mode 100644 index 0000000..360506d --- /dev/null +++ b/inherit_graph_8.md5 @@ -0,0 +1 @@ +2590a25907566577fd96715e88a85af7 \ No newline at end of file diff --git a/inherit_graph_8.png b/inherit_graph_8.png new file mode 100644 index 0000000..cfaa027 Binary files /dev/null and b/inherit_graph_8.png differ diff --git a/inherit_graph_9.map b/inherit_graph_9.map new file mode 100644 index 0000000..bd1f2c3 --- /dev/null +++ b/inherit_graph_9.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_9.md5 b/inherit_graph_9.md5 new file mode 100644 index 0000000..6779b07 --- /dev/null +++ b/inherit_graph_9.md5 @@ -0,0 +1 @@ +1d010aa9d30c3450946f1da77d306e0c \ No newline at end of file diff --git a/inherit_graph_9.png b/inherit_graph_9.png new file mode 100644 index 0000000..49bccf8 Binary files /dev/null and b/inherit_graph_9.png differ diff --git a/inherits.html b/inherits.html new file mode 100644 index 0000000..08a8a22 --- /dev/null +++ b/inherits.html @@ -0,0 +1,295 @@ + + + + + + +Amuse: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + + +
+ + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +
+ + + + +
+ + + + +
+ + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000..1f4d0b4 --- /dev/null +++ b/jquery.js @@ -0,0 +1,68 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + +
+
+
amuse::ADSR Member List
+
+
+ +

This is the complete list of members for amuse::ADSR, including all inherited members.

+
+ + + + + + + + + + + + +
attackCoarse (defined in amuse::ADSR)amuse::ADSR
attackFine (defined in amuse::ADSR)amuse::ADSR
decayCoarse (defined in amuse::ADSR)amuse::ADSR
decayFine (defined in amuse::ADSR)amuse::ADSR
getAttack() const (defined in amuse::ADSR)amuse::ADSRinline
getDecay() const (defined in amuse::ADSR)amuse::ADSRinline
getRelease() const (defined in amuse::ADSR)amuse::ADSRinline
getSustain() const (defined in amuse::ADSR)amuse::ADSRinline
releaseCoarse (defined in amuse::ADSR)amuse::ADSR
releaseFine (defined in amuse::ADSR)amuse::ADSR
sustainCoarse (defined in amuse::ADSR)amuse::ADSR
sustainFine (defined in amuse::ADSR)amuse::ADSR
+ + + + + diff --git a/structamuse_1_1_a_d_s_r.html b/structamuse_1_1_a_d_s_r.html new file mode 100644 index 0000000..5f4a63a --- /dev/null +++ b/structamuse_1_1_a_d_s_r.html @@ -0,0 +1,186 @@ + + + + + + +Amuse: amuse::ADSR Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::ADSR Struct Reference
+
+
+ +

#include <AudioGroupPool.hpp>

+
+Collaboration diagram for amuse::ADSR:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + +

+Public Member Functions

+double getAttack () const
 
+double getDecay () const
 
+double getSustain () const
 
+double getRelease () const
 
+ + + + + + + + + + + + + + + + + +

+Public Attributes

+uint8_t attackFine
 
+uint8_t attackCoarse
 
+uint8_t decayFine
 
+uint8_t decayCoarse
 
+uint8_t sustainFine
 
+uint8_t sustainCoarse
 
+uint8_t releaseFine
 
+uint8_t releaseCoarse
 
+

Detailed Description

+

Defines phase-based volume curve for macro volume control

+ +

Definition at line 23 of file AudioGroupPool.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_a_d_s_r.js b/structamuse_1_1_a_d_s_r.js new file mode 100644 index 0000000..bbff086 --- /dev/null +++ b/structamuse_1_1_a_d_s_r.js @@ -0,0 +1,15 @@ +var structamuse_1_1_a_d_s_r = +[ + [ "getAttack", "structamuse_1_1_a_d_s_r.html#ad8b608826f72cc4f336aaa28c52d5d72", null ], + [ "getDecay", "structamuse_1_1_a_d_s_r.html#a7ffbeda9e388a64d40675d5d4ec50e56", null ], + [ "getRelease", "structamuse_1_1_a_d_s_r.html#abab987575563ee3bfc1cd017446b24a4", null ], + [ "getSustain", "structamuse_1_1_a_d_s_r.html#ac76bc488e3356c13455a5b02e09900ea", null ], + [ "attackCoarse", "structamuse_1_1_a_d_s_r.html#a3417cd4ad91dc04b25cedc15c8701fdf", null ], + [ "attackFine", "structamuse_1_1_a_d_s_r.html#aeec9200d10d39f2efee3697b06dd875e", null ], + [ "decayCoarse", "structamuse_1_1_a_d_s_r.html#a84ea208801292d8e199bc38e39d9f45c", null ], + [ "decayFine", "structamuse_1_1_a_d_s_r.html#a79ef0c1652eb737ce417f1b82112da13", null ], + [ "releaseCoarse", "structamuse_1_1_a_d_s_r.html#a16f062637e798a66b263592d3b644c4c", null ], + [ "releaseFine", "structamuse_1_1_a_d_s_r.html#a71650967964cd337e254764ed52f8a50", null ], + [ "sustainCoarse", "structamuse_1_1_a_d_s_r.html#a63988e317daed536b3cd0c08ab41527e", null ], + [ "sustainFine", "structamuse_1_1_a_d_s_r.html#ae96a47c6bc4ff3666cc5c28b4f38e500", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_a_d_s_r__coll__graph.map b/structamuse_1_1_a_d_s_r__coll__graph.map new file mode 100644 index 0000000..97c837d --- /dev/null +++ b/structamuse_1_1_a_d_s_r__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_a_d_s_r__coll__graph.md5 b/structamuse_1_1_a_d_s_r__coll__graph.md5 new file mode 100644 index 0000000..49d8f85 --- /dev/null +++ b/structamuse_1_1_a_d_s_r__coll__graph.md5 @@ -0,0 +1 @@ +a3bce641cbaca688c4fa2481f192932b \ No newline at end of file diff --git a/structamuse_1_1_a_d_s_r__coll__graph.png b/structamuse_1_1_a_d_s_r__coll__graph.png new file mode 100644 index 0000000..afc9657 Binary files /dev/null and b/structamuse_1_1_a_d_s_r__coll__graph.png differ diff --git a/structamuse_1_1_a_d_s_r_d_l_s-members.html b/structamuse_1_1_a_d_s_r_d_l_s-members.html new file mode 100644 index 0000000..89c7c93 --- /dev/null +++ b/structamuse_1_1_a_d_s_r_d_l_s-members.html @@ -0,0 +1,137 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::ADSRDLS Member List
+
+
+ +

This is the complete list of members for amuse::ADSRDLS, including all inherited members.

+ + + + + + + + + + + + + +
attack (defined in amuse::ADSRDLS)amuse::ADSRDLS
decay (defined in amuse::ADSRDLS)amuse::ADSRDLS
getAttack() const (defined in amuse::ADSRDLS)amuse::ADSRDLSinline
getDecay() const (defined in amuse::ADSRDLS)amuse::ADSRDLSinline
getKeyToDecay(int8_t note) const (defined in amuse::ADSRDLS)amuse::ADSRDLSinline
getRelease() const (defined in amuse::ADSRDLS)amuse::ADSRDLSinline
getSustain() const (defined in amuse::ADSRDLS)amuse::ADSRDLSinline
getVelToAttack(int8_t vel) const (defined in amuse::ADSRDLS)amuse::ADSRDLSinline
keyToDecay (defined in amuse::ADSRDLS)amuse::ADSRDLS
release (defined in amuse::ADSRDLS)amuse::ADSRDLS
sustain (defined in amuse::ADSRDLS)amuse::ADSRDLS
velToAttack (defined in amuse::ADSRDLS)amuse::ADSRDLS
+
+ + + + diff --git a/structamuse_1_1_a_d_s_r_d_l_s.html b/structamuse_1_1_a_d_s_r_d_l_s.html new file mode 100644 index 0000000..967de75 --- /dev/null +++ b/structamuse_1_1_a_d_s_r_d_l_s.html @@ -0,0 +1,186 @@ + + + + + + +Amuse: amuse::ADSRDLS Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::ADSRDLS Struct Reference
+
+
+ +

#include <AudioGroupPool.hpp>

+
+Collaboration diagram for amuse::ADSRDLS:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + +

+Public Member Functions

+double getAttack () const
 
+double getDecay () const
 
+double getSustain () const
 
+double getRelease () const
 
+double getVelToAttack (int8_t vel) const
 
+double getKeyToDecay (int8_t note) const
 
+ + + + + + + + + + + + + +

+Public Attributes

+uint32_t attack
 
+uint32_t decay
 
+uint16_t sustain
 
+uint16_t release
 
+uint32_t velToAttack
 
+uint32_t keyToDecay
 
+

Detailed Description

+

Defines phase-based volume curve for macro volume control (modified DLS standard)

+ +

Definition at line 41 of file AudioGroupPool.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_a_d_s_r_d_l_s.js b/structamuse_1_1_a_d_s_r_d_l_s.js new file mode 100644 index 0000000..fda815e --- /dev/null +++ b/structamuse_1_1_a_d_s_r_d_l_s.js @@ -0,0 +1,15 @@ +var structamuse_1_1_a_d_s_r_d_l_s = +[ + [ "getAttack", "structamuse_1_1_a_d_s_r_d_l_s.html#abe99acaf83162977c3932834426a0bf9", null ], + [ "getDecay", "structamuse_1_1_a_d_s_r_d_l_s.html#aaffe34aecdfcef62835a709bc1acbbcf", null ], + [ "getKeyToDecay", "structamuse_1_1_a_d_s_r_d_l_s.html#acac38c92c8eb7a28ad9c942403cad23a", null ], + [ "getRelease", "structamuse_1_1_a_d_s_r_d_l_s.html#a487bdf6b3427a819e3cb4a10ffc3232e", null ], + [ "getSustain", "structamuse_1_1_a_d_s_r_d_l_s.html#aacb3cd683dbd236811ec8453a5eb36e6", null ], + [ "getVelToAttack", "structamuse_1_1_a_d_s_r_d_l_s.html#a726d545cd2fddf0d3b1b5af9214069d9", null ], + [ "attack", "structamuse_1_1_a_d_s_r_d_l_s.html#ae91694be822035dc38259e0e14f9e695", null ], + [ "decay", "structamuse_1_1_a_d_s_r_d_l_s.html#a1690b365e43d4a087c634eed795bb5ce", null ], + [ "keyToDecay", "structamuse_1_1_a_d_s_r_d_l_s.html#a178fc67f9cf455047cbfc61575dafae2", null ], + [ "release", "structamuse_1_1_a_d_s_r_d_l_s.html#a2d16fd39e5798544d856a80fcb15378b", null ], + [ "sustain", "structamuse_1_1_a_d_s_r_d_l_s.html#aa930a6f61d658c84429d4602d023556a", null ], + [ "velToAttack", "structamuse_1_1_a_d_s_r_d_l_s.html#a4fd71e8e776032e7da47b8d7a355cc37", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.map b/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.map new file mode 100644 index 0000000..fbed254 --- /dev/null +++ b/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.md5 b/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.md5 new file mode 100644 index 0000000..b446c70 --- /dev/null +++ b/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.md5 @@ -0,0 +1 @@ +471c9484cc38d9f3f5a223d516a19af8 \ No newline at end of file diff --git a/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.png b/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.png new file mode 100644 index 0000000..94c0ad9 Binary files /dev/null and b/structamuse_1_1_a_d_s_r_d_l_s__coll__graph.png differ diff --git a/structamuse_1_1_audio_group_index-members.html b/structamuse_1_1_audio_group_index-members.html new file mode 100644 index 0000000..e04fba0 --- /dev/null +++ b/structamuse_1_1_audio_group_index-members.html @@ -0,0 +1,129 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::AudioGroupIndex Member List
+
+
+ +

This is the complete list of members for amuse::AudioGroupIndex, including all inherited members.

+ + + + + +
m_keymapsIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_layersIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_soundMacroIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_tablesIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
+
+ + + + diff --git a/structamuse_1_1_audio_group_index.html b/structamuse_1_1_audio_group_index.html new file mode 100644 index 0000000..c541e22 --- /dev/null +++ b/structamuse_1_1_audio_group_index.html @@ -0,0 +1,167 @@ + + + + + + +Amuse: amuse::AudioGroupIndex Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroupIndex Struct Reference
+
+
+ +

#include <AudioGroupProject.hpp>

+
+Inheritance diagram for amuse::AudioGroupIndex:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for amuse::AudioGroupIndex:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + +

+Public Attributes

+const uint16_t * m_soundMacroIndex
 
+const uint16_t * m_tablesIndex
 
+const uint16_t * m_keymapsIndex
 
+const uint16_t * m_layersIndex
 
+

Detailed Description

+

Common index members of SongGroups and SFXGroups

+ +

Definition at line 13 of file AudioGroupProject.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_audio_group_index.js b/structamuse_1_1_audio_group_index.js new file mode 100644 index 0000000..e36c769 --- /dev/null +++ b/structamuse_1_1_audio_group_index.js @@ -0,0 +1,7 @@ +var structamuse_1_1_audio_group_index = +[ + [ "m_keymapsIndex", "structamuse_1_1_audio_group_index.html#a92f8a808b54b86804ee7dfb88251ec99", null ], + [ "m_layersIndex", "structamuse_1_1_audio_group_index.html#a6e697da4ebfa667b5d962b7ad41465b7", null ], + [ "m_soundMacroIndex", "structamuse_1_1_audio_group_index.html#ad15b65c606587ec3246a0be70d8aad30", null ], + [ "m_tablesIndex", "structamuse_1_1_audio_group_index.html#a8da46b29dd2a7597d1e783d298c2e2a1", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_audio_group_index__coll__graph.map b/structamuse_1_1_audio_group_index__coll__graph.map new file mode 100644 index 0000000..30ff230 --- /dev/null +++ b/structamuse_1_1_audio_group_index__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_audio_group_index__coll__graph.md5 b/structamuse_1_1_audio_group_index__coll__graph.md5 new file mode 100644 index 0000000..55ac629 --- /dev/null +++ b/structamuse_1_1_audio_group_index__coll__graph.md5 @@ -0,0 +1 @@ +4a91244c1b62084545137d206db76c4c \ No newline at end of file diff --git a/structamuse_1_1_audio_group_index__coll__graph.png b/structamuse_1_1_audio_group_index__coll__graph.png new file mode 100644 index 0000000..467674b Binary files /dev/null and b/structamuse_1_1_audio_group_index__coll__graph.png differ diff --git a/structamuse_1_1_audio_group_index__inherit__graph.map b/structamuse_1_1_audio_group_index__inherit__graph.map new file mode 100644 index 0000000..9e48cad --- /dev/null +++ b/structamuse_1_1_audio_group_index__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/structamuse_1_1_audio_group_index__inherit__graph.md5 b/structamuse_1_1_audio_group_index__inherit__graph.md5 new file mode 100644 index 0000000..aed7cc7 --- /dev/null +++ b/structamuse_1_1_audio_group_index__inherit__graph.md5 @@ -0,0 +1 @@ +4dbc24af48077f3870500046cf11026a \ No newline at end of file diff --git a/structamuse_1_1_audio_group_index__inherit__graph.png b/structamuse_1_1_audio_group_index__inherit__graph.png new file mode 100644 index 0000000..275046e Binary files /dev/null and b/structamuse_1_1_audio_group_index__inherit__graph.png differ diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms-members.html b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms-members.html new file mode 100644 index 0000000..fe3cff3 --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms-members.html @@ -0,0 +1,132 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ + + + + + diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html new file mode 100644 index 0000000..7db60d8 --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html @@ -0,0 +1,168 @@ + + + + + + +Amuse: amuse::AudioGroupSampleDirectory::ADPCMParms Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroupSampleDirectory::ADPCMParms Struct Reference
+
+
+
+Collaboration diagram for amuse::AudioGroupSampleDirectory::ADPCMParms:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Member Functions

+void swapBig ()
 
+ + + + + + + + + + + + + +

+Public Attributes

+uint16_t m_bytesPerFrame
 
+uint8_t m_ps
 
+uint8_t m_lps
 
+int16_t m_hist1
 
+int16_t m_hist2
 
+int16_t m_coefs [8][2]
 
+

Detailed Description

+
+

Definition at line 28 of file AudioGroupSampleDirectory.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.js b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.js new file mode 100644 index 0000000..ad04a79 --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.js @@ -0,0 +1,10 @@ +var structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms = +[ + [ "swapBig", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html#a6461b5618859f4306bcc29449b6ac479", null ], + [ "m_bytesPerFrame", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html#a1f86c884471ec7b867153cd609061a92", null ], + [ "m_coefs", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html#ad950e69491e51767913a530c87fd1837", null ], + [ "m_hist1", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html#a8ae540ac2cc23136968f8cad2ff935fc", null ], + [ "m_hist2", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html#a8ec3a73866d43db08135f0cbc4e5a683", null ], + [ "m_lps", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html#aa68522ce66af418256dda4cd72d7ddb7", null ], + [ "m_ps", "structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms.html#a7aba929db741b8a71ac3c5b3c240c1e5", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.map b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.map new file mode 100644 index 0000000..39ad442 --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.md5 b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.md5 new file mode 100644 index 0000000..1432d3a --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.md5 @@ -0,0 +1 @@ +41408d084ed4ec7b14d9a880f557a472 \ No newline at end of file diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.png b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.png new file mode 100644 index 0000000..601214f Binary files /dev/null and b/structamuse_1_1_audio_group_sample_directory_1_1_a_d_p_c_m_parms__coll__graph.png differ diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_entry-members.html b/structamuse_1_1_audio_group_sample_directory_1_1_entry-members.html new file mode 100644 index 0000000..841c78f --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_entry-members.html @@ -0,0 +1,135 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ + + + + + diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_entry.html b/structamuse_1_1_audio_group_sample_directory_1_1_entry.html new file mode 100644 index 0000000..ec526b5 --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_entry.html @@ -0,0 +1,177 @@ + + + + + + +Amuse: amuse::AudioGroupSampleDirectory::Entry Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::AudioGroupSampleDirectory::Entry Struct Reference
+
+
+
+Collaboration diagram for amuse::AudioGroupSampleDirectory::Entry:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Member Functions

+void swapBig ()
 
+ + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint16_t m_sfxId
 
+uint32_t m_sampleOff
 
+uint32_t m_unk
 
+uint8_t m_pitch
 
+uint16_t m_sampleRate
 
+uint32_t m_numSamples
 
+uint32_t m_loopStartSample
 
+uint32_t m_loopLengthSamples
 
+uint32_t m_adpcmParmOffset
 
+

Detailed Description

+
+

Definition at line 15 of file AudioGroupSampleDirectory.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_entry.js b/structamuse_1_1_audio_group_sample_directory_1_1_entry.js new file mode 100644 index 0000000..bd28ae3 --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_entry.js @@ -0,0 +1,13 @@ +var structamuse_1_1_audio_group_sample_directory_1_1_entry = +[ + [ "swapBig", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#a8716137a70ab03186009885e201a1411", null ], + [ "m_adpcmParmOffset", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#a1f33e5cbb3267f7d2657f2db56649b0f", null ], + [ "m_loopLengthSamples", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#ab5ce2c836163f2da75c73993e548734d", null ], + [ "m_loopStartSample", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#a9ff3a29f0fef237aeedc80cf0bc0c15f", null ], + [ "m_numSamples", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#aad817822013c870ca196f46c0799c9ec", null ], + [ "m_pitch", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#a833ac6661040677d2d2f92f5ab24f944", null ], + [ "m_sampleOff", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#a95b4ea711ce8e34ed40b46472e034e22", null ], + [ "m_sampleRate", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#ac4720139e482096413eae5aae04f7c19", null ], + [ "m_sfxId", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#a4509b305373e36012fc2589b42ca0925", null ], + [ "m_unk", "structamuse_1_1_audio_group_sample_directory_1_1_entry.html#a318316636434950d7b838a3d6d1e7ca5", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.map b/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.map new file mode 100644 index 0000000..5872446 --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.md5 b/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.md5 new file mode 100644 index 0000000..06cc0cd --- /dev/null +++ b/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.md5 @@ -0,0 +1 @@ +274b3137b5961865e6fd2d4461ed4af6 \ No newline at end of file diff --git a/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.png b/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.png new file mode 100644 index 0000000..0c33673 Binary files /dev/null and b/structamuse_1_1_audio_group_sample_directory_1_1_entry__coll__graph.png differ diff --git a/structamuse_1_1_channel_map-members.html b/structamuse_1_1_channel_map-members.html new file mode 100644 index 0000000..b90b57f --- /dev/null +++ b/structamuse_1_1_channel_map-members.html @@ -0,0 +1,127 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::ChannelMap Member List
+
+
+ +

This is the complete list of members for amuse::ChannelMap, including all inherited members.

+ + + +
m_channelCount (defined in amuse::ChannelMap)amuse::ChannelMap
m_channels (defined in amuse::ChannelMap)amuse::ChannelMap
+
+ + + + diff --git a/structamuse_1_1_channel_map.html b/structamuse_1_1_channel_map.html new file mode 100644 index 0000000..2ffa34d --- /dev/null +++ b/structamuse_1_1_channel_map.html @@ -0,0 +1,152 @@ + + + + + + +Amuse: amuse::ChannelMap Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::ChannelMap Struct Reference
+
+
+ +

#include <IBackendVoice.hpp>

+
+Collaboration diagram for amuse::ChannelMap:
+
+
Collaboration graph
+ + +
+ + + + + + +

+Public Attributes

+unsigned m_channelCount = 0
 
+AudioChannel m_channels [8] = {}
 
+

Detailed Description

+

Same structure from boo, used to represent interleaved speaker layout

+ +

Definition at line 22 of file IBackendVoice.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_channel_map.js b/structamuse_1_1_channel_map.js new file mode 100644 index 0000000..618cf08 --- /dev/null +++ b/structamuse_1_1_channel_map.js @@ -0,0 +1,5 @@ +var structamuse_1_1_channel_map = +[ + [ "m_channelCount", "structamuse_1_1_channel_map.html#ab1e32cced4daf4a519b1164cadc617d9", null ], + [ "m_channels", "structamuse_1_1_channel_map.html#a01902d5de50f5ccae4cebc5f18c301c0", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_channel_map__coll__graph.map b/structamuse_1_1_channel_map__coll__graph.map new file mode 100644 index 0000000..7a9e2e3 --- /dev/null +++ b/structamuse_1_1_channel_map__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_channel_map__coll__graph.md5 b/structamuse_1_1_channel_map__coll__graph.md5 new file mode 100644 index 0000000..1f5cc38 --- /dev/null +++ b/structamuse_1_1_channel_map__coll__graph.md5 @@ -0,0 +1 @@ +95c7a77f330652d617854a0545c67bcf \ No newline at end of file diff --git a/structamuse_1_1_channel_map__coll__graph.png b/structamuse_1_1_channel_map__coll__graph.png new file mode 100644 index 0000000..64a2403 Binary files /dev/null and b/structamuse_1_1_channel_map__coll__graph.png differ diff --git a/structamuse_1_1_keymap-members.html b/structamuse_1_1_keymap-members.html new file mode 100644 index 0000000..e4afb0e --- /dev/null +++ b/structamuse_1_1_keymap-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::Keymap Member List
+
+
+ +

This is the complete list of members for amuse::Keymap, including all inherited members.

+ + + + + + +
objectId (defined in amuse::Keymap)amuse::Keymap
pad (defined in amuse::Keymap)amuse::Keymap
pan (defined in amuse::Keymap)amuse::Keymap
prioOffset (defined in amuse::Keymap)amuse::Keymap
transpose (defined in amuse::Keymap)amuse::Keymap
+
+ + + + diff --git a/structamuse_1_1_keymap.html b/structamuse_1_1_keymap.html new file mode 100644 index 0000000..6e4a0d0 --- /dev/null +++ b/structamuse_1_1_keymap.html @@ -0,0 +1,161 @@ + + + + + + +Amuse: amuse::Keymap Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::Keymap Struct Reference
+
+
+ +

#include <AudioGroupPool.hpp>

+
+Collaboration diagram for amuse::Keymap:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Attributes

+int16_t objectId
 
+int8_t transpose
 
+int8_t pan
 
+int8_t prioOffset
 
+int8_t pad [3]
 
+

Detailed Description

+

Maps individual MIDI keys to sound-entity as indexed in table (macro-voice, keymap, layer)

+ +

Definition at line 70 of file AudioGroupPool.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_keymap.js b/structamuse_1_1_keymap.js new file mode 100644 index 0000000..0105b5c --- /dev/null +++ b/structamuse_1_1_keymap.js @@ -0,0 +1,8 @@ +var structamuse_1_1_keymap = +[ + [ "objectId", "structamuse_1_1_keymap.html#ad4845daee7b76753ed0373ae7bfe1712", null ], + [ "pad", "structamuse_1_1_keymap.html#afdea1c90184f1b9e0ef58e973d2f35e6", null ], + [ "pan", "structamuse_1_1_keymap.html#af5bbd9f332a29ccb83f16010b4c9cb7f", null ], + [ "prioOffset", "structamuse_1_1_keymap.html#a5f8178e87c90cd10c70d90230d271eb7", null ], + [ "transpose", "structamuse_1_1_keymap.html#a929f43a99b74ac1f39bb1965f7c050a5", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_keymap__coll__graph.map b/structamuse_1_1_keymap__coll__graph.map new file mode 100644 index 0000000..095c8ae --- /dev/null +++ b/structamuse_1_1_keymap__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_keymap__coll__graph.md5 b/structamuse_1_1_keymap__coll__graph.md5 new file mode 100644 index 0000000..45f6e2e --- /dev/null +++ b/structamuse_1_1_keymap__coll__graph.md5 @@ -0,0 +1 @@ +e902dec4c2278a33c68c53324e6dd876 \ No newline at end of file diff --git a/structamuse_1_1_keymap__coll__graph.png b/structamuse_1_1_keymap__coll__graph.png new file mode 100644 index 0000000..5c3b125 Binary files /dev/null and b/structamuse_1_1_keymap__coll__graph.png differ diff --git a/structamuse_1_1_layer_mapping-members.html b/structamuse_1_1_layer_mapping-members.html new file mode 100644 index 0000000..8915d38 --- /dev/null +++ b/structamuse_1_1_layer_mapping-members.html @@ -0,0 +1,133 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::LayerMapping Member List
+
+
+ +

This is the complete list of members for amuse::LayerMapping, including all inherited members.

+ + + + + + + + + +
keyHi (defined in amuse::LayerMapping)amuse::LayerMapping
keyLo (defined in amuse::LayerMapping)amuse::LayerMapping
objectId (defined in amuse::LayerMapping)amuse::LayerMapping
pan (defined in amuse::LayerMapping)amuse::LayerMapping
prioOffset (defined in amuse::LayerMapping)amuse::LayerMapping
transpose (defined in amuse::LayerMapping)amuse::LayerMapping
unk (defined in amuse::LayerMapping)amuse::LayerMapping
volume (defined in amuse::LayerMapping)amuse::LayerMapping
+
+ + + + diff --git a/structamuse_1_1_layer_mapping.html b/structamuse_1_1_layer_mapping.html new file mode 100644 index 0000000..aa3f73f --- /dev/null +++ b/structamuse_1_1_layer_mapping.html @@ -0,0 +1,170 @@ + + + + + + +Amuse: amuse::LayerMapping Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::LayerMapping Struct Reference
+
+
+ +

#include <AudioGroupPool.hpp>

+
+Collaboration diagram for amuse::LayerMapping:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + + + + + +

+Public Attributes

+int16_t objectId
 
+int8_t keyLo
 
+int8_t keyHi
 
+int8_t transpose
 
+int8_t volume
 
+int8_t pan
 
+int8_t prioOffset
 
+int8_t unk
 
+

Detailed Description

+

Maps ranges of MIDI keys to sound-entity (macro-voice, keymap, layer)

+ +

Definition at line 80 of file AudioGroupPool.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_layer_mapping.js b/structamuse_1_1_layer_mapping.js new file mode 100644 index 0000000..c0c7d93 --- /dev/null +++ b/structamuse_1_1_layer_mapping.js @@ -0,0 +1,11 @@ +var structamuse_1_1_layer_mapping = +[ + [ "keyHi", "structamuse_1_1_layer_mapping.html#abfa8203f0f51f9a27bccd93504fa2479", null ], + [ "keyLo", "structamuse_1_1_layer_mapping.html#a402af2881acf67f52d73ef6fb1b1693a", null ], + [ "objectId", "structamuse_1_1_layer_mapping.html#a3a5e615c5bd6e3aab1b6fac5a32b8930", null ], + [ "pan", "structamuse_1_1_layer_mapping.html#a1bbc54dca9d869b98a87d1d076bd5724", null ], + [ "prioOffset", "structamuse_1_1_layer_mapping.html#a2b94ac1b86f76ca1506aaaa6e9469885", null ], + [ "transpose", "structamuse_1_1_layer_mapping.html#af62d137bbdb08750cccc6f6a378aa5df", null ], + [ "unk", "structamuse_1_1_layer_mapping.html#aa5abc335c8bffb4716b62f6b71b82361", null ], + [ "volume", "structamuse_1_1_layer_mapping.html#a9ab63555a9a7fde1655c02048586f4fe", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_layer_mapping__coll__graph.map b/structamuse_1_1_layer_mapping__coll__graph.map new file mode 100644 index 0000000..cc2f5cc --- /dev/null +++ b/structamuse_1_1_layer_mapping__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_layer_mapping__coll__graph.md5 b/structamuse_1_1_layer_mapping__coll__graph.md5 new file mode 100644 index 0000000..1104e55 --- /dev/null +++ b/structamuse_1_1_layer_mapping__coll__graph.md5 @@ -0,0 +1 @@ +ab66eca795d100491c0e033d1c3694e4 \ No newline at end of file diff --git a/structamuse_1_1_layer_mapping__coll__graph.png b/structamuse_1_1_layer_mapping__coll__graph.png new file mode 100644 index 0000000..26a771f Binary files /dev/null and b/structamuse_1_1_layer_mapping__coll__graph.png differ diff --git a/structamuse_1_1_reverb_delay_line-members.html b/structamuse_1_1_reverb_delay_line-members.html new file mode 100644 index 0000000..7887dff --- /dev/null +++ b/structamuse_1_1_reverb_delay_line-members.html @@ -0,0 +1,132 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::ReverbDelayLine Member List
+
+
+ +

This is the complete list of members for amuse::ReverbDelayLine, including all inherited members.

+ + + + + + + + +
allocate(int32_t delay) (defined in amuse::ReverbDelayLine)amuse::ReverbDelayLine
setdelay(int32_t delay) (defined in amuse::ReverbDelayLine)amuse::ReverbDelayLine
x0_inPoint (defined in amuse::ReverbDelayLine)amuse::ReverbDelayLine
x10_lastInput (defined in amuse::ReverbDelayLine)amuse::ReverbDelayLine
x4_outPoint (defined in amuse::ReverbDelayLine)amuse::ReverbDelayLine
x8_length (defined in amuse::ReverbDelayLine)amuse::ReverbDelayLine
xc_inputs (defined in amuse::ReverbDelayLine)amuse::ReverbDelayLine
+
+ + + + diff --git a/structamuse_1_1_reverb_delay_line.html b/structamuse_1_1_reverb_delay_line.html new file mode 100644 index 0000000..97c78f0 --- /dev/null +++ b/structamuse_1_1_reverb_delay_line.html @@ -0,0 +1,171 @@ + + + + + + +Amuse: amuse::ReverbDelayLine Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::ReverbDelayLine Struct Reference
+
+
+ +

#include <EffectReverb.hpp>

+
+Collaboration diagram for amuse::ReverbDelayLine:
+
+
Collaboration graph
+ + +
+ + + + + + +

+Public Member Functions

+void allocate (int32_t delay)
 
+void setdelay (int32_t delay)
 
+ + + + + + + + + + + +

+Public Attributes

+int32_t x0_inPoint = 0
 
+int32_t x4_outPoint = 0
 
+int32_t x8_length = 0
 
+std::unique_ptr< float[]> xc_inputs
 
+float x10_lastInput = 0.f
 
+

Detailed Description

+

Delay state for one 'tap' of the reverb effect

+ +

Definition at line 12 of file EffectReverb.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_reverb_delay_line.js b/structamuse_1_1_reverb_delay_line.js new file mode 100644 index 0000000..053ac6b --- /dev/null +++ b/structamuse_1_1_reverb_delay_line.js @@ -0,0 +1,10 @@ +var structamuse_1_1_reverb_delay_line = +[ + [ "allocate", "structamuse_1_1_reverb_delay_line.html#a903f36013e58cfeb5a8fa4ab32bc1b27", null ], + [ "setdelay", "structamuse_1_1_reverb_delay_line.html#a9b01d85850913fcd04076aa2e927e927", null ], + [ "x0_inPoint", "structamuse_1_1_reverb_delay_line.html#a2872ec9ab746c66f82acdfbd6e4099eb", null ], + [ "x10_lastInput", "structamuse_1_1_reverb_delay_line.html#a6f96cbf5f12534281aa90d342584aad8", null ], + [ "x4_outPoint", "structamuse_1_1_reverb_delay_line.html#a8095570703f822e40dc59d4b1038f9f3", null ], + [ "x8_length", "structamuse_1_1_reverb_delay_line.html#a07067ebf0dd3e7775ade56b702055786", null ], + [ "xc_inputs", "structamuse_1_1_reverb_delay_line.html#a30a34d06e7dd67f5b1be67620a92dd76", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_reverb_delay_line__coll__graph.map b/structamuse_1_1_reverb_delay_line__coll__graph.map new file mode 100644 index 0000000..41a472b --- /dev/null +++ b/structamuse_1_1_reverb_delay_line__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_reverb_delay_line__coll__graph.md5 b/structamuse_1_1_reverb_delay_line__coll__graph.md5 new file mode 100644 index 0000000..b06aabe --- /dev/null +++ b/structamuse_1_1_reverb_delay_line__coll__graph.md5 @@ -0,0 +1 @@ +943bd57502e8486273334305a5384f5a \ No newline at end of file diff --git a/structamuse_1_1_reverb_delay_line__coll__graph.png b/structamuse_1_1_reverb_delay_line__coll__graph.png new file mode 100644 index 0000000..397cdeb Binary files /dev/null and b/structamuse_1_1_reverb_delay_line__coll__graph.png differ diff --git a/structamuse_1_1_s_f_x_group_index-members.html b/structamuse_1_1_s_f_x_group_index-members.html new file mode 100644 index 0000000..cad1a6c --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SFXGroupIndex Member List
+
+
+ +

This is the complete list of members for amuse::SFXGroupIndex, including all inherited members.

+ + + + + + +
m_keymapsIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_layersIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_sfxEntries (defined in amuse::SFXGroupIndex)amuse::SFXGroupIndex
m_soundMacroIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_tablesIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
+
+ + + + diff --git a/structamuse_1_1_s_f_x_group_index.html b/structamuse_1_1_s_f_x_group_index.html new file mode 100644 index 0000000..4856bca --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index.html @@ -0,0 +1,177 @@ + + + + + + +Amuse: amuse::SFXGroupIndex Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SFXGroupIndex Struct Reference
+
+
+ +

#include <AudioGroupProject.hpp>

+
+Inheritance diagram for amuse::SFXGroupIndex:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::SFXGroupIndex:
+
+
Collaboration graph
+ + + +
+ + + + +

+Classes

struct  SFXEntry
 
+ + + + + + + + + + + + +

+Public Attributes

+std::unordered_map< uint16_t, const SFXEntry * > m_sfxEntries
 
- Public Attributes inherited from amuse::AudioGroupIndex
+const uint16_t * m_soundMacroIndex
 
+const uint16_t * m_tablesIndex
 
+const uint16_t * m_keymapsIndex
 
+const uint16_t * m_layersIndex
 
+

Detailed Description

+

Root index of SFXGroup

+ +

Definition at line 49 of file AudioGroupProject.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_s_f_x_group_index.js b/structamuse_1_1_s_f_x_group_index.js new file mode 100644 index 0000000..8f3f146 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index.js @@ -0,0 +1,5 @@ +var structamuse_1_1_s_f_x_group_index = +[ + [ "SFXEntry", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry" ], + [ "m_sfxEntries", "structamuse_1_1_s_f_x_group_index.html#aea1c897296c386a1c3b6cc166134cfee", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry-members.html b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry-members.html new file mode 100644 index 0000000..c118f79 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry-members.html @@ -0,0 +1,133 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ + + + + + diff --git a/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html new file mode 100644 index 0000000..db71565 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html @@ -0,0 +1,170 @@ + + + + + + +Amuse: amuse::SFXGroupIndex::SFXEntry Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SFXGroupIndex::SFXEntry Struct Reference
+
+
+ +

#include <AudioGroupProject.hpp>

+
+Collaboration diagram for amuse::SFXGroupIndex::SFXEntry:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint16_t defineId
 
+ObjectId objId
 
+uint8_t priority
 
+uint8_t maxVoices
 
+uint8_t defVel
 
+uint8_t panning
 
+uint8_t defKey
 
+uint8_t pad
 
+

Detailed Description

+

Maps game-side SFX define IDs to sound entities

+ +

Definition at line 52 of file AudioGroupProject.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.js b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.js new file mode 100644 index 0000000..3c85889 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.js @@ -0,0 +1,11 @@ +var structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry = +[ + [ "defineId", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#a67293cdb588442756e92a383d163f63a", null ], + [ "defKey", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#a3ed7271fbd7196d46dd75c39a9955328", null ], + [ "defVel", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#a7c45faedcd5ea85fdd3092393031723e", null ], + [ "maxVoices", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#aafba16b4af120ba52512dd386c0d16be", null ], + [ "objId", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#a08833e668eca776d65c272b94a671be2", null ], + [ "pad", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#aa1e2ad4ab05f83d29c9af621d3f6c442", null ], + [ "panning", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#abf896a760dd4e698f1d3ee5a9167e547", null ], + [ "priority", "structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry.html#af5608c5889de8b34898aab4336c48c62", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.map b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.map new file mode 100644 index 0000000..b08d2b5 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.md5 b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.md5 new file mode 100644 index 0000000..dc4e2bd --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.md5 @@ -0,0 +1 @@ +a8a10b308a317d6efa267a5ff2d00ff0 \ No newline at end of file diff --git a/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.png b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.png new file mode 100644 index 0000000..44f104c Binary files /dev/null and b/structamuse_1_1_s_f_x_group_index_1_1_s_f_x_entry__coll__graph.png differ diff --git a/structamuse_1_1_s_f_x_group_index__coll__graph.map b/structamuse_1_1_s_f_x_group_index__coll__graph.map new file mode 100644 index 0000000..96c4d43 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/structamuse_1_1_s_f_x_group_index__coll__graph.md5 b/structamuse_1_1_s_f_x_group_index__coll__graph.md5 new file mode 100644 index 0000000..14ea009 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index__coll__graph.md5 @@ -0,0 +1 @@ +3fa252a009ecf263d86042261f30ceee \ No newline at end of file diff --git a/structamuse_1_1_s_f_x_group_index__coll__graph.png b/structamuse_1_1_s_f_x_group_index__coll__graph.png new file mode 100644 index 0000000..a941c18 Binary files /dev/null and b/structamuse_1_1_s_f_x_group_index__coll__graph.png differ diff --git a/structamuse_1_1_s_f_x_group_index__inherit__graph.map b/structamuse_1_1_s_f_x_group_index__inherit__graph.map new file mode 100644 index 0000000..96c4d43 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/structamuse_1_1_s_f_x_group_index__inherit__graph.md5 b/structamuse_1_1_s_f_x_group_index__inherit__graph.md5 new file mode 100644 index 0000000..14ea009 --- /dev/null +++ b/structamuse_1_1_s_f_x_group_index__inherit__graph.md5 @@ -0,0 +1 @@ +3fa252a009ecf263d86042261f30ceee \ No newline at end of file diff --git a/structamuse_1_1_s_f_x_group_index__inherit__graph.png b/structamuse_1_1_s_f_x_group_index__inherit__graph.png new file mode 100644 index 0000000..a941c18 Binary files /dev/null and b/structamuse_1_1_s_f_x_group_index__inherit__graph.png differ diff --git a/structamuse_1_1_song_group_index-members.html b/structamuse_1_1_song_group_index-members.html new file mode 100644 index 0000000..34a09d2 --- /dev/null +++ b/structamuse_1_1_song_group_index-members.html @@ -0,0 +1,132 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SongGroupIndex Member List
+
+
+ +

This is the complete list of members for amuse::SongGroupIndex, including all inherited members.

+ + + + + + + + +
m_drumPages (defined in amuse::SongGroupIndex)amuse::SongGroupIndex
m_keymapsIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_layersIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_midiSetups (defined in amuse::SongGroupIndex)amuse::SongGroupIndex
m_normPages (defined in amuse::SongGroupIndex)amuse::SongGroupIndex
m_soundMacroIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
m_tablesIndex (defined in amuse::AudioGroupIndex)amuse::AudioGroupIndex
+
+ + + + diff --git a/structamuse_1_1_song_group_index.html b/structamuse_1_1_song_group_index.html new file mode 100644 index 0000000..6bc1533 --- /dev/null +++ b/structamuse_1_1_song_group_index.html @@ -0,0 +1,185 @@ + + + + + + +Amuse: amuse::SongGroupIndex Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SongGroupIndex Struct Reference
+
+
+ +

#include <AudioGroupProject.hpp>

+
+Inheritance diagram for amuse::SongGroupIndex:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for amuse::SongGroupIndex:
+
+
Collaboration graph
+ + + +
+ + + + + + +

+Classes

struct  MIDISetup
 
struct  PageEntry
 
+ + + + + + + + + + + + + + + + +

+Public Attributes

+std::unordered_map< uint8_t, const PageEntry * > m_normPages
 
+std::unordered_map< uint8_t, const PageEntry * > m_drumPages
 
+std::unordered_map< int, const std::array< MIDISetup, 16 > * > m_midiSetups
 
- Public Attributes inherited from amuse::AudioGroupIndex
+const uint16_t * m_soundMacroIndex
 
+const uint16_t * m_tablesIndex
 
+const uint16_t * m_keymapsIndex
 
+const uint16_t * m_layersIndex
 
+

Detailed Description

+

Root index of SongGroup

+ +

Definition at line 22 of file AudioGroupProject.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_song_group_index.js b/structamuse_1_1_song_group_index.js new file mode 100644 index 0000000..19eb165 --- /dev/null +++ b/structamuse_1_1_song_group_index.js @@ -0,0 +1,8 @@ +var structamuse_1_1_song_group_index = +[ + [ "MIDISetup", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup" ], + [ "PageEntry", "structamuse_1_1_song_group_index_1_1_page_entry.html", "structamuse_1_1_song_group_index_1_1_page_entry" ], + [ "m_drumPages", "structamuse_1_1_song_group_index.html#ad2bb3b268cb291487cd71c506eab1050", null ], + [ "m_midiSetups", "structamuse_1_1_song_group_index.html#a3ae59ac546d2c2d45140dc767c99903e", null ], + [ "m_normPages", "structamuse_1_1_song_group_index.html#afc202ba0261709f6519019ce3b03c920", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup-members.html b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup-members.html new file mode 100644 index 0000000..9a6046c --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SongGroupIndex::MIDISetup Member List
+
+ +
+ + + + diff --git a/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html new file mode 100644 index 0000000..5d528f4 --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html @@ -0,0 +1,161 @@ + + + + + + +Amuse: amuse::SongGroupIndex::MIDISetup Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SongGroupIndex::MIDISetup Struct Reference
+
+
+ +

#include <AudioGroupProject.hpp>

+
+Collaboration diagram for amuse::SongGroupIndex::MIDISetup:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Attributes

+uint8_t programNo
 
+uint8_t volume
 
+uint8_t panning
 
+uint8_t reverb
 
+uint8_t chorus
 
+

Detailed Description

+

Maps SongID to 16 MIDI channel numbers to GM program numbers and settings

+ +

Definition at line 37 of file AudioGroupProject.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.js b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.js new file mode 100644 index 0000000..1002ced --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.js @@ -0,0 +1,8 @@ +var structamuse_1_1_song_group_index_1_1_m_i_d_i_setup = +[ + [ "chorus", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html#aec727f56078115a8ab0c1fd8e9d85be9", null ], + [ "panning", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html#a108d97f144efa79f4fb2a36809f24c2e", null ], + [ "programNo", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html#ac31176777052aa1022b36b5d21d450b3", null ], + [ "reverb", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html#a8ef567ee3d36c89902e8f16ec84ad3c0", null ], + [ "volume", "structamuse_1_1_song_group_index_1_1_m_i_d_i_setup.html#a4f4aca1327d5b8c5e79d1bdaa1453f76", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.map b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.map new file mode 100644 index 0000000..3912fcb --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.md5 b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.md5 new file mode 100644 index 0000000..5e6994b --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.md5 @@ -0,0 +1 @@ +3d47bf94d94de963b3c4f0a1893ebefd \ No newline at end of file diff --git a/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.png b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.png new file mode 100644 index 0000000..911aa45 Binary files /dev/null and b/structamuse_1_1_song_group_index_1_1_m_i_d_i_setup__coll__graph.png differ diff --git a/structamuse_1_1_song_group_index_1_1_page_entry-members.html b/structamuse_1_1_song_group_index_1_1_page_entry-members.html new file mode 100644 index 0000000..fcbbc5e --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_page_entry-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SongGroupIndex::PageEntry Member List
+
+ +
+ + + + diff --git a/structamuse_1_1_song_group_index_1_1_page_entry.html b/structamuse_1_1_song_group_index_1_1_page_entry.html new file mode 100644 index 0000000..c029958 --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_page_entry.html @@ -0,0 +1,161 @@ + + + + + + +Amuse: amuse::SongGroupIndex::PageEntry Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SongGroupIndex::PageEntry Struct Reference
+
+
+ +

#include <AudioGroupProject.hpp>

+
+Collaboration diagram for amuse::SongGroupIndex::PageEntry:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Attributes

+ObjectId objId
 
+uint8_t priority
 
+uint8_t maxVoices
 
+uint8_t programNo
 
+uint8_t pad
 
+

Detailed Description

+

Maps GM program numbers to sound entities

+ +

Definition at line 25 of file AudioGroupProject.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_song_group_index_1_1_page_entry.js b/structamuse_1_1_song_group_index_1_1_page_entry.js new file mode 100644 index 0000000..c90188c --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_page_entry.js @@ -0,0 +1,8 @@ +var structamuse_1_1_song_group_index_1_1_page_entry = +[ + [ "maxVoices", "structamuse_1_1_song_group_index_1_1_page_entry.html#a3e62574abb7fb32753721bdf962b3aca", null ], + [ "objId", "structamuse_1_1_song_group_index_1_1_page_entry.html#a48578d0d504f7a512253658184c7858d", null ], + [ "pad", "structamuse_1_1_song_group_index_1_1_page_entry.html#ae4526e0948a5226766b6fe59b23e6255", null ], + [ "priority", "structamuse_1_1_song_group_index_1_1_page_entry.html#a753e791927fe681ae738e14c9efa6c88", null ], + [ "programNo", "structamuse_1_1_song_group_index_1_1_page_entry.html#a98aeaa4d481760ee33a5a14c01890384", null ] +]; \ No newline at end of file diff --git a/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.map b/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.map new file mode 100644 index 0000000..0d3a9c8 --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.md5 b/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.md5 new file mode 100644 index 0000000..91aa244 --- /dev/null +++ b/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.md5 @@ -0,0 +1 @@ +d596658eb251b4378a6ea9372c427144 \ No newline at end of file diff --git a/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.png b/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.png new file mode 100644 index 0000000..ab6ee70 Binary files /dev/null and b/structamuse_1_1_song_group_index_1_1_page_entry__coll__graph.png differ diff --git a/structamuse_1_1_song_group_index__coll__graph.map b/structamuse_1_1_song_group_index__coll__graph.map new file mode 100644 index 0000000..11db708 --- /dev/null +++ b/structamuse_1_1_song_group_index__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/structamuse_1_1_song_group_index__coll__graph.md5 b/structamuse_1_1_song_group_index__coll__graph.md5 new file mode 100644 index 0000000..33bbdcb --- /dev/null +++ b/structamuse_1_1_song_group_index__coll__graph.md5 @@ -0,0 +1 @@ +6a319bbe6cbba84a5b65af6da6ee647c \ No newline at end of file diff --git a/structamuse_1_1_song_group_index__coll__graph.png b/structamuse_1_1_song_group_index__coll__graph.png new file mode 100644 index 0000000..d72090f Binary files /dev/null and b/structamuse_1_1_song_group_index__coll__graph.png differ diff --git a/structamuse_1_1_song_group_index__inherit__graph.map b/structamuse_1_1_song_group_index__inherit__graph.map new file mode 100644 index 0000000..11db708 --- /dev/null +++ b/structamuse_1_1_song_group_index__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/structamuse_1_1_song_group_index__inherit__graph.md5 b/structamuse_1_1_song_group_index__inherit__graph.md5 new file mode 100644 index 0000000..33bbdcb --- /dev/null +++ b/structamuse_1_1_song_group_index__inherit__graph.md5 @@ -0,0 +1 @@ +6a319bbe6cbba84a5b65af6da6ee647c \ No newline at end of file diff --git a/structamuse_1_1_song_group_index__inherit__graph.png b/structamuse_1_1_song_group_index__inherit__graph.png new file mode 100644 index 0000000..d72090f Binary files /dev/null and b/structamuse_1_1_song_group_index__inherit__graph.png differ diff --git a/structamuse_1_1_song_state_1_1_channel_1_1_header-members.html b/structamuse_1_1_song_state_1_1_channel_1_1_header-members.html new file mode 100644 index 0000000..19a7ea6 --- /dev/null +++ b/structamuse_1_1_song_state_1_1_channel_1_1_header-members.html @@ -0,0 +1,129 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SongState::Channel::Header Member List
+
+ +
+ + + + diff --git a/structamuse_1_1_song_state_1_1_channel_1_1_header.html b/structamuse_1_1_song_state_1_1_channel_1_1_header.html new file mode 100644 index 0000000..6a3a7aa --- /dev/null +++ b/structamuse_1_1_song_state_1_1_channel_1_1_header.html @@ -0,0 +1,159 @@ + + + + + + +Amuse: amuse::SongState::Channel::Header Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SongState::Channel::Header Struct Reference
+
+
+
+Collaboration diagram for amuse::SongState::Channel::Header:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Member Functions

+void swapBig ()
 
+ + + + + + + +

+Public Attributes

+uint32_t m_type
 
+uint32_t m_pitchOff
 
+uint32_t m_modOff
 
+

Detailed Description

+
+

Definition at line 65 of file SongState.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.map b/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.map new file mode 100644 index 0000000..03010a8 --- /dev/null +++ b/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.md5 b/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.md5 new file mode 100644 index 0000000..2a1ced9 --- /dev/null +++ b/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.md5 @@ -0,0 +1 @@ +56a4de28be98a427f3ba3f3a37f959a3 \ No newline at end of file diff --git a/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.png b/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.png new file mode 100644 index 0000000..eb10932 Binary files /dev/null and b/structamuse_1_1_song_state_1_1_channel_1_1_header__coll__graph.png differ diff --git a/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component-members.html b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component-members.html new file mode 100644 index 0000000..b9f2046 --- /dev/null +++ b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component-members.html @@ -0,0 +1,130 @@ + + + + + + +Amuse: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
amuse::SoundMacroState::Evaluator::Component Member List
+
+ +
+ + + + diff --git a/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component.html b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component.html new file mode 100644 index 0000000..b65ff75 --- /dev/null +++ b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component.html @@ -0,0 +1,165 @@ + + + + + + +Amuse: amuse::SoundMacroState::Evaluator::Component Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Amuse +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
amuse::SoundMacroState::Evaluator::Component Struct Reference
+
+
+ +

#include <SoundMacroState.hpp>

+
+Collaboration diagram for amuse::SoundMacroState::Evaluator::Component:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Member Functions

Component (uint8_t midiCtrl, float scale, Combine combine, VarType varType)
 
+ + + + + + + + + +

+Public Attributes

+uint8_t m_midiCtrl
 
+float m_scale
 
+Combine m_combine
 
+VarType m_varType
 
+

Detailed Description

+

Represents one term of the formula assembled via *_SELECT commands

+ +

Definition at line 168 of file SoundMacroState.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.map b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.map new file mode 100644 index 0000000..910d4b9 --- /dev/null +++ b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.md5 b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.md5 new file mode 100644 index 0000000..0ce7e07 --- /dev/null +++ b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.md5 @@ -0,0 +1 @@ +525c5e4221fb80946c4fc299a6455188 \ No newline at end of file diff --git a/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.png b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.png new file mode 100644 index 0000000..36daf3e Binary files /dev/null and b/structamuse_1_1_sound_macro_state_1_1_evaluator_1_1_component__coll__graph.png differ diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000..5c162c9 Binary files /dev/null and b/sync_off.png differ diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000..710481f Binary files /dev/null and b/sync_on.png differ diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000..6311d32 Binary files /dev/null and b/tab_a.png differ diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 0000000..5df2c72 Binary files /dev/null and b/tab_b.png differ diff --git a/tab_h.png b/tab_h.png new file mode 100644 index 0000000..a05f78b Binary files /dev/null and b/tab_h.png differ diff --git a/tab_s.png b/tab_s.png new file mode 100644 index 0000000..fd9c18d Binary files /dev/null and b/tab_s.png differ diff --git a/tabs.css b/tabs.css new file mode 100644 index 0000000..a512128 --- /dev/null +++ b/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #313744; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +}