All notable changes to this project will be documented in this file. Audiograph adheres to Semantic Versioning.
- When chart view loses accessibility focus playing audiograph is stopped.
- Added wrapper for interoperability with Objective-C.
- Changed
AudiographPlayable
toAudiographProvidable
for an object to declare that it can provide chart data. - Introduced
AudiographPlayingView
as a view that can provide Audiograph data. AudiographLocalizations
is a class now in order to interoperate with Objective-C.- Improved support for carthage
- Respecting
isLoggingEnabled
- Covered edge case where the input data does not contain enough distint y-coordinates and a steady line is played.
- Completion Utterance is now only read once, even though the autiograph was started multiple times.
- Setting diagnostics output to false by default.
- Now it's possible to pass in data that contains multiple elements at the same x-position (which translates into time).
- Refactored scaling timestamps in DataProcessor.
- Fixed potential heap overflow.
- Fixed a bug where completion block was not called on main queue every time.
- Introducing smoothing: the data is pre-processed to contain less spikes,
SmoothingOption
andsmoothing
were added to public API.
- Improved audio experience by using Double instead of Float32.
- Fixed a bug where the playback in .recommended duration only took the minimum amount of time possible.
- Not speaking completion phrase when
volumeCorrectionFactor
is set to 0.
- Introduction of
completionIndicationUtterance
to indicate verbally that Audiograph has finished. AudiographPlayable
andAudiographProvider
to make views and objects poviders of chart data.AudiographLocalizations
to gather all the strings that need to be provided by the application.Audiograph.createCustomAccessibilityAction(using: AudiographProvider)
andAudiograph.createCustomAccessibilityAction(for: AudiographPlayable)
to create anUIAccessibilityCustomAction
that can directly be used as trigger for Audiograph in the view.- Almost automatic setup of accessibility when using one of the mentioned function, even with playback cancellation when the view lost its focus.
- Calling
stop
also stops the completion-utterance.
- Change of public API in a non-breaking way:
- Completion-block can be passed by calling
start
- Added a
stop
function to stop playback immediately - Added
volumeCorrectionFactor
to give control over the final volume of the Audiograph. - Data preprocessing done on separate worker-queue.
- Completion-block can be passed by calling
- Made the sound stop when the application resigns active
- Connection to audio-engine at the latest possible moment to avoid pausing the users audio.
- Initial setup of project and documentation