mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
pool: remove InputMap
This commit is contained in:
parent
457e6bb7eb
commit
0533ea92ac
3 changed files with 36 additions and 24 deletions
|
|
@ -195,21 +195,6 @@ fn delegate_to_pool (app: &mut Tek, cmd: PoolCommand) -> Perhaps<TekCommand> {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
handle!(TuiIn: |self: MidiPool, input|{
|
|
||||||
//Ok(if let Some(command) = match self.mode() {
|
|
||||||
//Some(PoolMode::Rename(..)) => self.keys_rename,
|
|
||||||
//Some(PoolMode::Length(..)) => self.keys_length,
|
|
||||||
//Some(PoolMode::Import(..)) | Some(PoolMode::Export(..)) => self.keys_file,
|
|
||||||
//_ => self.keys
|
|
||||||
//}.command::<Self, PoolCommand, TuiIn>(self, input) {
|
|
||||||
Ok(if let Some(command) = self.keys.command(self, input) {
|
|
||||||
let _undo = command.execute(self)?;
|
|
||||||
Some(true)
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
provide!(bool: |self: MidiPool| {});
|
provide!(bool: |self: MidiPool| {});
|
||||||
|
|
||||||
provide!(MidiClip: |self: MidiPool| {
|
provide!(MidiClip: |self: MidiPool| {
|
||||||
|
|
|
||||||
|
|
@ -799,8 +799,6 @@ pub struct MidiPool {
|
||||||
pub clip: AtomicUsize,
|
pub clip: AtomicUsize,
|
||||||
/// Mode switch
|
/// Mode switch
|
||||||
pub mode: Option<PoolMode>,
|
pub mode: Option<PoolMode>,
|
||||||
|
|
||||||
pub keys: InputMap<'static, Self, PoolCommand, TuiIn, SourceIter<'static>>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for MidiPool {
|
impl Default for MidiPool {
|
||||||
|
|
@ -811,13 +809,6 @@ impl Default for MidiPool {
|
||||||
clips: Arc::from(RwLock::from(vec![])),
|
clips: Arc::from(RwLock::from(vec![])),
|
||||||
clip: 0.into(),
|
clip: 0.into(),
|
||||||
mode: None,
|
mode: None,
|
||||||
keys: InputMap::new(SourceIter(include_str!("../../../config/keys_pool.edn")))
|
|
||||||
.layer_if(|pool: &Self|matches!(pool.mode, Some(Import(..))|Some(Export(..))),
|
|
||||||
SourceIter(include_str!("../../../config/keys_pool_file.edn")))
|
|
||||||
.layer_if(|pool: &Self|matches!(pool.mode, Some(Rename(..))),
|
|
||||||
SourceIter(include_str!("../../../config/keys_clip_rename.edn")))
|
|
||||||
.layer_if(|pool: &Self|matches!(pool.mode, Some(Length(..))),
|
|
||||||
SourceIter(include_str!("../../../config/keys_clip_length.edn")))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,17 +126,53 @@ impl Cli {
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into()),
|
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into()),
|
||||||
LaunchMode::Sequencer => InputMap::default()
|
LaunchMode::Sequencer => InputMap::default()
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Import(..))|Some(PoolMode::Export(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_pool_file.edn")).into())
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Rename(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_clip_rename.edn")).into())
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Length(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_clip_length.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into()),
|
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into()),
|
||||||
LaunchMode::Groovebox => InputMap::default()
|
LaunchMode::Groovebox => InputMap::default()
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Import(..))|Some(PoolMode::Export(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_pool_file.edn")).into())
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Rename(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_clip_rename.edn")).into())
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Length(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_clip_length.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_groovebox.edn")).into()),
|
.layer(SourceIter(include_str!("../../config/keys_groovebox.edn")).into()),
|
||||||
LaunchMode::Arranger {..} => InputMap::default()
|
LaunchMode::Arranger {..} => InputMap::default()
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Import(..))|Some(PoolMode::Export(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_pool_file.edn")).into())
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Rename(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_clip_rename.edn")).into())
|
||||||
|
.layer_if(|state: &Tek|matches!(
|
||||||
|
state.pool.as_ref().map(|p|p.mode.as_ref()).flatten(),
|
||||||
|
Some(PoolMode::Length(..))
|
||||||
|
), SourceIter(include_str!("../../config/keys_clip_length.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer_if(|state: &Tek|state.is_editing(),
|
.layer_if(|state: &Tek|state.is_editing(),
|
||||||
SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue