mirror of
https://codeberg.org/unspeaker/tek.git
synced 2026-10-08 18:56:42 +02:00
tek_has
This commit is contained in:
parent
0a89fab28a
commit
9e3cc1139d
18 changed files with 450 additions and 414 deletions
32
src/proj.rs
32
src/proj.rs
|
|
@ -1,11 +1,10 @@
|
|||
use crate::*;
|
||||
pub trait HasProject: AsRef<Option<Project>> + AsMut<Option<Project>> {}
|
||||
impl<T: AsRef<Option<Project>> + AsMut<Option<Project>>> HasProject for T {}
|
||||
/// Arranger.
|
||||
///
|
||||
/// ```
|
||||
/// let arranger = tek::Project::default();
|
||||
/// ```
|
||||
#[namespace(ClipPool ClipPool::eval)]
|
||||
#[derive(Default, Debug)] pub struct Project {
|
||||
/// JACK client handle.
|
||||
pub jack: Jack<'static>,
|
||||
|
|
@ -204,6 +203,35 @@ impl ClipLength {
|
|||
self.pulses % self.ppq
|
||||
}
|
||||
}
|
||||
|
||||
impl HasTrackScroll for &mut Project {
|
||||
fn track_scroll (&self) -> usize {
|
||||
self.track_scroll
|
||||
}
|
||||
fn tracks_last (&self) -> usize {
|
||||
self.track_last
|
||||
}
|
||||
fn tracks_last_mut (&mut self) -> &mut usize {
|
||||
&mut self.track_last
|
||||
}
|
||||
}
|
||||
|
||||
impl HasTrackScroll for Project {
|
||||
fn track_scroll (&self) -> usize {
|
||||
self.track_scroll
|
||||
}
|
||||
fn tracks_last (&self) -> usize {
|
||||
self.track_last
|
||||
}
|
||||
fn tracks_last_mut (&mut self) -> &mut usize {
|
||||
&mut self.track_last
|
||||
}
|
||||
}
|
||||
|
||||
impl HasSceneScroll for Project {
|
||||
fn scene_scroll (&self) -> usize { self.scene_scroll }
|
||||
}
|
||||
|
||||
//impl_from!(Pool<MidiClip>: |clip:&Arc<RwLock<MidiClip>>|{
|
||||
//let model = Self::default();
|
||||
//model.clips.try_write().unwrap().push(clip.clone());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue