path: root/plugins/eg-scope.lv2/README.txt
diff options
authorDavid Robillard <d@drobilla.net>2014-08-06 01:26:06 +0000
committerDavid Robillard <d@drobilla.net>2014-08-06 01:26:06 +0000
commit74d7751c37d2c991d244c1c23e1a4cd24451ac41 (patch)
treeaf301c27cbf585ae71f95e9e14e2380f062e6739 /plugins/eg-scope.lv2/README.txt
parentf181b31c11d6a9317695c68c6cce30319e7e2faa (diff)
Order book chapters in build script rather than by bundle name.
Diffstat (limited to 'plugins/eg-scope.lv2/README.txt')
1 files changed, 32 insertions, 0 deletions
diff --git a/plugins/eg-scope.lv2/README.txt b/plugins/eg-scope.lv2/README.txt
new file mode 100644
index 0000000..122794c
--- /dev/null
+++ b/plugins/eg-scope.lv2/README.txt
@@ -0,0 +1,32 @@
+== Simple Oscilloscope ==
+This plugin displays the waveform of an incoming audio signal using a simple
+GTK+Cairo GUI.
+This plugin illustrates:
+- UI <==> Plugin communication via http://lv2plug.in/ns/ext/atom/[LV2 Atom] events
+- Atom vector usage and resize-port extension
+- Save/Restore UI state by communicating state to backend
+- Saving simple key/value state via the http://lv2plug.in/ns/ext/state/[LV2 State] extension
+- Cairo drawing and partial exposure
+This plugin intends to outline the basics for building visualization plugins
+that rely on atom communication. The UI looks like an oscilloscope, but is not
+a real oscilloscope implementation:
+- There is no display synchronisation, results will depend on LV2 host.
+- It displays raw audio samples, which a proper scope must not do.
+- The display itself just connects min/max line segments.
+- No triggering or synchronization.
+- No labels, no scale, no calibration, no markers, no numeric readout, etc.
+Addressing these issues is beyond the scope of this example.
+Please see http://lac.linuxaudio.org/2013/papers/36.pdf for scope design,
+https://wiki.xiph.org/Videos/Digital_Show_and_Tell for background information,
+and http://lists.lv2plug.in/pipermail/devel-lv2plug.in/2013-November/000545.html
+for general LV2 related conceptual criticism regarding real-time visualizations.
+A proper oscilloscope based on this example can be found at