Clean plugins
This commit is contained in:
@@ -158,12 +158,17 @@ pub struct SharedSequencerState {
|
||||
pub active_patterns: Vec<ActivePatternState>,
|
||||
pub step_traces: Arc<StepTracesMap>,
|
||||
pub event_count: usize,
|
||||
pub tempo: f64,
|
||||
pub beat: f64,
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub struct SequencerSnapshot {
|
||||
pub active_patterns: Vec<ActivePatternState>,
|
||||
step_traces: Arc<StepTracesMap>,
|
||||
pub event_count: usize,
|
||||
pub tempo: f64,
|
||||
pub beat: f64,
|
||||
}
|
||||
|
||||
impl From<&SharedSequencerState> for SequencerSnapshot {
|
||||
@@ -172,6 +177,8 @@ impl From<&SharedSequencerState> for SequencerSnapshot {
|
||||
active_patterns: s.active_patterns.clone(),
|
||||
step_traces: Arc::clone(&s.step_traces),
|
||||
event_count: s.event_count,
|
||||
tempo: s.tempo,
|
||||
beat: s.beat,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -183,6 +190,8 @@ impl SequencerSnapshot {
|
||||
active_patterns: Vec::new(),
|
||||
step_traces: Arc::new(HashMap::new()),
|
||||
event_count: 0,
|
||||
tempo: 0.0,
|
||||
beat: 0.0,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,11 +231,7 @@ pub struct SequencerHandle {
|
||||
impl SequencerHandle {
|
||||
pub fn snapshot(&self) -> SequencerSnapshot {
|
||||
let state = self.shared_state.load();
|
||||
SequencerSnapshot {
|
||||
active_patterns: state.active_patterns.clone(),
|
||||
step_traces: Arc::clone(&state.step_traces),
|
||||
event_count: state.event_count,
|
||||
}
|
||||
SequencerSnapshot::from(state.as_ref())
|
||||
}
|
||||
|
||||
pub fn swap_audio_channel(&self) -> Receiver<AudioCommand> {
|
||||
@@ -563,6 +568,8 @@ pub struct SequencerState {
|
||||
cc_access: Option<Arc<dyn CcAccess>>,
|
||||
muted: std::collections::HashSet<(usize, usize)>,
|
||||
soloed: std::collections::HashSet<(usize, usize)>,
|
||||
last_tempo: f64,
|
||||
last_beat: f64,
|
||||
}
|
||||
|
||||
impl SequencerState {
|
||||
@@ -592,6 +599,8 @@ impl SequencerState {
|
||||
cc_access,
|
||||
muted: std::collections::HashSet::new(),
|
||||
soloed: std::collections::HashSet::new(),
|
||||
last_tempo: 0.0,
|
||||
last_beat: 0.0,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -701,6 +710,8 @@ impl SequencerState {
|
||||
|
||||
pub fn tick(&mut self, input: TickInput) -> TickOutput {
|
||||
self.process_commands(input.commands);
|
||||
self.last_tempo = input.tempo;
|
||||
self.last_beat = input.beat;
|
||||
|
||||
if !input.playing {
|
||||
return self.tick_paused();
|
||||
@@ -1092,6 +1103,8 @@ impl SequencerState {
|
||||
.collect(),
|
||||
step_traces: Arc::clone(&self.step_traces),
|
||||
event_count: self.event_count,
|
||||
tempo: self.last_tempo,
|
||||
beat: self.last_beat,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user