Skip to content
This repository was archived by the owner on Aug 23, 2023. It is now read-only.

Commit 034cbd9

Browse files
Merge pull request #12 from adct-the-experimenter/audio_decode_change
Audio decode change
2 parents d14a940 + 5846822 commit 034cbd9

13 files changed

+22181
-307
lines changed

CMakeLists.txt

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ find_library(pugixml_LIBRARIES NAMES pugixml)
2727

2828
#For the shared library:
2929

30-
set ( PROJECT_LINK_LIBS raylib openal sndfile ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${pugixml_LIBRARIES})
30+
set ( PROJECT_LINK_LIBS raylib openal ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${pugixml_LIBRARIES})
3131
#where to find library files .so
3232
link_directories( /usr/lib /usr/local/lib )
3333

@@ -57,31 +57,14 @@ set(SOURCES src/main.cpp
5757
src/reverb-zone.cpp
5858
src/effect-zone.cpp
5959
src/effects-manager.cpp
60-
#src/soundproducer-track-manager.cpp
61-
#src/soundproducer-track.cpp
62-
#src/listener-track.cpp
6360
src/soundproducer-registry.cpp
6461
src/immediate_mode_sound_player.cpp src/sound_bank.cpp
6562
src/CreateSoundProducerDialog.cpp src/EditMultipleSoundProducersDialog.cpp
6663
src/Change-HRTF-Dialog.cpp src/HRTF-Test-Dialog.cpp
6764
src/EditListenerDialog.cpp
68-
#src/setup-serial-dialog.cpp
69-
#src/listener-external.cpp
65+
7066
src/openalsoftaudioengine.cpp src/soundproducer.cpp src/listener.cpp
71-
#src/external-orientation-device-serial.cpp
72-
73-
#src/timeline-track-editor/src/timeline-frame.cpp
74-
#src/timeline-track-editor/src/timeline-window.cpp
75-
#src/timeline-track-editor/src/playback-controls.cpp
76-
#src/timeline-track-editor/src/stereo-audio-track.cpp
77-
#src/timeline-track-editor/src/mono-audio-track.cpp
78-
#src/timeline-track-editor/src/audio-track.cpp
79-
#src/timeline-track-editor/src/audio-graph.cpp
80-
src/timeline-track-editor/src/audio-stream-container.cpp
81-
src/timeline-track-editor/src/openalsoft-player.cpp
82-
#src/timeline-track-editor/src/double-track.cpp
83-
#src/timeline-track-editor/src/editor-graph.cpp
84-
#src/timeline-track-editor/src/track.cpp
67+
src/backends/openalsoft-player-drwav.cpp
8568
)
8669

8770
#get_cmake_property(_variableNames VARIABLES)

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ Features from binaural-audio-editor will be ported to 3d audio producer.
1717

1818
- raylib 4.2
1919

20-
- libsndfile http://www.mega-nerd.com/libsndfile/
21-
2220
- Boost Math Quaternion headers and Boost ASIO serial https://www.boost.org/users/history/version_1_70_0.html
2321

2422
- PugiXML https://github.com/zeux/pugixml/
@@ -164,6 +162,11 @@ archive(.e.g .zip, .gz, etc.)
164162
### Saving a project
165163
1. Click on 'Save Project' button.
166164

165+
## Important Details to Know
166+
- 3D Audio Producer works with a copy of the audio data for audio files that are uploaded to sound bank.
167+
The sound format that his copy of audio data uses is a signed 32-bit integer format.
168+
This is done to prevent corruption of audio files.
169+
167170
## Feedback
168171

169172
Please email questions or comments to this email address bringerofawesomefood @ gmail . com without spaces.

docs/overview-of-systems.md

Lines changed: 15 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,29 @@
1-
# Overview of Systems in Binaural Audio Editor
1+
# Overview of Systems in 3D Audio Producer
22

3-
These are the main three systems that binaural audio editor interfaces with.
3+
These are the main three systems that 3D Audio Producer interfaces with.
44
- Main Graphical User Interface, GUI
5-
- OpenAL Soft Audio Engine
6-
- Timeline Track Editor
5+
- Sound Bank
6+
- Immediate Mode Sound Player
7+
- OpenALSoftAudioEngine
78

89
## Main Graphical User Interface, GUI
9-
This is what puts together everything seen in binaural audio editor.
10+
This is what puts together everything seen in 3D Audio Producer.
1011

1112

1213
### Files to look at:
13-
- `osgViewerWX.h`
14-
- `osgViewerWX.cpp`
15-
- `SoundProducerTrackManager.h`
16-
- `SoundProducerTrackManager.cpp`
1714
- Files with Dialog in the filename in include and src folder.
15+
- `main_gui_editor.h`
16+
- `main_gui_editor.cpp`
1817

19-
#### In`osgViewerWX.cpp` and `osgViewerWX.h`
18+
## Sound Bank
19+
Performs audio decoding and stores audio data into files
2020

21-
**OsgCanvas** is a class to show the OpenSceneGraph window and 3D objects.
21+
## Immediate Mode Sound Player
22+
Manages audio playback.
2223

23-
**GraphicsWindowWX** is a class that contains OsgCanvas and contains the rendering output in a window.
24-
25-
**MainFrame** is the window that contains the menu bar above and its items, contains the timeline editor, and opens dialogs/windows when a menu item is clicked on.
26-
27-
Since it is the main part that user interacts with, MainFrame also contains important classes such as TimelineFrame, reference to OpenALSoftAudioEngine, reference to Listener, SoundProducerTrackManager, vector of SoundProducerTrack, ListenerTrack.
28-
29-
**wxOsgApp** is the main of the wxWidgets appplication, much like the main of a basic C++ program. It contains MainFrame and initializes it.
30-
31-
#### In`SoundProducerTrackManager.cpp` and `SoundProducerTrackManager.h`
32-
33-
**SoundProducerTrackManager** is a class that handles multiple sound producer tracks, buffers the audio, and plays the audio of sound producer tracks in sync.
24+
### Files to look at:
25+
- `immediate_mode_sound_player.h`
26+
- `immediate_mode_sound_player.cpp`
3427

3528
## OpenALSoftAudioEngine
3629
This is a class to abstract 3D audio operations involving OpenAL Soft.
@@ -41,28 +34,3 @@ It is mostly just used to initialize the OpenAL system and query and test HRTF s
4134
- `openalsoftaudioengine.h`
4235
- `openalsoftaudioengine.cpp`
4336

44-
## Timeline Track Editor
45-
This is a very big important module that is used by binaural audio editor.
46-
47-
It is imported from Timeline Track Editor github https://github.com/adct-the-experimenter/timeline-track-editor.
48-
49-
This module is contained in its own folder in src/timeline-track-editor.
50-
51-
The timeline track editor module contains many important classes such as Track, DoubleTrack, StereoAudioTrack, and TimelineFrame. This is the module to edit to improve the tracks and timeline and see how audio gets buffered.
52-
53-
**Without the Timeline Track Editor module, there would not be a listener track, soundproducer track, or even a timeline for playing audio!**
54-
55-
The reasons this is developed into its own separate project:
56-
- It is very big.
57-
- It is functional apart from binaural audio editor.
58-
- It is much easier and cleaner to edit it as its own project rather than inside binaural audio editor.
59-
60-
### Files to look at
61-
- `src/timeline-track-editor/include/timeline-frame.h`
62-
- `src/timeline-track-editor/src/timeline-frame.cpp`
63-
- `src/timeline-track-editor/include/openalsoft-player.h`
64-
- `src/timeline-track-editor/src/openalsoft-player.cpp`
65-
- `src/timeline-track-editor/include/double-track.h`
66-
- `src/timeline-track-editor/src/double-track.cpp`
67-
- `src/timeline-track-editor/include/stereo-audio-track.h`
68-
- `src/timeline-track-editor/src/stereo-audio-track.cpp`

0 commit comments

Comments
 (0)