• OctoMY API
  • OctoMY API Reference
  • C++ Classes
  • OctoMY
  • Bahn
  • Bahn Class

    The main widget of the Bahn music tracker: one song, four editor views and the audio player. More...

    Header: #include <Bahn>
    Inherits: QWidget

    Public Slots

    void toggleSoloCurrent()

    Detailed Description

    Bahn holds the current Song and a BahnPlayer, and switches between four editor views in the order a person works: the node graph, the patterns, the sequencer and the mixer. The toolbar has the view switch, transport, load and save, and toggles for audio, full screen and X-ray mode. Loading, clearing or closing a song with unsaved changes asks first, asynchronously, whether to save, discard or abort.

    BahnActivity creates the widget as its child and calls configure() once, before the widget is shown. configure() takes the Settings store: from the node's settings facility when hosted, from the standalone harness otherwise. A null store is allowed, and then nothing persists. BahnActivity stops playback through stop() when it is popped.

    See also BahnMain and BahnActivity.

    Member Function Documentation

    [slot] void Bahn::toggleSoloCurrent()

    Mute every node except the current one, and put it back on a second press.

    specs/bahn-live-feedback §BLD-2a and §BLD-2d.

    The restore set is explicit, and that is the whole subtlety

    Solo has to be undoable without destroying the mutes a person set by hand. Toggling solo off by simply clearing every mute would silently discard them, so the set that was muted BEFORE solo engaged is recorded and restored exactly.

    The current node is whichever view is showing, because Ctrl+L is registered for both the sequencer and the pattern editor and means the same thing in each.