Generate waveform images from audio files on iOS, macOS & visionOS in Swift. Native SwiftUI & UIKit views.
MIT License
Bot releases are hidden (Show)
Published by dmrschmidt 9 months ago
Fixes an issue w/ striped rendering always drawing the last stripe as a line instead of a proper bar.
Published by dmrschmidt 12 months ago
see #85
Published by dmrschmidt 12 months ago
Re-add ability to position waveform when using the image APIs.
Published by dmrschmidt 12 months ago
Published by dmrschmidt almost 1 year ago
Published by dmrschmidt about 1 year ago
WaveformAnalyzer
and WaveformImageDrawer
now return Result<[Float] | DSImage, Error>
when used with completionHandler for better error handlingWaveformAnalyzer
is now stateless and requires the URL in .samples(fromAudioAt:count:qos:)
instead of its constructorWaveformView
has a new constructor that provides optional access to the underlying WaveformShape
, which is now used for rendering, see #78
Published by dmrschmidt over 1 year ago
@available
annotation for macOS in WaveformLiveCanvas view by @TikhonP in https://github.com/dmrschmidt/DSWaveformImage/pull/73
Full Changelog: https://github.com/dmrschmidt/DSWaveformImage/compare/13.0.1...13.0.2
Published by dmrschmidt over 1 year ago
Published by dmrschmidt over 1 year ago
Any mentions of dampening
& similar were corrected to damping
etc in 11460b8b.
Most notably in Waveform.Configuration
.
See https://github.com/dmrschmidt/DSWaveformImage/issues/64.
Published by dmrschmidt over 1 year ago
Includes a fix for #58.
Published by dmrschmidt almost 2 years ago
WaveformRenderer
.CircularWaveformRenderer
has been added.position
was removed from Waveform.Configuration
, see 0447737.Waveform.Style
option have been added, see belowWaveforms can be rendered in 2 different ways and 5 different styles each.
By default LinearWaveformRenderer
is used, which draws a linear 2D amplitude envelope.
CircularWaveformRenderer
is available as an alternative, which can be passed in to the WaveformView
or WaveformLiveView
respectively. It draws a circular
2D amplitude envelope.
You can implement your own renderer by implementing WaveformRenderer
.
The following styles can be applied to either renderer:
Published by dmrschmidt almost 2 years ago
Full Changelog: https://github.com/dmrschmidt/DSWaveformImage/compare/11.0.0...11.0.1
Published by dmrschmidt about 2 years ago
Adds support for native macOS
Uses NSImage
on macOS now, so the lib (and SwiftUI views) can be used from within plain macOS apps.
To support this better, the library is split up into 2 parts now:
import DSWaveformImage // for core classes to generate `UIImage` / `NSImage` directly
import DSWaveformImageViews // if you want to use the native UIKit / SwiftUI views
Big shoutout to @jverkoey for his PR to add native macOS support!
Full Changelog: https://github.com/dmrschmidt/DSWaveformImage/compare/10.1.0...11.0.0
Published by dmrschmidt about 2 years ago
Adds native SwiftUI views for both static rendering and live rendering.
See WaveformView and WaveformLiveCanvas.
Full Changelog: https://github.com/dmrschmidt/DSWaveformImage/compare/10.0.1...10.1.0
Published by dmrschmidt over 2 years ago
10.0.0 changed the initial draw direction in the live view to always be right to left, even when there are still less samples than are needed to fill the entire view.
While this kind of is a minor change, it is still changing existing behavior, which may break somebody's expectations.