More actions
(Created page with "{{Infobox 3DS homebrew | title = Tangerine | image = https://dlhb.gamebrew.org/3dshomebrew/|250px | type = Media players | version = v0.1.0 | licence = Mixed | author = tesnos...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox 3DS homebrew | {{Infobox 3DS homebrew | ||
| title = Tangerine | | title = Tangerine | ||
| image = https:// | | image = https://github.com/tesnos/tangerine/raw/master/meta/logo.png|250px | ||
| type = Media players | | type = Media players | ||
| version = v0.1.0 | | version = v0.1.0 | ||
Line 10: | Line 10: | ||
| source = https://dlhb.gamebrew.org/3dshomebrew/Tangerine-3DS.rar | | source = https://dlhb.gamebrew.org/3dshomebrew/Tangerine-3DS.rar | ||
}} | }} | ||
= 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 | |||
You can just run | * ☐ 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 <code>make</code> or <code>make all</code> 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 sure you have the latest releases of ctrulib, citro3d, citro2d, and 3ds-mpg123 installed via the devkitPro pacman. Then type | ||
make 3ds | <pre>make 3ds | ||
</pre> | |||
to get a .3dsx, .smdh, and .cia | 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 sure you have the latest releases of libnx and switch-mpg123 installed via the devkitPro pacman. Then type | ||
make switch | <pre>make switch | ||
</pre> | |||
to get an .nro | to get an .nro | ||
== Known Issues: == | |||
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. | * 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 | Thanks to | ||
* @smealum for [https://github.com/smealum/ctrulib ctrulib] | |||
* @fincs for [https://github.com/fincs/citro3d citro3d] | |||
* @Steveice10 for [https://github.com/Steveice10/buildtools buildtools] | |||
* @BernardoGiordano for [https://github.com/BernardoGiordano/Checkpoint/tree/master/source/pp2d pp2d] and help with Makefile/rsf files | |||
* [https://www.videolan.org/vlc/download-android.html 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 | |||
* [https://mackron.github.io/ mackron] for their [https://github.com/mackron/dr_libs doctor libs] (dr_flac and dr_wav specifically) | |||
* devkitPro for the example Makefiles, portlibs, and [https://github.com/devkitPro/citro2d citro2d] | |||
* switchbrew/3dsbrew for documentation and examples | |||
* The big N for the Nintendo 3DS Sound application | |||
* [https://freesound.org/people/Erokia Erokia] for [https://freesound.org/people/Erokia/sounds/414770/ ""Heartbleed Synth""] | |||
* and @deltabeard for their orginal libmpg123 portlib fork and [https://github.com/deltabeard/ctrmus ctrmus] (big inspiration, helped me to understand the DSP a lot better) | |||
Revision as of 11:45, 20 April 2020
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)