Skip to content

merge main to docsprod #529

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 38 commits into from
Closed

merge main to docsprod #529

wants to merge 38 commits into from

Conversation

maciejmakowski2003
Copy link
Collaborator

Closes #

⚠️ Breaking changes ⚠️

Introduced changes

Checklist

  • Linked relevant issue
  • Updated relevant documentation
  • Added/Conducted relevant tests
  • Performed self-review of the code
  • Updated Web Audio API coverage
  • Added support for web

maciejmakowski2003 and others added 30 commits June 2, 2025 20:54
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
feat: add haptics support for iOS audio sessions
fix: remove explicit base class destructor calls in AudioRecorder subclasses
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
* feat: implemented pause on AudioBufferQueueSourceNode

* ci: yarn format

---------

Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
feat: position event in audio buffer
fix: refactor param processing
…n-absn

fix: additional conditions to if that handled looping
Co-authored-by: Maciej Makowski <120780663+maciejmakowski2003@users.noreply.github.com>
* refactor: refactored AudioFile example

* fix: fixed setting artwork

* fix: fixed ABQSN onPositionChange event type

---------

Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
* refactor: added AudioBufferBaseSourceNode class as a base for all sources playing AudioBuffers

* ci: yarn format

* fix: fixed range of bpm in drums

* refactor: aligned onended with web

* refactor: updated web onended event type

* chore: updated PR template

* refactor: further refactoring

* ci: yarn format

* refactor: further refactoring

* refactor: removed bufferId arg from enqueueBuffer

---------

Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
* Add support for external audio processors

Introduced ExternalAudioProcessor and ExternalAudioProcessorRegistry to enable modular, native-side buffer-level audio processing. This design allows developers to register or unregister custom DSP logic (e.g., 3rd party dsp libraries or custom dsp, volume reduction, etc) directly from a TurboModule, without modifying AudioNode internals or routing audio through the JS layer.  All processing occurs natively in C++ for optimal performance. This structure keeps the core engine untouched while offering flexible runtime control for external processors.

* Integrate external audio processor into AudioNode

Updated AudioNode::processAudio to optionally route raw buffer data to an external processor, if one is registered. This enables native buffer-level DSP (e.g., gating, eq, 3rd party DSP, things that may not be offer directly with react-native-audio-api) without modifying internal engine structures. The design supports full runtime control from TurboModules while preserving core stability.

All audio processing remains on the native side and bypasses JS execution for performance.

* Revert file to match upstream

* Cleanup: Removed incorrect utility and AudioNode edits

Removed externalCustomProcessor utility and reverted changes to AudioNode as suggested by the maintainer. Moving forward with implementing a proper Custom Node approach as recommended.

* Cleanup: Removed incorrect utility and AudioNode edits

Removed externalCustomProcessor utility and reverted changes to AudioNode as suggested by the maintainer. Moving forward with implementing a proper Custom Node approach as recommended.

* Feature: Add support for CustomProcessorNode

* Feature: Add support for CustomProcessorNode

* Feature: Add support for CustomProcessorNode

* Feature: Add support for CustomProcessorNode

* Feature: Add CustomProcessorNode; fix identifier, enum mode, and ProcessThrough memory
* fix: fixed lock screen skip commands for android above 12

* ci: yarn format

---------

Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
mdydek and others added 8 commits June 23, 2025 16:46
* fix: defining memory pressure in host object

* fix: cammel case
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
)

* feat: possibility of onended and positionChange events removal

* fix: misplacement of sending events
* feat: update to react native 0.80.0

* fix: use ResourceDrawableIdHelper as object

* refactor: use deprecated  property for backward compat

---------

Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
* fix: fixed ResourceDrawableIdHelper import

* chore: released 0.6.4

---------

Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
Co-authored-by: Maciej Makowski <maciej.makowski2608@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants