pub struct SlotAttributes {
pub slot_type: SlotType,
pub slot_id: u8,
pub path: Option<PathBuf>,
pub timestrech_mode: TimeStretchMode,
pub loop_mode: LoopMode,
pub trig_quantization_mode: TrigQuantizationMode,
pub gain: u8,
pub bpm: u16,
}Expand description
A sample slot’s global playback settings – trig quantization, bpm, timestrech mode … anything applied to the sample globally . The Octatrack only stores data when an audio file has been assigned to a sample slot.
NOTE: On the naming for this – the Octatrack manual specifically refers to
SAVE SAMPLE SETTINGS will save the trim, slice and attribute settings in a separate file and link it to the sample currently being edited. – page 87
So … these are the Slot ATTRIBUTES which are saved to a settings file.
Fields§
§slot_type: SlotTypeType of sample: STATIC or FLEX
slot_id: u8String ID Number of the slot the sample is assigned to e.g. 001, 002, 003… Maximum of 128 entries for STATIC sample slots, but can be up to 136 for flex slots as there are 8 recorders + 128 flex slots.
path: Option<PathBuf>Relative path to the file on the card from the project directory.
Recording buffer flex slots by default have an empty path attribute, which basically means ‘no path’. In idiomatic rust that’s an option.
timestrech_mode: TimeStretchModeCurrent TimestrechModes setting for the specific slot. Example: TSMODE=2
See TimeStretchMode.
loop_mode: LoopModeCurrent LoopMode setting for the specific slot.
See LoopMode.
trig_quantization_mode: TrigQuantizationModeCurrent TrigQuantizationModes setting for this specific slot.
This is not used for recording buffer ‘flex’ tracks.
See TrigQuantizationMode.
gain: u8Sample gain. 48 is default as per sample attributes file. maximum 96, minimum 0.
bpm: u16BPM of the sample in this slot. The stored representation is the ‘real’ bpm (float to 2 decimal places) multiplied by 24. Default value is 2880 (120 BPM). Max value is 7200 (300 BPM). Min value is 720 (30 BPM).
Implementations§
Trait Implementations§
Source§impl Clone for SlotAttributes
impl Clone for SlotAttributes
Source§fn clone(&self) -> SlotAttributes
fn clone(&self) -> SlotAttributes
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SlotAttributes
impl Debug for SlotAttributes
Source§impl<'de> Deserialize<'de> for SlotAttributes
impl<'de> Deserialize<'de> for SlotAttributes
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Display for SlotAttributes
impl Display for SlotAttributes
Source§impl FromStr for SlotAttributes
impl FromStr for SlotAttributes
Source§impl Hash for SlotAttributes
impl Hash for SlotAttributes
Source§impl PartialEq for SlotAttributes
impl PartialEq for SlotAttributes
Source§impl Serialize for SlotAttributes
impl Serialize for SlotAttributes
impl Eq for SlotAttributes
impl StructuralPartialEq for SlotAttributes
Auto Trait Implementations§
impl Freeze for SlotAttributes
impl RefUnwindSafe for SlotAttributes
impl Send for SlotAttributes
impl Sync for SlotAttributes
impl Unpin for SlotAttributes
impl UnwindSafe for SlotAttributes
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more