pub enum Family {
Show 24 variants
Electro3,
Electro4,
Electro5,
Electro6,
Electro7,
StageClassic,
Stage2,
Stage3,
Stage4,
Piano,
Piano2,
Piano3,
Piano4,
Piano5,
Grand,
Wave,
Wave2,
C2,
C2D,
Organ3,
Lead4,
LeadA1,
Drum2,
Drum3,
}Expand description
One instrument family: the unit both a file’s tag and an instrument’s product string name.
Models whose files carry one set of tags are one family — the Electro 3 and 3 HP, the Electro 4 and 4D, the Stage Classic and Stage EX — because nothing in a file says which of the pair wrote it.
Two families are absent, because their files carry no tag to name them by: the older Leads ride a SysEx or MIDI carrier shared across four models, and the Electro 2’s sample library is its own container under no CBIN tag at all.
Variants§
Electro3
Electro4
Electro5
Electro6
Electro7
StageClassic
Stage2
Stage3
Stage4
Piano
Piano2
Piano3
Piano4
Piano5
Grand
Wave
Wave2
C2
C2D
Organ3
Lead4
LeadA1
Drum2
Drum3
Implementations§
Source§impl Family
impl Family
pub const ALL: [Family; 24]
Sourcepub fn label(self) -> &'static str
pub fn label(self) -> &'static str
The model, spelled as Identity::kind spells it.
Sourcepub fn from_product(product: &str) -> Option<Family>
pub fn from_product(product: &str) -> Option<Family>
The family a USB product string names.
The string is the model and then the keybed — an Electro 5 reads
Nord Electro 5, and a 73-key 5D reads Nord Electro 5D 73 — so the family is
the longest product_name the string contains. Longest
because Stage sits inside Stage 3, Piano inside Piano 5 and C2 inside
C2D.
For the Electro 5, Nord Electro 5 is the descriptor string the recorded
exchanges in nord-usb’s replay scripts carry. Confirmed on hardware.
Sourcepub fn of_tag(tag: &str) -> Option<Family>
pub fn of_tag(tag: &str) -> Option<Family>
The family whose files carry tag, where one family’s do. None for the shared
library formats, the carriers, and anything this crate does not read.
Sourcepub fn accepts(self, slot: Slot, tag: &str) -> Acceptance
pub fn accepts(self, slot: Slot, tag: &str) -> Acceptance
Whether this family keeps files under tag in slot.
Trait Implementations§
impl Copy for Family
impl Eq for Family
impl StructuralPartialEq for Family
Auto Trait Implementations§
impl Freeze for Family
impl RefUnwindSafe for Family
impl Send for Family
impl Sync for Family
impl Unpin for Family
impl UnsafeUnpin for Family
impl UnwindSafe for Family
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.