Homebrew Homebrew app [Release] Switify – Native Spotify app and background playback overlay for Nintendo Switch

HiroshiYamauchi

Well-Known Member
Member
Joined
Jan 30, 2008
Messages
293
Reaction score
78
Trophies
1
XP
1,663
Country
Brazil
Hi guys,

Just like twiNX, I built this app for my own use, but since it’s working well I decided to share it.

The app is called Switify. It is an unofficial, controller-friendly Spotify client made specifically for Nintendo Switch homebrew.


1786907606217.png


Switify has two separate components:

  • A full-screen NRO application for browsing Spotify and playing music normally.
  • An optional Ultrahand overlay with a background service, allowing music to continue playing while you use another application or play a game.
The main goal was to make Spotify feel natural to use on the Switch, with an interface designed around controller navigation instead of a desktop-style layout.


Main app features​

  • Spotify Home with All, Music, and Podcasts filters
  • Recently played content and personalized recommendations
  • Search for songs, artists, albums, playlists, and podcasts
  • Liked Songs, playlists, saved albums, shows, and episodes
  • Support for large libraries and playlists through pagination
  • Collection and playlist pages with artwork and track lists
  • Persistent mini-player
  • Full Now Playing screen
  • Theater-style player mode
  • Shuffle
  • Previous, Play/Pause, and Next controls
  • Repeat Off, Repeat All, and Repeat One
  • Queue and current playlist display
  • Seek and volume controls
  • Heart button for adding or removing songs from Liked Songs
  • Persistent volume across sessions
  • Optional global playback shortcuts
  • Three-band Bass, Mid, and Treble equalizer
  • Normal 160 kbps and High 320 kbps Spotify Vorbis quality options
  • Persistent artwork cache
  • Restores the last song and playlist after reopening the app
  • Playback always starts paused and never resumes without user input

1786907432465.jpeg

1786907450286.jpeg

1786907462574.jpeg

1786907477492.jpeg

1786907490580.jpeg

1786907506375.jpeg

1786907521907.jpeg

Background overlay features​

Switify also includes an optional Ultrahand overlay and Atmosphere background service.

The overlay provides:

  • Background music while using another application or playing a game
  • Artwork, title, artist, progress, and playback status
  • Shuffle
  • Previous, Play/Pause, and Next
  • Repeat Off, Repeat All, and Repeat One
  • Queue and playlist browsing
  • Seeking
  • A visible volume slider with persistent volume
  • Normal and High streaming-quality options
  • Home, Search, Library, and collection browsing
  • Paginated views designed to use less memory
  • Restoration of the previous session in a paused state
The background service is dormant by default. It does not start when the console boots and is launched automatically only when the Switify overlay is opened.

The NRO and overlay are independent applications. The only things they share are authentication, settings, cached artwork, and session information.

1786907384511.jpeg


1786907406826.jpeg

Installing​

Download the latest release from:

GitHub:
https://github.com/DomazinUS/Switify

The first public release contains:

  • Switify 0.6.3 — full-screen NRO
  • Switify Overlay 0.4.3 — Ultrahand overlay and background service
  • Complete matching source code
  • SHA-256 checksums

Installing the full app​

Download Switify-0.6.3.zip and extract it to the root of the SD card.

The resulting file should be:

/switch/Switify/Switify.nro
I recommend launching Switify through title override so it receives the full application memory allocation:

  1. Hold R while opening a game.
  2. Keep holding R until Homebrew Menu appears.
  3. Launch Switify.
A forwarder can also be used if it provides full application memory.

Initial Spotify sign-in​

A Spotify Premium account is required.

Switify does not require you to create a Spotify developer application, Client ID, or client secret.

For the first login:

  1. Connect the Switch and your phone to the same Wi-Fi network.
  2. Open Switify on the Switch.
  3. Open Spotify on your phone.
  4. Open Connect to a device.
  5. Select Switify.
  6. Wait for the Switch to confirm the connection.
Switify stores the reusable authentication locally on the SD card. You only need to repeat this process if you sign out, delete the credentials, or Spotify invalidates the saved session.

The credentials file is stored at:

/config/Switify/credentials.json
Do not share this file or attach it to a bug report.

Installing the overlay​

You must successfully authenticate using the full NRO before using the overlay. The overlay intentionally does not have a separate login process.

Download Switify-Overlay-0.4.3.zip and extract it to the root of the SD card.

It installs:

/switch/.overlays/Switify.ovl
/atmosphere/contents/4200000000535754/exefs.nsp
/atmosphere/contents/4200000000535754/toolbox.json
After installing or updating the overlay package, reboot the Switch once so Atmosphere discovers the background service.

Then open Ultrahand and select Switify. The background service will start automatically.

There is no boot2.flag, so Switify does not consume background resources immediately after boot.

Do not run the standalone NRO and background service at the same time, since each one has its own independent Spotify and audio engine.

Optional global playback controls​

The standalone app includes an option to enable global controller shortcuts:

  • Y — Play/Pause
  • L — Previous track
  • R — Next track
  • ZL — Rewind
  • ZR — Fast-forward
These shortcuts can be enabled in Settings.

Streaming quality​

Both the full app and overlay provide two quality modes:

  • Normal — 160 kbps Vorbis
  • High — 320 kbps Vorbis
Quality changes take effect the next time the corresponding playback engine starts.

Normal uses less network bandwidth and is the safest initial option. High provides better compression quality but requires a more stable connection.

Current limitations​

  • Spotify Premium is required for native playback.
  • Switify does not download Spotify music for offline use.
  • The full NRO and background service should not run simultaneously.
  • Spotify uses undocumented internal protocols that may change in the future.
  • The overlay’s background service currently conflicts with the Nintendo 64 Nintendo Switch Online application. N64 games can remain on a black screen while the Switify service is resident, even when music is paused. Stop the Switify background service before opening that application.
  • This N64 issue does not affect the standalone NRO after it has been closed.
The app and overlay have been tested extensively on real hardware, but this is still the first public release. Bug reports and feedback are welcome through GitHub or here on GBATemp.

Switify is an independent project and is not affiliated with Spotify, Nintendo, or their subsidiaries.

Hope someone finds it useful!
 
Last edited by HiroshiYamauchi,

Site & Scene News

Popular threads in this forum