wip: perilous unblocker
Some checks are pending
/ build (push) Waiting to run

This commit is contained in:
🪞👃🪞 2025-05-23 21:52:26 +03:00
parent 02312e32a5
commit 73748e1fb9
5 changed files with 55 additions and 56 deletions

View file

@ -59,17 +59,17 @@ maybe_has!(Scene: |self: Arrangement|
{ Has::<Selection>::get(self).track().map(|index|Has::<Vec<Scene>>::get(self).get(index)).flatten() };
{ Has::<Selection>::get(self).track().map(|index|Has::<Vec<Scene>>::get_mut(self).get_mut(index)).flatten() });
from_dsl!(MidiInputCommand: |state: Arrangement, iter|state.selected_midi_in().as_ref()
.map(|t|Namespace::take_from(t, iter)).transpose().map(|x|x.flatten()));
.map(|t|Take::take(t, iter)).transpose().map(|x|x.flatten()));
from_dsl!(MidiOutputCommand: |state: Arrangement, iter|state.selected_midi_out().as_ref()
.map(|t|Namespace::take_from(t, iter)).transpose().map(|x|x.flatten()));
.map(|t|Take::take(t, iter)).transpose().map(|x|x.flatten()));
from_dsl!(DeviceCommand:|state: Arrangement, iter|state.selected_device().as_ref()
.map(|t|Namespace::take_from(t, iter)).transpose().map(|x|x.flatten()));
.map(|t|Take::take(t, iter)).transpose().map(|x|x.flatten()));
from_dsl!(TrackCommand: |state: Arrangement, iter|state.selected_track().as_ref()
.map(|t|Namespace::take_from(t, iter)).transpose().map(|x|x.flatten()));
.map(|t|Take::take(t, iter)).transpose().map(|x|x.flatten()));
from_dsl!(SceneCommand: |state: Arrangement, iter|state.selected_scene().as_ref()
.map(|t|Namespace::take_from(t, iter)).transpose().map(|x|x.flatten()));
.map(|t|Take::take(t, iter)).transpose().map(|x|x.flatten()));
from_dsl!(ClipCommand: |state: Arrangement, iter|state.selected_clip().as_ref()
.map(|t|Namespace::take_from(t, iter)).transpose().map(|x|x.flatten()));
.map(|t|Take::take(t, iter)).transpose().map(|x|x.flatten()));
#[tengri_proc::expose] impl Arrangement {
fn selected_midi_in (&self) -> Option<MidiInput> { todo!() }
fn selected_midi_out (&self) -> Option<MidiOutput> { todo!() }

View file

@ -13,10 +13,7 @@ pub struct Pool {
pub browser: Option<Browser>,
}
from_dsl!(BrowserCommand: |state: Pool, iter|Ok(state.browser
.as_ref()
.map(|p|Namespace::take_from(p, iter))
.transpose()?
.flatten()));
.as_ref().map(|p|Take::take(p, iter)).transpose()?.flatten()));
impl Default for Pool {
fn default () -> Self {
use PoolMode::*;