Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

TsVitch Switch: Difference between revisions

From GameBrew
m Text replacement - "ForTheUsers - " to "Homebrew App Store - "
No edit summary
Line 4: Line 4:
|description=TV finally on Switch.
|description=TV finally on Switch.
|author=giovannimirulla
|author=giovannimirulla
|lastupdated=2025/05/28
|lastupdated=2025/12/30
|type=Media Players
|type=Media Players
|version=0.2.1
|version=0.3.1
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/switchhomebrews/TsVitchSwitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/TsVitchSwitch.7z
Line 43: Line 43:
<youtube>yPR4c4CnRUI</youtube>
<youtube>yPR4c4CnRUI</youtube>


==Changelog==  
==Changelog==
'''v0.3.1'''
* macOS Compatibility
** '''Fixed macOS build compatibility''' with proper i18n string handling in live stream error dialog
** '''Fixed unsafe type casting''' in platform detection - replaced unchecked cast with safe null checks in settings, contributors, and sponsors views
** '''Fixed missing header include''' - added <code>&lt;thread&gt;</code> header in ChannelManager.cpp for proper compilation
** '''Fixed DownloadManager constructor initialization order''' on macOS for member variable initialization compliance
* Crash Fixes
** '''Fixed segmentation fault in HomeLive destructor''' - initialized <code>exitEventSubscription</code> member variable to prevent undefined behavior on app exit
** '''Fixed memory safety issue''' in event subscription cleanup
* Initialization &amp; Type Safety
** '''Fixed platform pointer null checks''' to prevent crashes when platform is unavailable
** '''Fixed string localization''' in live download error dialogs to use proper brls::getStr() instead of macro expansion
*Affected Components
** ChannelManager
** DownloadManager
** SettingsActivity
** ContributorsView
** SponsorsView
** StreamHelper utilities
** HomeLive fragment
*Technical Details
** Improved type safety by removing unsafe casts
** Enhanced macOS compatibility layer
** Fixed member initialization order in structs
** Proper initialization of event subscription members to prevent crashes on destruction
'''v0.3.0'''
*Full Download System
** '''Download Manager''' with multi-threaded + chunked downloads (optimized for Nintendo Switch)
** '''Downloads Tab''' to monitor active and completed downloads
** '''Advanced Controls''': pause, resume, cancel
** '''Auto Cover Fetch''' for each downloaded video
** '''Live Progress''' with speed and ETA
** '''Persistent State''': resume incomplete downloads after restart
** '''Parallel Downloads''' to maximize throughput
*Xtream Codes IPTV
** '''Full Xtream API''' integration for IPTV providers
** '''IPTV Mode Switcher''' between M3U8 and Xtream
** '''Category-Based''' channel organization
** '''Secure Auth''' for Xtream servers
** '''4.5x Faster Loading''' via optimized caching
*Playback Position Restore
** '''Smart Auto-Resume''': videos continue where you left off
** '''Mode-Aware''': differentiates live streams vs VOD
** '''Persistent Cache''' with 30-day expiry
** '''Smart Tracking''': ignores positions too close to start or end
*Live Download Prevention
** '''Auto Detection''' of live content by URL/title heuristics
** '''Live Download Block''' with clear, localized errors
** '''Centralized Helper''' for consistent behavior app-wide
*Contributors &amp; Sponsors
** '''Contributors View''' with avatars and stats from GitHub
** '''Sponsors View''' to highlight supporters
** '''QR Codes''' for quick access to repo and sponsor page
** '''GitHub API''' (REST + GraphQL) with 24h cache
*Ad Handling Improvements
** '''Automatic Fallback''': if an ad fails, skip to content
** '''No Interruptions''' even when ad servers are down
*UI/UX Improvements
** '''Video Progress Slider''' more responsive with better gestures
** '''Improved OSD''' for clearer on-screen controls
** '''Settings Reorg''' with a refreshed About section
** '''Fullscreen''' control handling polished
* Performance
** '''350% faster''' channel loading
** '''Memory Optimized''' RecyclingGrid
** '''Better Threading''' for background tasks
** '''Crash Fixes''' on app shutdown
* Networking &amp; API
** '''HTTP Chunked Transfer''' for large downloads
** '''Smarter Timeouts''' for slow networks
** '''Batch Requests''' to cut latency
** '''Robust Error Handling''' on network calls
* Channel System
** '''Full Refactor''' with multi-source support
** '''Event System''' for IPTV change notifications
** '''Download Detection''' of already-downloaded items
** '''Optimized Cache''' for metadata and playlists
* Localization
**New strings in '''Italian''', '''English''', and '''Brazilian Portuguese''':
*** <code>live_download_error</code> / <code>live_download_error_desc</code>
*** <code>contributors_header</code> / <code>sponsors_header</code>
*** <code>contrib_text</code> / <code>sponsor_qr</code>
* Bug Fixes
*'''Stability'''
** Fixed crashes on activity shutdown
** Fixed cache memory leak
** Fixed download race conditions
** Fixed thread sync issues
*'''Functionality'''
** Fixed IPTV channel cache
** Fixed Switch download banner
** Fixed duplicate download IDs
** Fixed live vs on-demand detection
** Fixed runtime IPTV mode switching
*'''UI/UX'''
** Fixed RecyclingGrid layout
** Fixed controller focus navigation
** Fixed transition glitches
** Fixed progress bars across themes
'''v0.2.1'''
'''v0.2.1'''
* Bug Fixes
* Bug Fixes

Revision as of 01:46, 4 January 2026

TsVitch
General
Authorgiovannimirulla
TypeMedia Players
Version0.3.1
LicenseGPL-3.0
Last Updated2025/12/30
Links
Download
Website
Source

TsVitch is a homebrew app that transforms the Nintendo Switch into a multimedia streaming device, featuring a user-friendly interface and extensive customization options.

Features

  • Stream IPTV channels directly on your Nintendo Switch (support for M3U playlists).
  • User interface designed for the Nintendo Switch touchscreen and Joy-Con controls.
  • Save your favorite channels.
  • View the history of watched channels.
  • Search bar and filters.
  • Includes a preloaded playlist sourced from the Free-TV/IPTV repository.
  • Cross-platform (Nintendo Switch and macOS).

Installation

Download tsvitch-NintendoSwitch.zip from Releases.

Place tsvitch.nro in the SD card under the switch directory.

On the home screen, hold the R button while opening any game to access hbmenu. From the list, select tsvitch and click to launch.

(Optional) Install a desktop shortcut within the app via: Settings/Utilities/User Guide.

Media

Tsvitch - TV su Switch ! (Modding Labs)

Changelog

v0.3.1

  • macOS Compatibility
    • Fixed macOS build compatibility with proper i18n string handling in live stream error dialog
    • Fixed unsafe type casting in platform detection - replaced unchecked cast with safe null checks in settings, contributors, and sponsors views
    • Fixed missing header include - added <thread> header in ChannelManager.cpp for proper compilation
    • Fixed DownloadManager constructor initialization order on macOS for member variable initialization compliance
  • Crash Fixes
    • Fixed segmentation fault in HomeLive destructor - initialized exitEventSubscription member variable to prevent undefined behavior on app exit
    • Fixed memory safety issue in event subscription cleanup
  • Initialization & Type Safety
    • Fixed platform pointer null checks to prevent crashes when platform is unavailable
    • Fixed string localization in live download error dialogs to use proper brls::getStr() instead of macro expansion
  • Affected Components
    • ChannelManager
    • DownloadManager
    • SettingsActivity
    • ContributorsView
    • SponsorsView
    • StreamHelper utilities
    • HomeLive fragment
  • Technical Details
    • Improved type safety by removing unsafe casts
    • Enhanced macOS compatibility layer
    • Fixed member initialization order in structs
    • Proper initialization of event subscription members to prevent crashes on destruction

v0.3.0

  • Full Download System
    • Download Manager with multi-threaded + chunked downloads (optimized for Nintendo Switch)
    • Downloads Tab to monitor active and completed downloads
    • Advanced Controls: pause, resume, cancel
    • Auto Cover Fetch for each downloaded video
    • Live Progress with speed and ETA
    • Persistent State: resume incomplete downloads after restart
    • Parallel Downloads to maximize throughput
  • Xtream Codes IPTV
    • Full Xtream API integration for IPTV providers
    • IPTV Mode Switcher between M3U8 and Xtream
    • Category-Based channel organization
    • Secure Auth for Xtream servers
    • 4.5x Faster Loading via optimized caching
  • Playback Position Restore
    • Smart Auto-Resume: videos continue where you left off
    • Mode-Aware: differentiates live streams vs VOD
    • Persistent Cache with 30-day expiry
    • Smart Tracking: ignores positions too close to start or end
  • Live Download Prevention
    • Auto Detection of live content by URL/title heuristics
    • Live Download Block with clear, localized errors
    • Centralized Helper for consistent behavior app-wide
  • Contributors & Sponsors
    • Contributors View with avatars and stats from GitHub
    • Sponsors View to highlight supporters
    • QR Codes for quick access to repo and sponsor page
    • GitHub API (REST + GraphQL) with 24h cache
  • Ad Handling Improvements
    • Automatic Fallback: if an ad fails, skip to content
    • No Interruptions even when ad servers are down
  • UI/UX Improvements
    • Video Progress Slider more responsive with better gestures
    • Improved OSD for clearer on-screen controls
    • Settings Reorg with a refreshed About section
    • Fullscreen control handling polished
  • Performance
    • 350% faster channel loading
    • Memory Optimized RecyclingGrid
    • Better Threading for background tasks
    • Crash Fixes on app shutdown
  • Networking & API
    • HTTP Chunked Transfer for large downloads
    • Smarter Timeouts for slow networks
    • Batch Requests to cut latency
    • Robust Error Handling on network calls
  • Channel System
    • Full Refactor with multi-source support
    • Event System for IPTV change notifications
    • Download Detection of already-downloaded items
    • Optimized Cache for metadata and playlists
  • Localization
    • New strings in Italian, English, and Brazilian Portuguese:
      • live_download_error / live_download_error_desc
      • contributors_header / sponsors_header
      • contrib_text / sponsor_qr
  • Bug Fixes
  • Stability
    • Fixed crashes on activity shutdown
    • Fixed cache memory leak
    • Fixed download race conditions
    • Fixed thread sync issues
  • Functionality
    • Fixed IPTV channel cache
    • Fixed Switch download banner
    • Fixed duplicate download IDs
    • Fixed live vs on-demand detection
    • Fixed runtime IPTV mode switching
  • UI/UX
    • Fixed RecyclingGrid layout
    • Fixed controller focus navigation
    • Fixed transition glitches
    • Fixed progress bars across themes

v0.2.1

  • Bug Fixes
    • Channel loading is now faster.
    • Various fixes and stability improvements.

v0.2.0

  • New Features
    • Favorites: You can now save your favorite channels.
    • History: View the history of watched channels.
    • Search bar: Quickly search among channels.
    • Filters: Channel list filtering and added country list.
    • Improved image display: Fixed how channel and interface images are shown.
    • Enhanced navigation: Added "Next" and "Previous" buttons for easier channel browsing.
    • Translations: New languages and updates to existing translations.
  • Improvements
    • Sidebar improved with new buttons.
    • Optimized images and logo display.
  • Bug Fixes
    • Various fixes and stability improvements.

v0.1.0

  • First Release.

External links

Advertising: