Tangerine 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = Tangerine
|title=Tangerine
| image = https://github.com/tesnos/tangerine/raw/master/meta/logo.png|250px
|image=Tangerine2.png
| type = Media players
|description=A music player for 3DS and Nintendo Switch (WIP).
| version = v0.1.0
|author=tesnos
| licence = Mixed
|lastupdated=2018/01/21
| author = tesnos
|type=Media players
| website = https://github.com/tesnos/tangerine
|version=0.1.0
| download = https://dlhb.gamebrew.org/3dshomebrew/Tangerine-3DS.rar
|license=Mixed
| source = https://dlhb.gamebrew.org/3dshomebrew/Tangerine-3DS.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/tangerine.7z
|website=https://github.com/tesnos/tangerine
|source=https://github.com/tesnos/tangerine
}}
}}
Tangerine is a work-in-progress music player for the Nintendo 3DS and Nintendo Switch.


= tangerine =
'''Note from developer:'''


=== A work-in-progress music player for the Nintendo 3DS and Nintendo Switch ===
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: ==
==Features==
* Support for multiple formats (wav, flac, and mp3 currently).
* Ability to play playlists.
* Anything else the 3DS's sound application does.
* Touchscreen controls.


* 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.
==Installation==
* Put all music in ""/music"" folder on your SD card as traditional file browsing is not currently supported yet
===Installing===
* Support for multiple formats (wav, flac, and mp3 currently)
Available in 3DSX/SMDH and CIA formats.
* 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: ==
===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.


* ☐ Update internal documentation
'''3DS:'''
* ☐ 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
Install the latest releases of ctrulib, citro3d, citro2d, and 3ds-mpg123 via the devkitPro pacman.


== Building ==
Then type <code>make 3ds</code> to get a .3dsx, .smdh, and .cia.


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:
'''Switch:'''


=== 3DS ===
Install the latest releases of libnx and switch-mpg123 installed via the devkitPro pacman.


Make sure you have the latest releases of ctrulib, citro3d, citro2d, and 3ds-mpg123 installed via the devkitPro pacman. Then type
Then type <code>make switch</code> to get a .nro.


<pre>make 3ds
==User guide==
</pre>
Put all music in /music/ folder on your SD card as traditional file browsing is not currently supported yet.
to get a .3dsx, .smdh, and .cia


=== Switch ===
==Controls==
L/R - Skip forward/back a song


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


<pre>make switch
B - Return to file selection
</pre>
to get an .nro


== Known Issues: ==
Progress bar (touch screen) - Scrub through the audio (slow)


* Some flac files have issues with playback speed on hardware but work fine in Citra
==Known issues==
* 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.
Some flac files have issues with playback speed on hardware but work fine in Citra.


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


Thanks to
==Credits==
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 some 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 and for understanding the DSP a lot better).


* @smealum for [https://github.com/smealum/ctrulib ctrulib]
==External links==
* @fincs for [https://github.com/fincs/citro3d citro3d]
* GitHub - https://github.com/tesnos/tangerine
* @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
[[Category:3DS homebrew applications]]
* [https://www.videolan.org/vlc/download-android.html VLC for android] for the rough UI design concept
[[Category:Homebrew media players on 3DS]]
* @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/ &quot;&quot;Heartbleed Synth&quot;&quot;]
* 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)

Latest revision as of 05:20, 5 February 2023

Tangerine
Tangerine2.png
General
Authortesnos
TypeMedia players
Version0.1.0
LicenseMixed
Last Updated2018/01/21
Links
Download
Website
Source

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.

Features

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

Installation

Installing

Available in 3DSX/SMDH and CIA formats.

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

External links

Advertising: