AudioWidgets is a library providing specialized widgets for audio applications. It is Swing based and written in the Scala programming language. (C)opyright 2011–2017 by Hanns Holger Rutz. All rights reserved. It is released under the GNU Lesser General Public License v2.1+ and comes with absolutely no warranties. To contact the author, send an email to contact at sciss.de
.
The included font "Familida Mono" is based on a font by darunio123456789 and released under a Creative Commons CC BY-SA 3.0 license.
AudioWidgets currently compiles against Scala 2.12, 2.11, 2.10 using sbt 0.13. There are three sub projects: core
, swing
and app
, where swing
depends on core
and app
depends on swing
.
- The
core
project provides widgets based on plain Java Swing swing
wraps them for usage within Scala-Swing. Therefore,swing
adds a further dependency onscala-swing
.app
adds time based components for use in desktop applications. It also depends on thedesktop
library.
To use the library in your project:
"de.sciss" %% "audiowidgets-core" % v
"de.sciss" %% "audiowidgets-swing" % v
"de.sciss" %% "audiowidgets-app" % v
The current version v
is "1.10.2"
.
To view a demo of the widgets from the sbt console:
> project audiowidgets-core
> test:run
> project audiowidgets-swing
> test:run
> project audiowidgets-app
> test:run
The following components are available:
Axis
-- A general horizontal or vertical axis componentLCDPanel
-- A JPanel with bevel border and glossy background colorPeakMeter
-- A dual peak and RMS meter suitable for audio signalsTransport
-- A tool bar for transport controlsWavePainter
-- A painter class for waveforms, along with sub types for multi resolution displayDualRangeSlider
-- A QuickTime Player style slider combining single value and a range thumbRotaryKnob
-- A single value slider styled as a rotary knob
The API docs are currently the only source of documentation (sbt doc
).