use std::collections::HashMap;
use std::fmt::Debug;
use crate::sfz::{Opcode, OpcodeMap};
#[derive(Clone, Debug, Default)]
pub struct Region {
pub group: Option<usize>,
pub opcodes: OpcodeMap,
}
impl Region {
pub fn new() -> Self {
Self::default()
}
pub fn with_group(group: usize) -> Self {
Self {
group: Some(group),
opcodes: HashMap::new(),
}
}
pub fn add_opcode(&mut self, opcode: &Opcode) {
self.opcodes.insert(opcode.str_name(), opcode.clone());
}
pub fn set_group(&mut self, group: Option<usize>) {
self.group = group;
}
pub fn group(&self) -> Option<usize> {
self.group
}
}