This commit is contained in:
@@ -158,6 +158,7 @@ struct CagireDesktop {
|
||||
audio_sample_pos: Arc<AtomicU64>,
|
||||
sample_rate_shared: Arc<AtomicU32>,
|
||||
_stream: Option<cpal::Stream>,
|
||||
_input_stream: Option<cpal::Stream>,
|
||||
_analysis_handle: Option<AnalysisHandle>,
|
||||
midi_rx: Receiver<MidiCommand>,
|
||||
stream_error_rx: crossbeam_channel::Receiver<String>,
|
||||
@@ -203,6 +204,7 @@ impl CagireDesktop {
|
||||
audio_sample_pos: b.audio_sample_pos,
|
||||
sample_rate_shared: b.sample_rate_shared,
|
||||
_stream: b.stream,
|
||||
_input_stream: b.input_stream,
|
||||
_analysis_handle: b.analysis_handle,
|
||||
midi_rx: b.midi_rx,
|
||||
stream_error_rx: b.stream_error_rx,
|
||||
@@ -226,6 +228,7 @@ impl CagireDesktop {
|
||||
|
||||
self.app.audio.restart_pending = false;
|
||||
self._stream = None;
|
||||
self._input_stream = None;
|
||||
self._analysis_handle = None;
|
||||
|
||||
let Some(ref sequencer) = self.sequencer else {
|
||||
@@ -236,6 +239,7 @@ impl CagireDesktop {
|
||||
|
||||
let new_config = AudioStreamConfig {
|
||||
output_device: self.app.audio.config.output_device.clone(),
|
||||
input_device: self.app.audio.config.input_device.clone(),
|
||||
channels: self.app.audio.config.channels,
|
||||
buffer_size: self.app.audio.config.buffer_size,
|
||||
max_voices: self.app.audio.config.max_voices,
|
||||
@@ -270,8 +274,9 @@ impl CagireDesktop {
|
||||
new_error_tx,
|
||||
&self.app.audio.config.sample_paths,
|
||||
) {
|
||||
Ok((new_stream, info, new_analysis, registry)) => {
|
||||
Ok((new_stream, new_input, info, new_analysis, registry)) => {
|
||||
self._stream = Some(new_stream);
|
||||
self._input_stream = new_input;
|
||||
self._analysis_handle = Some(new_analysis);
|
||||
self.app.audio.config.sample_rate = info.sample_rate;
|
||||
self.app.audio.config.host_name = info.host_name;
|
||||
|
||||
Reference in New Issue
Block a user