#include module Noatun { interface Equalizer : Arts::StereoEffect { attribute sequence levelCenters; attribute sequence levelWidths; attribute sequence levels; attribute long bands; attribute long enabled; attribute float preamp; void set(sequence levels, sequence centers, sequence widths); }; interface EqualizerSSE : Arts::StereoEffect { attribute sequence levelCenters; attribute sequence levelWidths; attribute sequence levels; attribute long bands; attribute long enabled; attribute float preamp; void set(sequence levels, sequence centers, sequence widths); }; interface FFTScope : Arts::StereoEffect { attribute float bandResolution; sequence scope(); }; interface FFTScopeStereo : Arts::StereoEffect { attribute float bandResolution; sequence scopeRight(); sequence scopeLeft(); }; interface RawScope : Arts::StereoEffect { attribute long buffer; sequence scope(); }; interface RawScopeStereo : Arts::StereoEffect { attribute long buffer; sequence scopeLeft(); sequence scopeRight(); }; interface StereoEffectStack : Arts::StereoEffect { long insertAfter(long after, Arts::StereoEffect effect, string name); void move(long after, long item); sequence effectList(); long insertTop(Arts::StereoEffect effect, string name); long insertBottom(Arts::StereoEffect effect, string name); void remove(long ID); }; interface StereoVolumeControl : Arts::StereoEffect { attribute float percent; }; interface StereoVolumeControlSSE : Arts::StereoEffect { attribute float percent; }; interface Listener { void message(); }; interface Session { attribute long pid; void addListener(Noatun::Listener listener); void removeListener(Noatun::Listener listener); }; };