Tangerine 3DS

From GameBrew
Revision as of 07:07, 11 September 2021 by HydeWing (talk | contribs)

Template:Infobox-3DS-Homebrews Tangerine is a work-in-progress music player for the Nintendo 3DS and Nintendo Switch.

Note from developer:

The 3DS build is currently in heavy development as the shift is made from pp2d to citro2d. Please use the previous build instead of building yourself.

Overview

  • The 3DS build is currently in heavy development as the shift is made from pp2d to citro2d. Please use the previous build instead of building yourself.
  • Put all music in "/music" folder on your SD card as traditional file browsing is not currently supported yet
  • Support for multiple formats (wav, flac, and mp3 currently)
  • Skip forward and back a song using the L and R buttons
  • Use the progress bar on the touch screen to scrub through the audio (SLOW)
  • Pause/Play with A, and return to file selection with B
  • Touchscreen controls (yay?)

Features

  • Support for multiple formats (wav, flac, and mp3 currently).
  • Ability to play playlists.
  • Anything else the 3DS's sound application does.
  • Touchscreen controls.

Building

You can just run make or make all to get both 3DS and Switch builds, but for just one of them follow this.

3DS - Install the latest releases of ctrulib, citro3d, citro2d, and 3ds-mpg123 via the devkitPro pacman, then type make 3ds to get a .3dsx, .smdh, and .cia.

Switch - Install the latest releases of libnx and switch-mpg123 installed via the devkitPro pacman, then type make switch to get a .nro.

User guide

Put all music in /music/ folder on your SD card as traditional file browsing is not currently supported yet.

Controls

  • L/R - Skip forward/back a song
  • A - Pause/play
  • B - Return to file selection

Progress bar (touch screen) - Scrub through the audio (slow)

Known issues

Some flac files have issues with playback speed on hardware but work fine in Citra.

Scrubbing within flac/mp3 files may take several seconds on Old 3DS depending on the size of the file

Credits

Thanks to:

  • @smealum for ctrulib.
  • @fincs for citro3d.
  • @Steveice10 for buildtools.
  • @BernardoGiordano for pp2d and help with Makefile/rsf files.
  • VLC for android for the rough UI design concept.
  • @Sergey#5402 for help testing.
  • @Fenrir#3268, @ahoischen#9453, and @TurtleP#2954 (and anyone else!) in #dev in the Nintendo Homebrew discord for help with some beginner C mistakes.
  • mackron for their doctor libs (dr_flac and dr_wav specifically).
  • devkitPro for the example Makefiles, portlibs, and citro2d.
  • switchbrew/3dsbrew for documentation and examples.
  • The big N for the Nintendo 3DS Sound application.
  • Erokia for Heartbleed Synth.
  • and @deltabeard for their orginal libmpg123 portlib fork and ctrmus (big inspiration and for understanding the DSP a lot better).

Advertising: