Skip to main content

Crate ym2149_arkos_replayer

Crate ym2149_arkos_replayer 

Source
Expand description

Arkos Tracker 3 (AKS) file parser and multi-PSG player

This crate provides support for loading and playing Arkos Tracker 3 songs (.aks format), which is an XML-based tracker format supporting multiple PSG chips for expanded polyphony.

§Features

  • Load AKS (Arkos Tracker 3) XML files
  • Multi-PSG support (n chips = n×3 channels)
  • Per-PSG frequency configuration (CPC, Atari ST, PlayCity, etc.)
  • Instruments with software/hardware envelopes
  • Arpeggios and pitch tables
  • Pattern-based sequencing with positions
  • Subsong support

§Quick Start

use ym2149_arkos_replayer::{load_aks, ArkosPlayer};

let data = std::fs::read("song.aks")?;
let song = load_aks(&data)?;

println!("Title: {}", song.metadata.title);
println!("Subsongs: {}", song.subsongs.len());
if !song.subsongs.is_empty() {
    println!("PSGs: {}", song.subsongs[0].psgs.len());

    let mut player = ArkosPlayer::new(song, 0)?; // Subsong 0
    player.play()?;

    let samples = player.generate_samples(882);
}

Re-exports§

pub use error::ArkosError;
pub use error::Result;
pub use format::AksSong;
pub use format::Arpeggio;
pub use format::Cell;
pub use format::Effect;
pub use format::Instrument;
pub use format::InstrumentCell;
pub use format::Pattern;
pub use format::PatternCell;
pub use format::PitchTable;
pub use format::Position;
pub use format::PsgConfig;
pub use format::PsgType;
pub use format::SampleInstrument;
pub use format::SongMetadata;
pub use format::SpecialCell;
pub use format::SpecialTrack;
pub use format::Subsong;
pub use format::Track;
pub use parser::load_aks;
pub use player::ArkosMetadata;
pub use player::ArkosPlayer;

Modules§

error
Error types for Arkos Tracker parsing and playback.
format
AKS file format data structures
parser
AKS XML parser for Arkos Tracker 2/3 files.
player
Arkos Tracker song player.

Traits§

ChiptunePlayer
Unified player interface for chiptune formats.
PlaybackMetadata
Unified metadata trait for chiptune playback.