#music-player #audio-player #esoteric #format #computer #c64 #old

musix

Music player library for esoteric audio formats (music from C64,Amiga etc)

3 unstable releases

0.2.1 May 31, 2024
0.2.0 May 31, 2024
0.1.0 Mar 22, 2024

#930 in Audio

Download history 13/week @ 2024-07-22 1/week @ 2024-09-16 9/week @ 2024-09-23

140 downloads per month
Used in musix_player

MIT license

21MB
583K SLoC

C 314K SLoC // 0.1% comments C++ 230K SLoC // 0.1% comments Visual Studio Project 19K SLoC Bitbake 6.5K SLoC // 0.0% comments GNU Style Assembly 3K SLoC // 0.2% comments Assembly 2.5K SLoC // 0.2% comments Ada 1.5K SLoC // 0.2% comments Shell 1.5K SLoC // 0.2% comments Pascal 1K SLoC // 0.2% comments Python 1K SLoC // 0.3% comments M4 897 SLoC // 0.4% comments C# 879 SLoC // 0.4% comments Visual Studio Solution 874 SLoC Rust 273 SLoC // 0.0% comments Automake 162 SLoC // 0.0% comments Lua 94 SLoC Perl 35 SLoC // 0.4% comments JavaScript 34 SLoC // 0.3% comments Bazel 24 SLoC // 0.1% comments Pan 19 SLoC // 0.1% comments CUDA 13 SLoC // 0.4% comments Forge Config 11 SLoC Batch 7 SLoC ReScript 1 SLoC Poke 1 SLoC

Contains (autotools obfuscated code, 170KB) src/plugins/ayflyplugin/ayfly/configure, (autotools obfuscated code, 91KB) configure, (WOFF font, 24KB) glyphicons-halflings-regular.woff, (ELF exe/lib, 32KB) compareresample, (ELF exe/lib, 31KB) testresample, (obscure autoconf code, 1KB) configure.ac and 4 more.

musix

musix is a library for playing old (esoteric) music formats from home computers and game consoles.

Check the musix_player crate for example usage.


    // need to initialize and get access to meta data provided
    // in the data/ directory.
    musix::init(Path::new("data"))?;

    let song_path = PathBuf::from(song_file);

    // Try to load a song
    let mut player = musix::load_song(&song_path)?;
    let mut target: Vec<i16> = vec![0; 32768];
    // Generate some audio samples
    player.get_samples(&mut target[0..data.len()]);

lib.rs:

musix

A rust music player library for esoteric formats

Used libsidplay, UADE, GME, Openmpt etc to play a multitude of music formats from old computers and consoles.

https://github.com/sasq64/musicplayer

No runtime deps