use crate::*;
#[derive(Clone, Data, New)]
pub struct GameAudioContext {
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) context: AudioContext,
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) master_gain: GainNode,
#[get(type(copy))]
pub(crate) master_volume: f64,
}
#[derive(Clone, Data, New)]
pub struct AudioClip {
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) buffer: AudioBuffer,
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) name: String,
#[get(type(copy))]
#[get_mut(pub(crate))]
pub(crate) state: AudioPlayState,
#[get(type(copy))]
#[get_mut(pub(crate))]
pub(crate) looping: bool,
#[get(type(copy))]
#[get_mut(pub(crate))]
pub(crate) volume: f64,
#[get(type(copy))]
#[get_mut(pub(crate))]
pub(crate) playback_rate: f64,
#[get_mut(pub(crate))]
#[set(pub(crate))]
#[new(skip)]
pub(crate) source_node: Option<AudioBufferSourceNode>,
}