// Copyright (C) 2026 Michael Wilson <mike@mdwn.dev>
//
// This program is free software: you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free Software
// Foundation, version 3.
//
// This program is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along with
// this program. If not, see <https://www.gnu.org/licenses/>.
//
pub mod audio;
pub mod buffered;
pub mod channel_mapped;
pub mod error;
pub mod factory;
pub mod looping;
pub mod memory;
pub mod traits;
pub mod transcoder;

#[cfg(test)]
mod tests;

// Re-exports for use by other modules
pub use buffered::{BufferFillPool, BufferedSampleSource};
pub use channel_mapped::create_channel_mapped_sample_source;
pub use channel_mapped::ChannelMappedSource;
pub use factory::create_sample_source_from_file;
#[allow(unused_imports)]
pub use looping::LoopingSampleSource;
pub use memory::MemorySampleSource;
pub use traits::ChannelMappedSampleSource;
