use super::*;
#[derive(Clone, Debug)]
pub struct Envelope {
pub flags: EnvelopeFlags,
pub envelope_loop: Option<EnvelopeLoop>,
pub sustain_loop: Option<EnvelopeLoop>,
pub nodes: Vec<Node>,
}
bitflags! {
pub struct EnvelopeFlags: u8 {
const ENABLED = 1 << 0;
const LOOP = 1 << 1;
const SUSTAIN = 1 << 2;
const CARRY = 1 << 3;
const FILTER = 1 << 7;
}
}
#[derive(Clone, Copy, Debug)]
pub struct Node {
pub value: i8,
pub tick: u16,
}
#[derive(Clone, Copy, Debug)]
pub struct EnvelopeLoop {
pub start: u8,
pub end: u8,
}