midix_synth 0.0.4

SoundFont compatible MIDI synthesizer for midix
Documentation
use std::io::Read;

pub struct ReadCounter<'a, R: Read + ?Sized> {
    reader: &'a mut R,
    count: usize,
}

impl<'a, R: Read + ?Sized> ReadCounter<'a, R> {
    pub fn new(reader: &'a mut R) -> Self {
        Self { reader, count: 0 }
    }

    pub fn bytes_read(&self) -> usize {
        self.count
    }
}

impl<R: Read + ?Sized> Read for ReadCounter<'_, R> {
    fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {
        let len = self.reader.read(buf)?;
        self.count += len;
        Ok(len)
    }
}