Releases: dmrschmidt/DSWaveformImage
12.0.1
12.0.0
- The rendering pipeline was split out from the analysis. You can now create your own renderes by subclassing
WaveformRenderer
. - A new
CircularWaveformRenderer
has been added. position
was removed fromWaveform.Configuration
, see 0447737.- new
Waveform.Style
option have been added, see below
Waveforms 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:
- filled: Use solid color for the waveform.
- outlined: Draws the envelope as an outline with the provided thickness.
- gradient: Use gradient based on color for the waveform.
- gradientOutlined: Use gradient based on color for the waveform. Draws the envelope as an outline with the provided thickness.
- striped: Use striped filling based on color for the waveform.
11.0.1
- fixes striped style's 1st stripe only being drawn half (see #48 (comment))
Full Changelog: 11.0.0...11.0.1
11.0.0
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: 10.1.0...11.0.0
10.1.0
Adds native SwiftUI views for both static rendering and live rendering.
See WaveformView and WaveformLiveCanvas.
Full Changelog: 10.0.1...10.1.0
10.0.0
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.