sciss / wolkenpumpe

Contributors Wanted GNU Affero General Public License v3.0 GitHub

A GUI extension to SoundProcesses, creating a live improvisation instrument. Mirror of https://codeberg.org/sciss/Wolkenpumpe

Wolkenpumpe

Gitter Build Status Maven Central

statement

Wolkenpumpe is a live improvisation interface based on ScalaCollider / SoundProcesses / Prefuse. It is (C)opyright 2008–2022 by Hanns Holger Rutz. All rights reserved. Wolkenpumpe is released under the GNU Affero General Public License v3+ and comes with absolutely no warranties. To contact the author, send an e-mail to contact at sciss.de.

This is Wolkenpumpe 6th generation. Generation 5 was based on the old non-tracing Sound Processes version. Generation 4 was based on SuperCollider and SwingOSC, see sourceforge.net/projects/tintantmare. Generation 3 was solely based on SuperCollider. Generation 1 or 2 was based on Max/MSP.

Note that you can use this interface through Mellite.

Some notes on the Research Catalogue.

screenshot

building

Builds with sbt against Scala 2.13, 2.12, Dotty. The last version to support Scala 2.11 was 2.34.0.

linking

"de.sciss" %% "wolkenpumpe" % v

The current version v is "3.11.0.

contributing

Please see the file CONTRIBUTING.md for details.

mouse control

  • wheel zooms
  • right-click auto zooms
  • shift-press starts rubber-band selection
  • double-click on panel brings up generator dialog
  • double-click on edge brings up filter insertion dialog
  • double-click on scan-out brings up filter append dialog
  • double-click on node fixes/unfixes position
  • alt-click on node deletes node
  • shift-drag from scan-out brings up connector rubber-band
  • shift-drag on parameter allows to find target value before releasing mouse. While you are dragging, you can press 0 to 9 to select a gliding time (0 = default = no gliding). Pressing a number twice adds randomisation to the gliding time. A rotary knob in the bottom right corner indicates the current gliding time. When gliding is used and the mouse is released, the parameter approaches the target value with a ramp of a duration given by the gliding time. Press Escape to abort a shift-drag.

keyboard shortcuts

Global:

  • 1 zoom 100%
  • 2 zoom 200%
  • O pan to next collector (O is for output)
  • Control-Shift-F toggle full-screen
  • Escape cancel on-screen dialogs
  • Enter new-generator prompt. Start typing the name of generator, this also finds parts of hyphenated names.

Dialogs:

  • Control-Enter commit

Scan-out:

  • custom filter insertion short-cuts via object attribute with key Nuages.attrShortcut or "nuages-shortcut" and value being a string object such as "X" or "shift P".
  • Enter new-filter append prompt
  • Shift-Enter new-collector append prompt. Start typing the name of the filter, this also finds parts of hyphenated names.

Edge:

  • Enter new-filter insertion prompt

Parameter values:

  • n minimum
  • c center
  • x maximum. If parameter is amp or gain: type twice fast (prevents erroneous activation)
  • r random. If parameter is amp or gain: type twice fast (prevents erroneous activation)
  • R multi-channel random. If you used more than one generator channel, this opens up the multiple channels of the parameter. If parameter is amp or gain: type twice fast (prevents erroneous activation)
  • [ decrement
  • ] increment
  • { decrement random inter-channel spread. If you used more than one generator channel, this opens up the multiple channels of the parameter.
  • } increment random inter-channel spread
  • Enter opens dialog to enter numeric parameter value