コード例 #1
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public BlipBuffer(int sampleCount)
 {
     _context = BlipBufDll.blip_new(sampleCount);
     if (_context == IntPtr.Zero)
     {
         throw new Exception("blip_new returned NULL!");
     }
 }
コード例 #2
0
ファイル: BlipBuffer.cs プロジェクト: stuff2600/RAEmus
 public int ReadSamplesLeft(short[] output, int count)
 {
     if (output.Length < count * 2)
     {
         throw new ArgumentOutOfRangeException();
     }
     return(BlipBufDll.blip_read_samples(context, output, count, 1));
 }
コード例 #3
0
ファイル: BlipBuffer.cs プロジェクト: stuff2600/RAEmus
 public int ReadSamples(short[] output, int count, bool stereo)
 {
     if (output.Length < count * (stereo ? 2 : 1))
     {
         throw new ArgumentOutOfRangeException();
     }
     return(BlipBufDll.blip_read_samples(context, output, count, stereo ? 1 : 0));
 }
コード例 #4
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public void Dispose()
 {
     if (_context != IntPtr.Zero)
     {
         BlipBufDll.blip_delete(_context);
         _context = IntPtr.Zero;
         GC.SuppressFinalize(this);
     }
 }
コード例 #5
0
ファイル: BlipBuffer.cs プロジェクト: stuff2600/RAEmus
 public int ReadSamplesRight(short[] output, int count)
 {
     if (output.Length < count * 2)
     {
         throw new ArgumentOutOfRangeException();
     }
     unsafe
     {
         fixed(short *s = &output[1])
         return(BlipBufDll.blip_read_samples(context, new IntPtr(s), count, 1));
     }
 }
コード例 #6
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public int SamplesAvailable()
 {
     return(BlipBufDll.blip_samples_avail(_context));
 }
コード例 #7
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public void EndFrame(uint clockDuration)
 {
     BlipBufDll.blip_end_frame(_context, clockDuration);
 }
コード例 #8
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public int ClocksNeeded(int sampleCount)
 {
     return(BlipBufDll.blip_clocks_needed(_context, sampleCount));
 }
コード例 #9
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public void AddDeltaFast(uint clockTime, int delta)
 {
     BlipBufDll.blip_add_delta_fast(_context, clockTime, delta);
 }
コード例 #10
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public void Clear()
 {
     BlipBufDll.blip_clear(_context);
 }
コード例 #11
0
ファイル: BlipBuffer.cs プロジェクト: WolfpawGroup/RTC3
 public void SetRates(double clockRate, double sampleRate)
 {
     BlipBufDll.blip_set_rates(_context, clockRate, sampleRate);
 }
コード例 #12
0
ファイル: BlipBuffer.cs プロジェクト: stuff2600/RAEmus
 public void Dispose()
 {
     BlipBufDll.blip_delete(context);
     context = IntPtr.Zero;
 }
コード例 #13
0
ファイル: BlipBuffer.cs プロジェクト: stuff2600/RAEmus
 public void AddDelta(uint clock_time, int delta)
 {
     BlipBufDll.blip_add_delta(context, clock_time, delta);
 }