Exemple #1
0
 public AudioEffect(AudioContext context, AudioEffectType type)
     : base(context, Create(context))
 {
     using (Context.Bind())
         Context.AlEffecti(Id, AlEfxEnums.EffectType, (int)type);
     sourcesReadOnly = new ReadOnlyObservableCollection <AudioSource>(sources);
 }
Exemple #2
0
 public AudioBuffer(AudioContext context)
     : base(context, Create(context))
 {
     lock (context.buffers)
         context.buffers[Id] = new WeakReference <AudioBuffer>(this);
     sourcesReadOnly = new ReadOnlyObservableCollection <AudioSource>(sources);
 }
Exemple #3
0
 public AudioContextBinding(AudioContext context)
 {
     this.context = context;
     if (!context.MakeCurrent())
     {
         throw new Exception("Could not make the audio context current.");
     }
 }
Exemple #4
0
 internal AudioResource(AudioContext context, int alId)
 {
     if (context == null)
     {
         throw new ArgumentNullException("context");
     }
     this.context = context;
     this.id      = alId;
 }
Exemple #5
0
 protected override void DisposeBase()
 {
     if (object.ReferenceEquals(current, this))
     {
         Alc.MakeContextCurrent(ContextHandle.Zero);
     }
     current = null;
     Alc.DestroyContext(Handle);
     handle = ContextHandle.Zero;
 }
Exemple #6
0
 static int Create(AudioContext context)
 {
     unsafe
     {
         int output;
         using (context.Bind())
             context.AlGenFilters(1, &output);
         return(output);
     }
 }
Exemple #7
0
 static int Create(AudioContext context)
 {
     using (context.Bind())
     {
         int output;
         unsafe
         {
             context.AlGenEffects(1, &output);
             return(output);
         }
     }
 }
Exemple #8
0
        internal bool MakeCurrent()
        {
            if (Handle == null)
            {
                return(false);
            }
            if (object.ReferenceEquals(current, this))
            {
                return(true);
            }
            bool result = Alc.MakeContextCurrent(Handle);

            if (result)
            {
                current = this;
            }
            return(result);
        }
Exemple #9
0
 // TODO
 public Distortion(AudioContext context) : base(context, AudioEffectType.Distortion)
 {
 }
Exemple #10
0
 // TODO
 public Echo(AudioContext context) : base(context, AudioEffectType.Echo)
 {
 }
Exemple #11
0
 internal AudioListener(AudioContext context)
 {
     this.context = context;
 }
Exemple #12
0
 public AudioFilter(AudioContext context, AudioFilterType type) : base(context, Create(context))
 {
     using (context.Bind())
         context.AlFilteri(Id, AlEfxEnums.FilterType, (int)type);
 }
Exemple #13
0
 public HighPass(AudioContext context) : base(context, AudioFilterType.HighPass)
 {
 }
Exemple #14
0
 // TODO
 public RingModulator(AudioContext context) : base(context, AudioEffectType.RingModulator)
 {
 }
Exemple #15
0
 public Reverb(AudioContext context) : base(context, AudioEffectType.Reverb)
 {
 }
Exemple #16
0
 // TODO
 public PitchShifter(AudioContext context) : base(context, AudioEffectType.PitchShifter)
 {
 }
Exemple #17
0
 public Null(AudioContext context) : base(context, AudioEffectType.Null)
 {
 }
Exemple #18
0
 // TODO
 public FrequencyShifter(AudioContext context) : base(context, AudioEffectType.FrequencyShifter)
 {
 }
Exemple #19
0
 // TODO
 public Flanger(AudioContext context) : base(context, AudioEffectType.Flanger)
 {
 }
Exemple #20
0
 public Null(AudioContext context) : base(context, AudioFilterType.Null)
 {
 }
Exemple #21
0
 public LowPass(AudioContext context) : base(context, AudioFilterType.LowPass)
 {
 }
Exemple #22
0
 // TODO
 public VocalMorpher(AudioContext context) : base(context, AudioEffectType.VocalMorpher)
 {
 }
Exemple #23
0
 public BandPass(AudioContext context) : base(context, AudioFilterType.BandPass)
 {
 }
Exemple #24
0
 static int Create(AudioContext context)
 {
     using (context.Bind())
         return(AL.GenSource());
 }
Exemple #25
0
 // TODO
 public Compressor(AudioContext context) : base(context, AudioEffectType.Compressor)
 {
 }
Exemple #26
0
 static int Create(AudioContext context)
 {
     using (context.Bind())
         return(AL.GenBuffer());
 }
Exemple #27
0
 public AudioSource(AudioContext context)
     : base(context, Create(context))
 {
     buffersReadOnly = new ReadOnlyObservableCollection <AudioBuffer>(buffers);
 }
Exemple #28
0
 // TODO
 public Equalizer(AudioContext context) : base(context, AudioEffectType.Equalizer)
 {
 }
Exemple #29
0
 public AudioBuffer ReadToBuffer(AudioContext context)
 {
     return(ReadToBuffer(new AudioBuffer(context)));
 }
Exemple #30
0
 public Chorus(AudioContext context) : base(context, AudioEffectType.Chorus)
 {
 }