Skip to content

Commit 2105c53

Browse files
committed
Changelog
1 parent a5c3d86 commit 2105c53

File tree

1 file changed

+92
-4
lines changed

1 file changed

+92
-4
lines changed

CHANGELOG.md

Lines changed: 92 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ All notable changes to the 3DTuneIn Toolkit will be documented in this file.
33

44
The format is based on [Keep a Changelog](http://keepachangelog.com/).
55

6-
## [Unreleased]
6+
## [M20221028] Audio Toolkit v2.0 M20221028
77

88
### Binaural
99
`Added`
@@ -18,20 +18,108 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/).
1818
* float GetEffectiveEarElevation(Common::T_ear ear) const;
1919
* const Common::CTransform & GetCurrentSourceTransform() const;
2020
* const Common::CTransform & GetEffectiveSourceTransform() const;
21+
- feat: Makes a waveguide reset when a SingleSourceDSP buffers are reseted.
22+
* void CWaveguide::Reset()
23+
`Changed`
24+
- Convolutional reverb can now skip a number of initial frames for future hybrid reverb (ISM+Convolution)
25+
* old: void CEnvironment::ProcessVirtualAmbisonicReverbAdimensional(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight);
26+
* void CEnvironment::ProcessVirtualAmbisonicReverbBidimensional(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight);
27+
* void CEnvironment::ProcessVirtualAmbisonicReverbThreedimensional(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight);
28+
* void CEnvironment::ProcessVirtualAmbisonicReverb(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight);
29+
* void CEnvironment::ProcessVirtualAmbisonicReverb(CStereoBuffer<float> & outBuffer)
30+
* new: void CEnvironment::ProcessVirtualAmbisonicReverbAdimensional(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight, int numberOfSilencedFrames)
31+
* void CEnvironment::ProcessVirtualAmbisonicReverbBidimensional(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight, int numberOfSilencedFrames)
32+
* void CEnvironment::ProcessVirtualAmbisonicReverbThreedimensional(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight, int numberOfSilencedFrames)
33+
* void CEnvironment::ProcessVirtualAmbisonicReverb(CMonoBuffer<float> & outBufferLeft, CMonoBuffer<float> & outBufferRight, int numberOfSilencedFrames)
34+
* void CEnvironment::ProcessVirtualAmbisonicReverb(CStereoBuffer<float> & outBuffer, int numberOfSilencedFrames)
35+
- Now smoothing in attenuation by distance can be disabled or enabled (enabled by default)
2136
`Removed`
2237
- Public methods removed from CSingleSourceDSP:
2338
* void ProcessAnechoic(const CMonoBuffer<float> & inBuffer, CMonoBuffer<float> &outLeftBuffer, CMonoBuffer<float> &outRightBuffer);
2439
* void ProcessAnechoic(const CMonoBuffer<float> & inBuffer, CStereoBuffer<float> & outBuffer);
2540
* float GetEarAzimuth( Common::T_ear ear ) const;
2641
* const Common::CTransform & GetSourceTransform() const;
42+
43+
### ISM
44+
`Added`
45+
- New classes added to simulate Image Source Method.
46+
* class ISM //interface to access all the features of the ISM simulator
47+
* CISM(Binaural::CCore* _ownerCore);
48+
* void SetupShoeBoxRoom(float length, float width, float height);
49+
* void setupArbitraryRoom(RoomGeometry roomGeometry);
50+
* void setAbsortion(std::vector<float> _absortionPerWall);
51+
* void setAbsortion(std::vector<std::vector<float>> _absortionPerBandPerWall);
52+
* Room getRoom();
53+
* void enableWall(int wallIndex);
54+
* void disableWall(int wallIndex);
55+
* void setReflectionOrder(int reflectionOrder);
56+
* int getReflectionOrder();
57+
* void setMaxDistanceImageSources(float maxDistanceSourcesToListener);
58+
* float getMaxDistanceImageSources();
59+
* int calculateNumOfSilencedFrames (float maxDistanceSourcesToListener);
60+
* void setSourceLocation(Common::CVector3 location);
61+
* Common::CVector3 getSourceLocation();
62+
* std::vector<Common::CVector3> getImageSourceLocations();
63+
* std::vector<ISM::ImageSourceData> getImageSourceData();
64+
* void proccess(CMonoBuffer<float> inBuffer, std::vector<CMonoBuffer<float>> &imageBuffers, Common::CVector3 listenerLocation);
65+
* class Room
66+
* void setupShoeBox(float length, float width, float height);
67+
* void setupRoomGeometry(RoomGeometry roomGeometry);
68+
* void insertWall(Wall newWall);
69+
* void enableWall(int wallIndex);
70+
* void disableWall(int wallIndex);
71+
* void setWallAbsortion(int wallIndex, float absortion);
72+
* void setWallAbsortion(int wallIndex, std::vector<float> absortionPerBand);
73+
* std::vector<Wall> getWalls();
74+
* std::vector<Room> getImageRooms();
75+
* bool checkPointInsideRoom(Common::CVector3 point, float &distanceNearestWall);
76+
* Common::CVector3 getCenter();
77+
* class SourceImages
78+
* SourceImages(ISM::CISM* _ownerISM);
79+
* void setLocation(Common::CVector3 _location);
80+
* Common::CVector3 getLocation();
81+
* std::vector<weak_ptr <SourceImages>> getImages();
82+
* void getImageLocations(std::vector<Common::CVector3> &imageSourceList);
83+
* void getImageData(std::vector<ImageSourceData> &imageSourceDataList);
84+
* Wall getReflectionWall();
85+
* void createImages(Room _room, int reflectionOrder);
86+
* void updateImages ();
87+
* void processAbsortion(CMonoBuffer<float> inBuffer, std::vector<CMonoBuffer<float>> &imageBuffers, Common::CVector3 listenerLocation);
88+
* class Wall
89+
* Wall();
90+
* int insertCorner(float x, float y, float z);
91+
* int insertCorner(Common::CVector3 _corner);
92+
* std::vector<Common::CVector3> getCorners();
93+
* void setAbsortion(float _absortion);
94+
* void setAbsortion(std::vector<float> _absortionPerBand);
95+
* std::vector<float> getAbsortionB();
96+
* Common::CVector3 getNormal();
97+
* Common::CVector3 getCenter();
98+
* float getDistanceFromPoint(Common::CVector3 point);
99+
* float getMinimumDistanceFromWall(ISM::Wall wall);
100+
* Common::CVector3 getImagePoint(Common::CVector3 point);
101+
* Wall getImageWall(Wall _wall);
102+
* Common::CVector3 getPointProjection(float x, float y, float z);
103+
* Common::CVector3 getPointProjection(Common::CVector3 point);
104+
* Common::CVector3 getIntersectionPointWithLine(Common::CVector3 point1, Common::CVector3 point2);
105+
* int checkPointInsideWall(Common::CVector3 point, float &distanceNearestEdge, float &sharpness);
106+
* float calculateDistanceNearestEdge(Common::CVector3 point);
107+
* float distancePointToLine(Common::CVector3 point, Common::CVector3 pointLine1, Common::CVector3 pointLine2);
108+
* void enable() { active = true; }
109+
* void disable() { active = false; }
110+
* bool isActive() { return active; }
27111

28-
`Changed`
29-
-
30112

31113
### Common
114+
`Fixed`
115+
- Bug fixed in the computation of cross product in CVector3 CVector3::CrossProduct(CVector3 _rightHand).
32116
`Added`
33117
- New class in CWaveguide. It provides a waveguide simulation, to simulate the distance and doppler effect betwenn a source and the listener
34-
118+
`Changed`
119+
- Convolution can now skip a number of initial frames for future hybrid reverb (ISM+Convolution)
120+
* old: void CUPCEnvironment::ProcessUPConvolution_withoutIFFT(const CMonoBuffer<float>& inBuffer_Time, const TImpulseResponse_Partitioned & IR, CMonoBuffer<float>& outBuffer)
121+
* new: void CUPCEnvironment::ProcessUPConvolution_withoutIFFT(const CMonoBuffer<float>& inBuffer_Time, const TImpulseResponse_Partitioned & IR, CMonoBuffer<float>& outBuffer, int numberOfSilencedFrames)
122+
35123

36124
## [M20190724] - AudioToolkit_v1.4 M20190724
37125

0 commit comments

Comments
 (0)