All Projects → tesnos → tangerine

tesnos / tangerine

Licence: other
A work-in-progress music player for the Nintendo 3DS and Nintendo Switch

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to tangerine

switch-cmake
CMake toolchain for Nintendo Switch homebrew development
Stars: ✭ 38 (+90%)
Mutual labels:  nx, nintendo-switch, libnx
m3diaLib-CTR
A C++ library for easier homebrew development for the Nintendo 3DS
Stars: ✭ 39 (+95%)
Mutual labels:  ctrulib, 3ds, citro3d
Goldleaf
🍂 Multipurpose homebrew tool for Nintendo Switch
Stars: ✭ 2,026 (+10030%)
Mutual labels:  nx, nintendo-switch, libnx
3ds-hello-dlang
A 3DS homebrew example written in D!
Stars: ✭ 19 (-5%)
Mutual labels:  3ds, citro3d
Ninfs
FUSE filesystem Python scripts for Nintendo console files
Stars: ✭ 241 (+1105%)
Mutual labels:  3ds, nintendo-switch
sys-clk-Overlay
Editor for your sys-clk configuration using ovl-loader!
Stars: ✭ 53 (+165%)
Mutual labels:  nx, nintendo-switch
nxquake
TyrQuake ported to Nintendo Switch
Stars: ✭ 17 (-15%)
Mutual labels:  nintendo-switch, libnx
arduino-stoerbert
MP3 player for small children - firmware & PCB schematic
Stars: ✭ 31 (+55%)
Mutual labels:  audio-player
SwimplyPlayIndicator
Animated PlayIndicator written in SwiftUI. Inspired by Apple's Music Player.
Stars: ✭ 52 (+160%)
Mutual labels:  audio-player
shairport-sync
AirPlay audio player. Shairport Sync adds multi-room capability with Audio Synchronisation
Stars: ✭ 5,532 (+27560%)
Mutual labels:  audio-player
android-audio-sensei
High-level library to make android audio recording and playing more simple by handling boring stuff like runtime permissions and by completely abstracting audio playback controller
Stars: ✭ 41 (+105%)
Mutual labels:  audio-player
Tempo
Tempo is a full-stack web application and a music sharing platform dedicated to electronic music inspired on SoundCloud. It is built on React and Redux in the frontend and with an Express.js backend utilizing the Sequelize ORM as an interface to a PostgreSQL database.
Stars: ✭ 13 (-35%)
Mutual labels:  audio-player
badtaste
🎵 Terminal player with filesystem, google music and vk.com support
Stars: ✭ 40 (+100%)
Mutual labels:  audio-player
Homebrew-Guide
Guide for getting CFW setup on your Nintendo Switch (And Wii U)
Stars: ✭ 104 (+420%)
Mutual labels:  nintendo-switch
libwinmedia
[Archived] A cross-platform simple media playback library for C/C++.
Stars: ✭ 35 (+75%)
Mutual labels:  audio-player
ACNL REditor
Animal Crossing New Leaf ROM Editor: Patch ACNL's code and files with QoL improvements to change the gameplay.
Stars: ✭ 35 (+75%)
Mutual labels:  3ds
amplyfm
A free and open-source web app for streaming music.
Stars: ✭ 46 (+130%)
Mutual labels:  audio-player
eBookReaderNX
A Nintendo Switch eBook Reader
Stars: ✭ 15 (-25%)
Mutual labels:  nx
player
Proton Player is an HTML5-based streaming music player optimized for compatibility across many devices and browsers.
Stars: ✭ 84 (+320%)
Mutual labels:  audio-player
useAudioPlayer
Custom React hook & context for controlling browser audio
Stars: ✭ 176 (+780%)
Mutual labels:  audio-player

tangerine logo

tangerine

A work-in-progress music player for the Nintendo 3DS and Nintendo Switch

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?)

Planned Features:

  • Update internal documentation
  • Move to citro2d
  • Switch version
  • Actual file browsing
  • Support for more formats
  • Ability to create playlists
  • Ability to play playlists
  • Record and save bits of audio using the microphone like the built in app
  • UI overhaul (currently it's not super terrible, but it's definitely not where I want it to be)
  • Themes maybe?
  • anything else the 3DS's sound application does

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

Make sure you have the latest releases of ctrulib, citro3d, citro2d, and 3ds-mpg123 installed via the devkitPro pacman. Then type

make 3ds

to get a .3dsx, .smdh, and .cia

Switch

Make sure you have the latest releases of libnx and switch-mpg123 installed via the devkitPro pacman. Then type

make switch

to get an .nro

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

WARNING: This was my first time ever writing C. There are going to be bugs and 90% percent of this is probably terrible code, so don't hesitate to report anything because I probably wouldn't have found it otherwise.

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 my 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, helped me to understand the DSP a lot better)

Licensing Information:

See LICENSE.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].