コード例 #1
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 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);
 }
コード例 #2
0
ファイル: AudioBuffer.cs プロジェクト: layshua/Alexandria
 public AudioBuffer(AudioContext context)
     : base(context, Create(context))
 {
     lock (context.buffers)
         context.buffers[Id] = new WeakReference <AudioBuffer>(this);
     sourcesReadOnly = new ReadOnlyObservableCollection <AudioSource>(sources);
 }
コード例 #3
0
ファイル: AudioContext.cs プロジェクト: layshua/Alexandria
 public AudioContextBinding(AudioContext context)
 {
     this.context = context;
     if (!context.MakeCurrent())
     {
         throw new Exception("Could not make the audio context current.");
     }
 }
コード例 #4
0
ファイル: AudioResource.cs プロジェクト: layshua/Alexandria
 internal AudioResource(AudioContext context, int alId)
 {
     if (context == null)
     {
         throw new ArgumentNullException("context");
     }
     this.context = context;
     this.id      = alId;
 }
コード例 #5
0
ファイル: AudioContext.cs プロジェクト: layshua/Alexandria
 protected override void DisposeBase()
 {
     if (object.ReferenceEquals(current, this))
     {
         Alc.MakeContextCurrent(ContextHandle.Zero);
     }
     current = null;
     Alc.DestroyContext(Handle);
     handle = ContextHandle.Zero;
 }
コード例 #6
0
ファイル: AudioFilter.cs プロジェクト: layshua/Alexandria
 static int Create(AudioContext context)
 {
     unsafe
     {
         int output;
         using (context.Bind())
             context.AlGenFilters(1, &output);
         return(output);
     }
 }
コード例 #7
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 static int Create(AudioContext context)
 {
     using (context.Bind())
     {
         int output;
         unsafe
         {
             context.AlGenEffects(1, &output);
             return(output);
         }
     }
 }
コード例 #8
0
ファイル: AudioContext.cs プロジェクト: layshua/Alexandria
        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);
        }
コード例 #9
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public Distortion(AudioContext context) : base(context, AudioEffectType.Distortion)
 {
 }
コード例 #10
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public Echo(AudioContext context) : base(context, AudioEffectType.Echo)
 {
 }
コード例 #11
0
ファイル: AudioListener.cs プロジェクト: layshua/Alexandria
 internal AudioListener(AudioContext context)
 {
     this.context = context;
 }
コード例 #12
0
ファイル: AudioFilter.cs プロジェクト: layshua/Alexandria
 public AudioFilter(AudioContext context, AudioFilterType type) : base(context, Create(context))
 {
     using (context.Bind())
         context.AlFilteri(Id, AlEfxEnums.FilterType, (int)type);
 }
コード例 #13
0
ファイル: AudioFilter.cs プロジェクト: layshua/Alexandria
 public HighPass(AudioContext context) : base(context, AudioFilterType.HighPass)
 {
 }
コード例 #14
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public RingModulator(AudioContext context) : base(context, AudioEffectType.RingModulator)
 {
 }
コード例 #15
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 public Reverb(AudioContext context) : base(context, AudioEffectType.Reverb)
 {
 }
コード例 #16
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public PitchShifter(AudioContext context) : base(context, AudioEffectType.PitchShifter)
 {
 }
コード例 #17
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 public Null(AudioContext context) : base(context, AudioEffectType.Null)
 {
 }
コード例 #18
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public FrequencyShifter(AudioContext context) : base(context, AudioEffectType.FrequencyShifter)
 {
 }
コード例 #19
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public Flanger(AudioContext context) : base(context, AudioEffectType.Flanger)
 {
 }
コード例 #20
0
ファイル: AudioFilter.cs プロジェクト: layshua/Alexandria
 public Null(AudioContext context) : base(context, AudioFilterType.Null)
 {
 }
コード例 #21
0
ファイル: AudioFilter.cs プロジェクト: layshua/Alexandria
 public LowPass(AudioContext context) : base(context, AudioFilterType.LowPass)
 {
 }
コード例 #22
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public VocalMorpher(AudioContext context) : base(context, AudioEffectType.VocalMorpher)
 {
 }
コード例 #23
0
ファイル: AudioFilter.cs プロジェクト: layshua/Alexandria
 public BandPass(AudioContext context) : base(context, AudioFilterType.BandPass)
 {
 }
コード例 #24
0
 static int Create(AudioContext context)
 {
     using (context.Bind())
         return(AL.GenSource());
 }
コード例 #25
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public Compressor(AudioContext context) : base(context, AudioEffectType.Compressor)
 {
 }
コード例 #26
0
ファイル: AudioBuffer.cs プロジェクト: layshua/Alexandria
 static int Create(AudioContext context)
 {
     using (context.Bind())
         return(AL.GenBuffer());
 }
コード例 #27
0
 public AudioSource(AudioContext context)
     : base(context, Create(context))
 {
     buffersReadOnly = new ReadOnlyObservableCollection <AudioBuffer>(buffers);
 }
コード例 #28
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 // TODO
 public Equalizer(AudioContext context) : base(context, AudioEffectType.Equalizer)
 {
 }
コード例 #29
0
 public AudioBuffer ReadToBuffer(AudioContext context)
 {
     return(ReadToBuffer(new AudioBuffer(context)));
 }
コード例 #30
0
ファイル: AudioEffect.cs プロジェクト: layshua/Alexandria
 public Chorus(AudioContext context) : base(context, AudioEffectType.Chorus)
 {
 }