diff --git a/src/device.rs b/src/device.rs index f9880e35..a584699a 100644 --- a/src/device.rs +++ b/src/device.rs @@ -16,7 +16,7 @@ pub use self::looper::Looper; pub use self::mixer::Mixer; pub use self::plugin::Plugin; pub use self::sampler::Sampler; -pub use self::sequencer::Sequencer; +pub use self::sequencer::{Sequencer, Phrase}; pub use self::track::Track; pub use self::transport::Transport; diff --git a/src/device/chain.rs b/src/device/chain.rs index 79db4507..8a2d8e0d 100644 --- a/src/device/chain.rs +++ b/src/device/chain.rs @@ -16,12 +16,12 @@ pub enum ChainView { } impl Chain { - pub fn new (name: &str, items: Vec>) -> Result, Box> { + pub fn new (name: &str, items: Option>>) -> Result, Box> { Ok(DynamicDevice::new(render, handle, process, Self { name: name.into(), focused: false, focus: 0, - items, + items: items.unwrap_or_else(||vec![]), view: ChainView::Column })) } @@ -116,16 +116,35 @@ pub fn draw_as_row ( state: &Chain, buf: &mut Buffer, area: Rect, selected: Option