Exemple #1
0
 protected override void OnRefresh()
 {
     for (int i = 0; i < WaveIn.DeviceCount; ++i)
     {
         AvailableRecordingSources.Add(new NAudioItem(i, WaveIn.GetCapabilities(i).ProductName));
     }
 }
Exemple #2
0
 public override IAudioProvider GetAudioProvider(int FrameRate)
 {
     return(new MixedAudioProvider(AvailableRecordingSources
                                   .Concat(AvailableLoopbackSources)
                                   .Cast <BassItem>(),
                                   FrameRate,
                                   !ServiceProvider.Get <Settings>().Audio.PlaybackRecordingRealTime));
 }
 public override IAudioProvider[] GetMultipleAudioProviders()
 {
     return(AvailableRecordingSources.Where(M => M.Active)
            .Concat(AvailableLoopbackSources.Where(M => M.Active))
            .Cast <BassItem>()
            .Select(M => new BassAudioProvider(M))
            .ToArray <IAudioProvider>());
 }
 public override IAudioProvider GetMixedAudioProvider()
 {
     return(new MixedAudioProvider(AvailableRecordingSources
                                   .Concat(AvailableLoopbackSources)
                                   .Cast <BassItem>(),
                                   !_settings.PlaybackRecordingRealTime
                                   ));
 }
Exemple #5
0
        public void Refresh()
        {
            AvailableRecordingSources.Clear();
            AvailableLoopbackSources.Clear();

            AvailableRecordingSources.Add(NoSoundItem.Instance);
            AvailableLoopbackSources.Add(NoSoundItem.Instance);

            OnRefresh();

            SelectedRecordingSource = SelectedLoopbackSource = NoSoundItem.Instance;
        }
Exemple #6
0
 protected override void OnRefresh()
 {
     for (int i = 0; Bass.RecordGetDeviceInfo(i, out var info); ++i)
     {
         if (info.IsLoopback)
         {
             AvailableLoopbackSources.Add(new BassItem(i, info.Name));
         }
         else
         {
             AvailableRecordingSources.Add(new BassItem(i, info.Name));
         }
     }
 }
Exemple #7
0
        public override IAudioProvider[] GetMultipleAudioProviders()
        {
            var rec = AvailableRecordingSources.Where(audioItem => audioItem.Active)
                      .Cast <NAudioItem>()
                      .Select(nAudioItem => new WasapiCaptureProvider(nAudioItem.Device))
                      .Cast <IAudioProvider>();

            var loop = AvailableLoopbackSources.Where(audioItem => audioItem.Active)
                       .Cast <NAudioItem>()
                       .Select(nAudioItem => new WasapiLoopbackCaptureProvider(nAudioItem.Device))
                       .Cast <IAudioProvider>();

            return(rec.Concat(loop).ToArray());
        }
Exemple #8
0
        public override IAudioProvider GetMixedAudioProvider()
        {
            var rec = AvailableRecordingSources.Where(audioItem => audioItem.Active)
                      .Cast <NAudioItem>()
                      .Select(nAudioItem => new WasapiCaptureProvider(nAudioItem.Device))
                      .Cast <NAudioProvider>();

            var loop = AvailableLoopbackSources.Where(audioItem => audioItem.Active)
                       .Cast <NAudioItem>()
                       .Select(nAudioItem => new WasapiLoopbackCaptureProvider(nAudioItem.Device))
                       .Cast <NAudioProvider>();

            return(new MixedAudioProvider(rec.Concat(loop)));
        }
Exemple #9
0
        protected override void OnRefresh()
        {
            var infos = new ArrayList();

            for (int i = 0; Bass.RecordGetDeviceInfo(i, out var info); ++i)
            {
                var bassItem = new BassItem(i, info.Name);
                if (info.IsLoopback)
                {
                    AvailableLoopbackSources.Add(bassItem);
                    if ("Speakers".Equals(info.Type.ToString()))
                    {
                        this.SelectedLoopbackSource = bassItem;
                    }
                }
                else
                {
                    AvailableRecordingSources.Add(bassItem);
                    this.SelectedRecordingSource = bassItem;
                }
            }
        }
Exemple #10
0
        public void RefreshAudioSources()
        {
            AvailableRecordingSources.Clear();
            AvailableLoopbackSources.Clear();

            AvailableRecordingSources.Add(new KeyValuePair <int?, string>(null, "[No Sound]"));
            AvailableLoopbackSources.Add(new KeyValuePair <int?, string>(null, "[No Sound]"));

            DeviceInfo info;

            for (int i = 0; Bass.RecordGetDeviceInfo(i, out info); ++i)
            {
                if (info.IsLoopback)
                {
                    AvailableLoopbackSources.Add(new KeyValuePair <int?, string>(i, info.Name));
                }
                else
                {
                    AvailableRecordingSources.Add(new KeyValuePair <int?, string>(i, info.Name));
                }
            }

            SelectedRecordingSource = SelectedLoopbackSource = null;
        }
 public override IAudioProvider GetAudioProvider()
 {
     return(new MixedAudioProvider(AvailableRecordingSources.Cast <BassItem>(),
                                   AvailableLoopbackSources.Cast <BassItem>()));
 }