mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 04:36:45 +01:00
use Arc<str> where applicable; use konst split_at
This commit is contained in:
parent
411fc0c4bc
commit
305481adee
35 changed files with 286 additions and 273 deletions
|
|
@ -1,17 +1,17 @@
|
|||
use crate::*;
|
||||
impl Arranger {
|
||||
pub fn track_next_name (&self) -> String {
|
||||
format!("Tr{}", self.tracks.len() + 1)
|
||||
pub fn track_next_name (&self) -> Arc<str> {
|
||||
format!("Tr{:02}", self.tracks.len() + 1).into()
|
||||
}
|
||||
pub fn track_add (&mut self, name: Option<&str>, color: Option<ItemPalette>)
|
||||
-> Usually<&mut ArrangerTrack>
|
||||
{
|
||||
let name = name.map_or_else(||self.track_next_name(), |x|x.to_string());
|
||||
let name = name.map_or_else(||self.track_next_name(), |x|x.to_string().into());
|
||||
let track = ArrangerTrack {
|
||||
width: name.len() + 2,
|
||||
name: Arc::new(name.into()),
|
||||
color: color.unwrap_or_else(ItemPalette::random),
|
||||
player: MidiPlayer::from(&self.clock),
|
||||
name,
|
||||
};
|
||||
self.tracks.push(track);
|
||||
let index = self.tracks.len() - 1;
|
||||
|
|
@ -26,7 +26,7 @@ impl Arranger {
|
|||
}
|
||||
#[derive(Debug)] pub struct ArrangerTrack {
|
||||
/// Name of track
|
||||
pub name: Arc<RwLock<String>>,
|
||||
pub name: Arc<str>,
|
||||
/// Preferred width of track column
|
||||
pub width: usize,
|
||||
/// Identifying color of track
|
||||
|
|
@ -38,7 +38,7 @@ has_clock!(|self:ArrangerTrack|self.player.clock());
|
|||
has_player!(|self:ArrangerTrack|self.player);
|
||||
impl ArrangerTrack {
|
||||
/// Name of track
|
||||
pub fn name (&self) -> &Arc<RwLock<String>> {
|
||||
pub fn name (&self) -> &Arc<str> {
|
||||
&self.name
|
||||
}
|
||||
/// Preferred width of track column
|
||||
|
|
@ -54,7 +54,7 @@ impl ArrangerTrack {
|
|||
self.color
|
||||
}
|
||||
fn longest_name (tracks: &[Self]) -> usize {
|
||||
tracks.iter().map(|s|s.name().read().unwrap().len()).fold(0, usize::max)
|
||||
tracks.iter().map(|s|s.name.len()).fold(0, usize::max)
|
||||
}
|
||||
fn width_inc (&mut self) {
|
||||
*self.width_mut() += 1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue