Skip to content

Commit

Permalink
Audio: Add AudioWorkgroup support
Browse files Browse the repository at this point in the history
This allows real-time threads to join an audio workgroup on Apple platforms.
  • Loading branch information
chromadevlabs committed Aug 30, 2023
1 parent 2843983 commit 7d9cdd3
Show file tree
Hide file tree
Showing 60 changed files with 4,949 additions and 116 deletions.
14 changes: 10 additions & 4 deletions examples/DemoRunner/Builds/Android/app/CMakeLists.txt
Expand Up @@ -129,6 +129,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"
"../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"
"../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"
"../../../../../modules/juce_audio_basics/native/juce_AudioWorkgroup_mac.h"
"../../../../../modules/juce_audio_basics/native/juce_CoreAudioLayouts_mac.h"
"../../../../../modules/juce_audio_basics/native/juce_CoreAudioTimeConversions_mac.h"
"../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"
Expand All @@ -154,6 +155,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"
"../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h"
"../../../../../modules/juce_audio_basics/utilities/juce_ADSR_test.cpp"
"../../../../../modules/juce_audio_basics/utilities/juce_AudioWorkgroup.cpp"
"../../../../../modules/juce_audio_basics/utilities/juce_AudioWorkgroup.h"
"../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h"
"../../../../../modules/juce_audio_basics/utilities/juce_GenericInterpolator.h"
"../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp"
Expand Down Expand Up @@ -960,6 +963,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"
"../../../../../modules/juce_core/containers/juce_DynamicObject.h"
"../../../../../modules/juce_core/containers/juce_ElementComparator.h"
"../../../../../modules/juce_core/containers/juce_FixedSizeFunction.h"
"../../../../../modules/juce_core/containers/juce_FixedSizeFunction_test.cpp"
"../../../../../modules/juce_core/containers/juce_HashMap.h"
"../../../../../modules/juce_core/containers/juce_HashMap_test.cpp"
"../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"
Expand Down Expand Up @@ -1261,8 +1266,6 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_data_structures/juce_data_structures.h"
"../../../../../modules/juce_dsp/containers/juce_AudioBlock.h"
"../../../../../modules/juce_dsp/containers/juce_AudioBlock_test.cpp"
"../../../../../modules/juce_dsp/containers/juce_FixedSizeFunction.h"
"../../../../../modules/juce_dsp/containers/juce_FixedSizeFunction_test.cpp"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp"
Expand Down Expand Up @@ -2189,6 +2192,7 @@ set_source_files_properties(
"../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"
"../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"
"../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"
"../../../../../modules/juce_audio_basics/native/juce_AudioWorkgroup_mac.h"
"../../../../../modules/juce_audio_basics/native/juce_CoreAudioLayouts_mac.h"
"../../../../../modules/juce_audio_basics/native/juce_CoreAudioTimeConversions_mac.h"
"../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"
Expand All @@ -2214,6 +2218,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"
"../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h"
"../../../../../modules/juce_audio_basics/utilities/juce_ADSR_test.cpp"
"../../../../../modules/juce_audio_basics/utilities/juce_AudioWorkgroup.cpp"
"../../../../../modules/juce_audio_basics/utilities/juce_AudioWorkgroup.h"
"../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h"
"../../../../../modules/juce_audio_basics/utilities/juce_GenericInterpolator.h"
"../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp"
Expand Down Expand Up @@ -3020,6 +3026,8 @@ set_source_files_properties(
"../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"
"../../../../../modules/juce_core/containers/juce_DynamicObject.h"
"../../../../../modules/juce_core/containers/juce_ElementComparator.h"
"../../../../../modules/juce_core/containers/juce_FixedSizeFunction.h"
"../../../../../modules/juce_core/containers/juce_FixedSizeFunction_test.cpp"
"../../../../../modules/juce_core/containers/juce_HashMap.h"
"../../../../../modules/juce_core/containers/juce_HashMap_test.cpp"
"../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"
Expand Down Expand Up @@ -3321,8 +3329,6 @@ set_source_files_properties(
"../../../../../modules/juce_data_structures/juce_data_structures.h"
"../../../../../modules/juce_dsp/containers/juce_AudioBlock.h"
"../../../../../modules/juce_dsp/containers/juce_AudioBlock_test.cpp"
"../../../../../modules/juce_dsp/containers/juce_FixedSizeFunction.h"
"../../../../../modules/juce_dsp/containers/juce_FixedSizeFunction_test.cpp"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp"
Expand Down
Expand Up @@ -272,6 +272,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_ADSR_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_AudioWorkgroup.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_IIRFilter.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
Expand Down Expand Up @@ -1241,6 +1244,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_FixedSizeFunction_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_HashMap_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
Expand Down Expand Up @@ -1625,9 +1631,6 @@
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
Expand Down Expand Up @@ -2824,6 +2827,7 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEUtils.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_AudioWorkgroup_mac.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_CoreAudioLayouts_mac.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_CoreAudioTimeConversions_mac.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>
Expand All @@ -2838,6 +2842,7 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_ADSR.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_AudioWorkgroup.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_Decibels.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_GenericInterpolator.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_IIRFilter.h"/>
Expand Down Expand Up @@ -3292,6 +3297,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_ArrayBase.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_FixedSizeFunction.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>
Expand Down Expand Up @@ -3456,7 +3462,6 @@
<ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>
<ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister_Impl.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\filter_design\juce_FilterDesign.h"/>
Expand Down
Expand Up @@ -850,6 +850,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_ADSR_test.cpp">
<Filter>JUCE Modules\juce_audio_basics\utilities</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_AudioWorkgroup.cpp">
<Filter>JUCE Modules\juce_audio_basics\utilities</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_IIRFilter.cpp">
<Filter>JUCE Modules\juce_audio_basics\utilities</Filter>
</ClCompile>
Expand Down Expand Up @@ -1855,6 +1858,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">
<Filter>JUCE Modules\juce_core\containers</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_FixedSizeFunction_test.cpp">
<Filter>JUCE Modules\juce_core\containers</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_HashMap_test.cpp">
<Filter>JUCE Modules\juce_core\containers</Filter>
</ClCompile>
Expand Down Expand Up @@ -2263,9 +2269,6 @@
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock_test.cpp">
<Filter>JUCE Modules\juce_dsp\containers</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction_test.cpp">
<Filter>JUCE Modules\juce_dsp\containers</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister_test.cpp">
<Filter>JUCE Modules\juce_dsp\containers</Filter>
</ClCompile>
Expand Down Expand Up @@ -3687,6 +3690,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h">
<Filter>JUCE Modules\juce_audio_basics\mpe</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_AudioWorkgroup_mac.h">
<Filter>JUCE Modules\juce_audio_basics\native</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_CoreAudioLayouts_mac.h">
<Filter>JUCE Modules\juce_audio_basics\native</Filter>
</ClInclude>
Expand Down Expand Up @@ -3729,6 +3735,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_ADSR.h">
<Filter>JUCE Modules\juce_audio_basics\utilities</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_AudioWorkgroup.h">
<Filter>JUCE Modules\juce_audio_basics\utilities</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_Decibels.h">
<Filter>JUCE Modules\juce_audio_basics\utilities</Filter>
</ClInclude>
Expand Down Expand Up @@ -5091,6 +5100,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h">
<Filter>JUCE Modules\juce_core\containers</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_FixedSizeFunction.h">
<Filter>JUCE Modules\juce_core\containers</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_HashMap.h">
<Filter>JUCE Modules\juce_core\containers</Filter>
</ClInclude>
Expand Down Expand Up @@ -5583,9 +5595,6 @@
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h">
<Filter>JUCE Modules\juce_dsp\containers</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h">
<Filter>JUCE Modules\juce_dsp\containers</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister.h">
<Filter>JUCE Modules\juce_dsp\containers</Filter>
</ClInclude>
Expand Down
Expand Up @@ -272,6 +272,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_ADSR_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_AudioWorkgroup.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_IIRFilter.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
Expand Down Expand Up @@ -1241,6 +1244,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_FixedSizeFunction_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_HashMap_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
Expand Down Expand Up @@ -1625,9 +1631,6 @@
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
Expand Down Expand Up @@ -2824,6 +2827,7 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEUtils.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_AudioWorkgroup_mac.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_CoreAudioLayouts_mac.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\native\juce_CoreAudioTimeConversions_mac.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>
Expand All @@ -2838,6 +2842,7 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_ADSR.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_AudioWorkgroup.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_Decibels.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_GenericInterpolator.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\utilities\juce_IIRFilter.h"/>
Expand Down Expand Up @@ -3292,6 +3297,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_ArrayBase.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_FixedSizeFunction.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>
Expand Down Expand Up @@ -3456,7 +3462,6 @@
<ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>
<ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_SIMDRegister_Impl.h"/>
<ClInclude Include="..\..\..\..\modules\juce_dsp\filter_design\juce_FilterDesign.h"/>
Expand Down

0 comments on commit 7d9cdd3

Please sign in to comment.