home *** CD-ROM | disk | FTP | other *** search
- /*
-
- Copyright (C) 2000-2001 Stefan Westerfeld
- stefan@space.twc.de
- 2001-2003 Matthias Kretz
- kretz@kde.org
- 2002 Arnold Krille
- arnold@arnoldarts.de
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-
- */
-
- /*
- * DISCLAIMER: The interfaces in artsmodules.idl (and the derived .cc/.h files)
- * DO NOT GUARANTEE BINARY COMPATIBILITY YET.
- *
- * They are intended for developers. You shouldn't expect that applications in
- * binary form will be fully compatibile with further releases of these
- * interfaces.
- */
-
- #include <artsflow.idl>
- #include <artsmidi.idl>
- #include <artsgui.idl>
-
- #include <artsmodulescommon.idl>
- #include <artsmodulessynth.idl>
- #include <artsmoduleseffects.idl>
- #include <artsmodulesmixers.idl>
-
- module Arts {
-
- // EXPERIMENTAL ENVIRONMENT CODE:
- //
- //// moved to common
- //
- //module Environment {
- // interface Context;
- // interface Item;
- // interface Container;
- // interface InstrumentItem : Item;
- // interface InstrumentItemGuiFactory : Arts::GuiFactory;
- // interface StereoEffectItem : Item;
- // interface MixerChannel : Arts::StereoEffect;
- // interface MixerItem : Item;
- // interface EffectRackItem : Item;
- //};
-
- //// moved to mixers
- //
- //interface SimpleMixerChannel : Environment::MixerChannel;
- //interface MonoSimpleMixerChannel : Environment::MixerChannel;
- //interface Synth_AUX_BUS : SynthModule; {
-
- //// moved to common
- //
- //// creates: Environment::MixerItem, SimpleMixerChannel
- //interface MixerGuiFactory : GuiFactory;
- //// creates: Environment::EffectRackItem
- //interface EffectRackGuiFactory : GuiFactory;
-
- //// moved to mixers
- //
- //// creates: MonoSimpleMixerChannel
- //interface MonoSimpleMixerChannelGuiFactory : GuiFactory;
- //// creates: SimpleMixerChannel
- //interface SimpleMixerChannelGuiFactory : GuiFactory;
-
- //// moved to common
- //
- //interface MixerItemGui;
-
- //// moved to synth
- //
- //// EXPERIMENTAL MIDI
- //interface ObjectCache;
- //interface MidiReleaseHelper : SynthModule;
- //// END EXPERIMENTAL MIDI
-
- //// moved to synth
- //
- //interface Synth_CAPTURE_WAV : SynthModule;
- //interface Synth_COMPRESSOR : SynthModule;
-
- //// moved to effects
- //
- //interface Synth_STEREO_COMPRESSOR : StereoEffect;
- //interface StereoCompressorGuiFactory : GuiFactory;
-
- //// moved to synth
- //
- //interface Synth_NIL : SynthModule;
- //interface Synth_DEBUG : SynthModule;
- //interface Synth_DATA : SynthModule;
- //interface Synth_ATAN_SATURATE : SynthModule;
-
- //// moved to synth
- //
- //interface Synth_BRICKWALL_LIMITER : SynthModule;
- //interface Synth_AUTOPANNER : SynthModule;
- //interface Synth_DELAY : SynthModule;
- //interface Synth_CDELAY : SynthModule;
- //interface Synth_FM_SOURCE : SynthModule;
- //interface Synth_TREMOLO : SynthModule;
- //interface Synth_FX_CFLANGER : SynthModule;
- //interface Synth_NOISE : SynthModule;
- //interface Synth_WAVE_TRI : SynthModule;
- //interface Synth_WAVE_SQUARE : SynthModule;
- //interface Synth_WAVE_PULSE : SynthModule;
- //interface Synth_WAVE_SOFTSAW : SynthModule;
- //interface Synth_ENVELOPE_ADSR : SynthModule;
- //interface Synth_SHELVE_CUTOFF : SynthModule;
- //interface Synth_XFADE : SynthModule;
- //interface Synth_MIDI_TEST : SynthModule, MidiPort;
- //interface Synth_MIDI_DEBUG : SynthModule, MidiPort;
-
- //// moved to effects
- //
- //interface Synth_FREEVERB : StereoEffect;
- //interface FreeverbGuiFactory : GuiFactory;
-
- //// moved to synth
- //
- //interface Synth_STD_EQUALIZER : SynthModule;
- //interface Synth_RC : SynthModule;
- //interface Synth_MOOG_VCF : SynthModule;
- //interface Synth_PSCALE : SynthModule;
- //interface Synth_SEQUENCE : SynthModule;
- //interface Synth_PITCH_SHIFT : SynthModule;
- //interface Synth_PITCH_SHIFT_FFT : SynthModule;
-
- //// moved to effects
- //
- //interface Synth_STEREO_PITCH_SHIFT : StereoEffect;
- //interface Synth_STEREO_PITCH_SHIFT_FFT : StereoEffect;
- //interface Effect_WAVECAPTURE : StereoEffect;
-
- //// moved to effects
- //
- //interface Synth_STEREO_FIR_EQUALIZER : StereoEffect;
- //interface StereoFirEqualizerGuiFactory : GuiFactory;
-
- //interface Synth_PLAY_PAT : SynthModule;
-
- //// moved to synth
- //
- //enum SynthOscWaveForm;
- //interface Synth_OSC : SynthModule;
-
- //// moved to common
- //
- //interface EffectRackSlot;
- //interface EffectRackItemGui;
-
- //// moved to effects
- //
- //interface Synth_VOICE_REMOVAL : StereoEffect;
- //interface VoiceRemovalGuiFactory : GuiFactory;
-
- /*----------------------------------------------------------------------------
- * everything below this line is obsolete, but provided to help with porting
- * old structures
- */
- interface Interface_MIDI_NOTE : SynthModule {
- out audio stream frequency,velocity,pressed;
- };
-
- interface Synth_STRUCT_KILL : SynthModule {
- in audio stream ready;
- };
-
- };
-