xsynth-realtime 0.3.3

A real-time MIDI synthesizer using XSynth.
Documentation
use std::cell::UnsafeCell;

pub struct ReadWriteAtomicU64(UnsafeCell<u64>);

impl ReadWriteAtomicU64 {
    pub fn new(value: u64) -> Self {
        ReadWriteAtomicU64(UnsafeCell::new(value))
    }

    pub fn read(&self) -> u64 {
        unsafe { *self.0.get() }
    }

    pub fn write(&self, value: u64) {
        unsafe { *self.0.get() = value }
    }
}

unsafe impl Send for ReadWriteAtomicU64 {}
unsafe impl Sync for ReadWriteAtomicU64 {}