vadymmarkov / Beethoven

:guitar: A maestro of pitch detection.
https://github.com/vadymmarkov
Other
819 stars 146 forks source link

Pluggable signal tracker #46

Closed rorp closed 7 years ago

rorp commented 7 years ago

The rationale for this change is to make this awesome library more extendable and testable.

In current implementation there's now way to implement any kind of signal pre-processing or to make a pitch engine a part of a more complex audio graph.

Also, it's not that easy to write automated tests, because AVFoundation doesn't work in the simulator.

This simple change allows clients to provide their own implementation of SignalTracker protocol. But it doesn't change the overall behavior and semantics, and it's totally backwards compatible. It includes an implementation of a mock signal tracker, that can be used in various kinds of automated tests.

vadymmarkov commented 7 years ago

Looks awesome @rorp! Thanks.