Skip to content

proconsule/NXMilk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NXMilk

Banner

NXMilk is a trivial audio player for Nintendo Switch.

It uses FFMpeg for audio decoding and projectM for the vis. The GUI is made with ImGui.

This project started as a test class for new audio player for NXMP

NXMilk is coded by proconsule

Features

  • Wide audio file format support (See below)
  • Vis using projectM library
  • Support Japanese,Chinese,Korean Cyrilic fonts
  • Can read from SD card and from USB storage

Supported Files

  • MP3 support (with ID3 tag support)
  • OGG support (with metadata support if present)
  • FLAC support (with metadata support if present)

Supported Files using libopenmpt (https://lib.openmpt.org/libopenmpt/)

  • Composer 667 (.667)
  • Composer 669 / UNIS 669 (.669)
  • ASYLUM Music Format / Advanced Music Format (.amf / .dmf)
  • Extreme’s Tracker / Velvet Studio (.ams)
  • Composer 670 / CDFM (.c67)
  • Digi Booster Pro (.dbm)
  • Digi Booster (.digi)
  • X-Tracker (.dmf)
  • DSIK (.dsm)
  • Dynamic Studio (.dsm)
  • Digital Symphony (.dsym)
  • Digital Tracker / Digital Home Studio (.dtm)
  • Farandole Composer (.far)
  • Davey W. Taylor’s FM Tracker (.fmt)
  • General Digital Music (.gdm)
  • Graoumf Tracker 1 (.gtk / .gt2)
  • Ice Tracker / SoundTracker 2.6 (.ice / .st26)
  • Imago Orpheus (.imf)
  • Impulse Tracker Project (.itp) – legacy OpenMPT format with instruments stored in external files rather than directly in the module
  • Jazz Jackrabbit 2 Music (.j2b)
  • SoundTracker and compatible (.m15 / .stk)
  • DigiTrakker (.mdl)
  • OctaMED (.med)
  • MO3 (.mo3)
  • MadTracker 2 (.mt2)
  • MultiTracker (.mtm)
  • Psycho Pinball / Micro Machines 2 music format (.mus)
  • Oktalyzer (.okt)
  • OggMod-compressed XM files (.oxm)
  • Epic Megagames MASI (.psm)
  • Disorder Tracker 2 (.plm)
  • ProTracker 3.6 IFF (.pt36)
  • PolyTracker (.ptm)
  • SoundFX / MultiMedia Sound (.sfx / .sfx2 / .mms)
  • Scream Tracker 2 (.stm)
  • Scream Tracker Music Interface Kit (.stx)
  • Soundtracker Pro II (.stp)
  • Symphonie / Symphonie Pro (.symmod)
  • UltraTracker (.ult)
  • Unreal Music (.umx) only from Unreal (Tournament 1), Deus Ex and Jazz Jackrabbit 3D
  • Mod's Grave (.wow)
  • Astroidea XMF (.xmf)
  • AY ZX Spectrum/Amstrad CPC
  • GBS Nintendo Game Boy
  • GYM Sega Genesis/Mega Drive
  • HES NEC TurboGrafx-16/PC Engine
  • KSS MSX Home Computer/other Z80 systems (doesn't support FM sound)
  • NSF/NSFE Nintendo NES/Famicom (with VRC 6, Namco 106, and FME-7 sound)
  • SAP Atari systems using POKEY sound chip
  • SPC Super Nintendo/Super Famicom
  • VGM/VGZ Sega Master System/Mark III, Sega Genesis/Mega Drive,BBC Micro

Supported Files using libmodplug (https://github.com/Konstanty/libmodplug)

Button Mapping

  • ZL/ZR Prev/Next Preset
  • L/R Seek -/+ 5 seconds
  • B Stop
  • Y Disable projectM Vis
  • Limited Touch Support

USB

Press Y to toogle between SD Card and USB

Installation

  • Copy NXMilk.nro in a subfolder eg. /switch/NXMilk/
  • (OPTIONAL) Copy milk files in /switch/NXMilk/presets/milk/
  • (OPTIONAL) Copy texture files in /switch/NXMilk/presets/Textures/
  • (OPTIONAL) Copy timidity.conf and GUS patch files in /switch/NXMilk/timidity/

Edit Config file NXMilk.ini

[AudioPlayer]
startpath = /switch/NXMilk
milkpresetspath = /switch/NXMilk/presets/milk/
milktexturespath = /switch/NXMilk/presets/Textures/
interfacehidesec = 10
usebuiltinpreset = true

NXMilk has some builtin presets. Can be disabled setting to false the usebuiltinpreset option

Presets

Libraries used in this project

Thanks to

  • spkatsi @GBATemp forum for icons,banner, testing and suggestions
  • Djakku @GBATemp for testing and suggestions

Screenshots

Screen1