GithubHelp home page GithubHelp logo

krtirtho / spotube Goto Github PK

View Code? Open in Web Editor NEW
24.4K 112.0 989.0 115.82 MB

๐ŸŽง Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!

Home Page: https://spotube.krtirtho.dev/

License: Other

Shell 0.92% Kotlin 0.01% Swift 0.28% Objective-C 0.01% Dart 91.24% CMake 1.24% C++ 2.10% C 0.11% HTML 0.53% Inno Setup 0.57% Makefile 0.12% PowerShell 0.12% Ruby 0.25% Java 0.05% Python 0.07% TypeScript 0.73% CSS 0.08% JavaScript 0.18% Svelte 1.39%
spotify youtube desktop-client music-player music flutter flutter-desktop windows linux macos

spotube's Introduction

Spotube Logo

An open source, cross-platform Spotify client compatible across multiple platforms
utilizing Spotify's data API and YouTube, Piped.video or JioSaavn as an audio source,
eliminating the need for Spotify Premium

Btw it's not just another Electron app ๐Ÿ˜‰

Visit the website Discord Server

Support me on Patron Buy me a Coffee

HackerNews

Donate to our Open Collective


Spotube Desktop

Spotube Mobile

๐ŸŒƒ Features

  • ๐Ÿšซ No ads, thanks to the use of public & free Spotify and YT Music APIsยน
  • โฌ‡๏ธ Freely downloadable tracks
  • ๐Ÿ–ฅ๏ธ ๐Ÿ“ฑ Cross-platform support
  • ๐Ÿชถ Small size & less data usage
  • ๐Ÿ•ต๏ธ Anonymous/guest login
  • ๐Ÿ•’ Time synced lyrics
  • โœ‹ No telemetry, diagnostics or user data collection
  • ๐Ÿš€ Native performance
  • ๐Ÿ“– Open source/libre software
  • ๐Ÿ”‰ Playback control is done locally, not on the server

ยน It is still recommended to support creators by engaging with their YouTube channels/Spotify tracks (or preferably by buying their merch/concert tickets/physical media).

โŒ Unsupported features

  • ๐Ÿ—ฃ๏ธ Spotify Shows & Podcasts: Shows and Podcasts will never be supported because the audio tracks are only available on Spotify and accessing them would require Spotify Premium.
  • ๐ŸŽง Spotify Listen Along: Coming soon!

๐Ÿ“œ โฌ‡๏ธ Installation guide

New versions usually release every 3-4 months.
This handy table lists all the methods you can use to install Spotube:

Platform Package/Installation Method
Windows Windows Download
MacOS MacOS Download
Android Get it on Google Play
APK download
Download from F-Droid
Flatpak

flatpak install com.github.KRTirtho.Spotube

Download on Flathub
AppImage AppImage's lacking stability led to it's temporal removal. More information at #1082
Debian/Ubuntu Debian/Ubuntu Download

Then run: sudo apt install ./Spotube-linux-x86_64.deb

Arch/Manjaro

With pamac: sudo pamac install spotube-bin

With yay: yay -Sy spotube-bin

Fedora/OpenSuse Fedora/OpenSuse Download

For Fedora: sudo dnf install ./Spotube-linux-x86_64.rpm

For OpenSuse: sudo zypper in ./Spotube-linux-x86_64.rpm

Linux (tarball) Tarball Download
Macos - Homebrew
brew tap krtirtho/apps
brew install --cask spotube
Windows - Chocolatey

choco install spotube

Windows - Scoop

scoop bucket add extras

scoop install spotube

Windows - WinGet

winget install --id KRTirtho.Spotube

๐Ÿ”„ Nightly Builds

Grab the latest nightly builds of Spotube from the GitHub Releases.

๐Ÿ•ณ๏ธ Building from source

GitHub Workflow Status

You can compile Spotube's source code by following these instructions.

๐Ÿ‘ฅ The Spotube team

๐Ÿ’ผ License

Spotube is open source and licensed under the BSD-4-Clause License.

If you are concerned, you can read the reason of choosing this license.

[Click to show] ๐Ÿ™ Services/Package/Plugin Credits

Services

  1. Flutter - Flutter transforms the app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase
  2. Spotify API - The Spotify Web API is a RESTful API that provides access to Spotify data
  3. Piped - Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design.
  4. YouTube - YouTube is an American online video-sharing platform headquartered in San Bruno, California. Three former PayPal employeesโ€”Chad Hurley, Steve Chen, and Jawed Karimโ€”created the service in February 2005
  5. JioSaavn - JioSaavn is an Indian online music streaming service and a digital distributor of Bollywood, English and other regional Indian music across the world. Since it was founded in 2007 as Saavn, the company has acquired rights to over 5 crore (50 million) music tracks in 15 languages
  6. SongLink - SongLink is a free smart link service that helps you share music with your audience. It's a one-stop-shop for creating smart links for music, podcasts, and other audio content
  7. LRCLib - A public synced lyric API
  8. Linux - Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution
  9. AUR - AUR stands for Arch User Repository. It is a community-driven repository for Arch-based Linux distributions users
  10. Flatpak - Flatpak is a utility for software deployment and package management for Linux
  11. SponsorBlock - SponsorBlock is an open-source crowdsourced browser extension and open API for skipping sponsor segments in YouTube videos.
  12. Inno Setup - Inno Setup is a free installer for Windows programs by Jordan Russell and Martijn Laan
  13. F-Droid - F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device
  14. LastFM - Last.fm is a music streaming and discovery platform that helps users discover and share new music. It tracks users' music listening habits across many devices and platforms.

Dependencies

  1. args - Library for defining parsers for parsing raw command-line arguments into a set of options and values using GNU and POSIX style options.
  2. async - Utility functions and classes related to the 'dart:async' library.
  3. audio_service - Flutter plugin to play audio in the background while the screen is off.
  4. audio_session - Sets the iOS audio session category and Android audio attributes for your app, and manages your app's audio focus, mixing and ducking behaviour.
  5. auto_size_text - Flutter widget that automatically resizes text to fit perfectly within its bounds.
  6. buttons_tabbar - A Flutter package that implements a TabBar where each label is a toggle button.
  7. cached_network_image - Flutter library to load and cache network images. Can also be used with placeholder and error widgets.
  8. catcher_2 - Plugin for error catching which provides multiple handlers for dealing with errors when they are not caught by the developer.
  9. collection - Collections and utilities functions and classes related to collections.
  10. cupertino_icons - Default icons asset for Cupertino widgets based on Apple styled icons
  11. curved_navigation_bar - Stunning Animating Curved Shape Navigation Bar. Adjustable color, background color, animation curve, animation duration.
  12. dbus - A native Dart implementation of the D-Bus message bus client. This package allows Dart applications to directly access services on the Linux desktop.
  13. device_info_plus - Flutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app is running on.
  14. device_preview - Approximate how your Flutter app looks and performs on another device.
  15. dio - A powerful HTTP networking package,supports Interceptors,Aborting and canceling a request,Custom adapters, Transformers, etc.
  16. disable_battery_optimization - Flutter plugin to check and disable battery optimizations. Also shows custom steps to disable the optimizations in devices like mi, xiaomi, samsung, oppo, huawei, oneplus etc
  17. duration - Utilities to make working with 'Duration's easier. Formats duration in human readable form and also parses duration in human readable form to Dart's Duration.
  18. envied - Explicitly reads environment variables into a dart file from a .env file for more security and faster start up times.
  19. file_selector - Flutter plugin for opening and saving files, or selecting directories, using native file selection UI.
  20. fluentui_system_icons - Fluent UI System Icons are a collection of familiar, friendly and modern icons from Microsoft.
  21. flutter_cache_manager - Generic cache manager for flutter. Saves web files on the storages of the device and saves the cache info using sqflite.
  22. flutter_displaymode - A Flutter plugin to set display mode (resolution, refresh rate) on Android platform. Allows to enable high refresh rate on supported devices.
  23. flutter_feather_icons - Feather is a collection of simply beautiful open source icons. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and usability.
  24. flutter_hooks - A flutter implementation of React hooks. It adds a new kind of widget with enhanced code reuse.
  25. flutter_inappwebview - A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.
  26. flutter_native_splash - Customize Flutter's default white native splash screen with background color and splash image. Supports dark mode, full screen, and more.
  27. flutter_riverpod - A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
  28. flutter_secure_storage - Flutter Secure Storage provides API to store data in secure storage. Keychain is used in iOS, KeyStore based solution is used in Android.
  29. flutter_svg - An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
  30. form_validator - Simplest form validation library for flutter's form field widgets
  31. fuzzywuzzy - An implementation of the popular fuzzywuzzy package in Dart, to suit all your fuzzy string matching/searching needs!
  32. go_router - A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more
  33. google_fonts - A Flutter package to use fonts from fonts.google.com. Supports HTTP fetching, caching, and asset bundling.
  34. hive - Lightweight and blazing fast key-value database written in pure Dart. Strongly encrypted using AES-256.
  35. hive_flutter - Extension for Hive. Makes it easier to use Hive in Flutter apps.
  36. hooks_riverpod - A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
  37. html - APIs for parsing and manipulating HTML content outside the browser.
  38. http - A composable, multi-platform, Future-based API for HTTP requests.
  39. image_picker - Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera.
  40. intl - Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.
  41. introduction_screen - Introduction/Onboarding package for flutter app with some customizations possibilities
  42. json_annotation - Classes and helper functions that support JSON code generation via the json_serializable package.
  43. logger - Small, easy to use and extensible logger which prints beautiful logs.
  44. media_kit - A cross-platform video player & audio player for Flutter & Dart. Performant, stable, feature-proof & modular.
  45. media_kit_libs_audio - package:media_kit audio (only) playback native libraries for all platforms.
  46. metadata_god - Plugin for retrieving and writing audio tags/metadata from audio files
  47. mime - Utilities for handling media (MIME) types, including determining a type from a file extension and file contents.
  48. package_info_plus - Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.
  49. palette_generator - Flutter package for generating palette colors from a source image.
  50. path - A string-based path manipulation library. All of the path operations you know and love, with solid support for Windows, POSIX (Linux and Mac OS X), and the web.
  51. path_provider - Flutter plugin for getting commonly used locations on host platform file systems, such as the temp and app data directories.
  52. permission_handler - Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.
  53. popover - A popover is a transient view that appears above other content onscreen when you tap a control or in an area.
  54. scroll_to_index - Scroll to a specific child of any scrollable widget in Flutter
  55. sidebarx - flutter multiplatform navigation sidebar / side navigationbar / drawer widget
  56. shared_preferences - Flutter plugin for reading and writing simple key-value pairs. Wraps NSUserDefaults on iOS and SharedPreferences on Android.
  57. skeleton_text - A package that provides an easy way to add skeleton text loading animation in Flutter project. This project is a part of 101Loop community.
  58. smtc_windows - Windows SystemMediaTransportControls implementation for Flutter giving access to Windows OS Media Control applet.
  59. stroke_text - A Simple Flutter plugin for applying stroke (border) style to a text widget
  60. system_theme - A plugin to get the current system theme info. Supports Android, Web, Windows, Linux and macOS
  61. titlebar_buttons - A package which provides most of the titlebar buttons from windows, linux and macos.
  62. url_launcher - Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes.
  63. uuid - RFC4122 (v1, v4, v5, v6, v7, v8) UUID Generator and Parser for Dart
  64. version - Provides a simple class for parsing and comparing semantic versions as defined by http://semver.org/
  65. visibility_detector - A widget that detects the visibility of its child and notifies a callback.
  66. window_manager - This plugin allows Flutter desktop apps to resizing and repositioning the window.
  67. youtube_explode_dart - A port in dart of the youtube explode library. Supports several API functions without the need of Youtube API Key.
  68. simple_icons - The Simple Icon pack available as Flutter Icons. Provides over 1500 Free SVG icons for popular brands.
  69. audio_service_mpris - audio_service platform interface supporting Media Player Remote Interfacing Specification.
  70. file_picker - A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.
  71. jiosaavn - Unofficial API client for jiosaavn.com
  72. very_good_infinite_list - A library for easily displaying paginated data, created by Very Good Ventures. Great for activity feeds, news feeds, and more.
  73. gap - Flutter widgets for easily adding gaps inside Flex widgets such as Columns and Rows or scrolling views.
  74. sliver_tools - A set of useful sliver tools that are missing from the flutter framework
  75. html_unescape - A small library for un-escaping HTML. Supports all Named Character References, Decimal Character References and Hexadecimal Character References.
  76. wikipedia_api - Wikipedia API for dart and flutter
  77. skeletonizer - Converts already built widgets into skeleton loaders with no extra effort.
  78. app_links - Android App Links, Deep Links, iOs Universal Links and Custom URL schemes handler for Flutter (desktop included).
  79. win32_registry - A package that provides a friendly Dart API for accessing the Windows Registry.
  80. flutter_sharing_intent - A flutter plugin that allow flutter apps to receive photos, videos, text, urls or any other file types from another app.
  81. flutter_broadcasts - A plugin for sending and receiving broadcasts with Android intents and iOS notifications.
  82. freezed_annotation - Annotations for the freezed code-generator. This package does nothing without freezed too.
  83. spotify - An incomplete dart library for interfacing with the Spotify Web API.
  84. bonsoir - A Zeroconf library that allows you to discover network services and to broadcast your own. Based on Apple Bonjour and Android NSD.
  85. shelf - A model for web server middleware that encourages composition and easy reuse.
  86. shelf_router - A convenient request router for the shelf web-framework, with support for URL-parameters, nested routers and routers generated from source annotations.
  87. shelf_web_socket - A shelf handler that wires up a listener for every connection.
  88. web_socket_channel - StreamChannel wrappers for WebSockets. Provides a cross-platform WebSocketChannel API, a cross-platform implementation of that API that communicates over an underlying StreamChannel.
  89. lrc - A Dart-only package that creates, parses, and handles LRC, which is a format that stores song lyrics.
  90. pub_api_client - An API Client for Pub to interact with public package information.
  91. pubspec_parse - Simple package for parsing pubspec.yaml files with a type-safe API and rich error reporting.
  92. timezone - Time zone database and time zone aware DateTime.
  93. crypto - Implementations of SHA, MD5, and HMAC cryptographic functions.
  94. build_runner - A build system for Dart code generation and modular compilation.
  95. envied_generator - Generator for the Envied package. See https://pub.dev/packages/envied.
  96. flutter_distributor - A complete tool for packaging and publishing your Flutter apps.
  97. flutter_gen_runner - The Flutter code generator for your assets, fonts, colors, โ€ฆ โ€” Get rid of all String-based APIs.
  98. flutter_launcher_icons - A package which simplifies the task of updating your Flutter app's launcher icon.
  99. flutter_lints - Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.
  100. hive_generator - Extension for Hive. Automatically generates TypeAdapters to store any class.
  101. json_serializable - Automatically generate code for converting to and from JSON by annotating Dart classes.
  102. freezed - Code generation for immutable classes that has a simple syntax/API without compromising on the features.
  103. custom_lint - Lint rules are a powerful way to improve the maintainability of a project. Custom Lint allows package authors and developers to easily write custom lint rules.
  104. riverpod_lint - Riverpod_lint is a developer tool for users of Riverpod, designed to help stop common issues and simplify repetitive tasks.
  105. flutter_desktop_tools - Essential collection of tools for flutter desktop app development
  106. piped_client - API Client for piped.video
  107. scrobblenaut - A deadly simple LastFM API Wrapper for Dart. So deadly simple that it's gonna hit the mark.
  108. window_size - Allows resizing and repositioning the window containing Flutter.
  109. draggable_scrollbar - A scrollbar that can be dragged for quickly navigation through a vertical list. Additional option is showing label next to scrollthumb with information about current item.
  110. dart_discord_rpc - Discord Rich Presence for Flutter & Dart apps & games.

ยฉ Copyright Spotube 2024

spotube's People

Contributors

demizo avatar dependabot[bot] avatar elonmusk2002 avatar firapinch avatar flexagoon avatar franchioping avatar highjeans avatar karniv00l avatar krtirtho avatar maboroshin avatar meenbeese avatar merkomassdev avatar olivier2 avatar powenn avatar raptag avatar razuuu avatar romanjos avatar rustyapple avatar sappho192 avatar secularsteve avatar steliospapamichail avatar stephan-p avatar taha-ghadirian avatar tduffinntu avatar thatonecalculator avatar tutislav avatar vedantmgoyal9 avatar victj99 avatar vishwassaini25 avatar yuri-val avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spotube's Issues

Doesn't open on Windows 10 LTSC

Hello, I just installed the last version 2.0.0 of Spotube and it doesn't open. It installs just fine , no errors at all but it simply doesn't launch when I double click on the application icon. Windows 10 LTSC 1809 Build 17763.2686

Full Playlist or Album Download ?

Is your feature request related to a problem? Please describe.
How to download an entire Album or Playlist ? afaik the download button only downloads one single track.

Describe the solution you'd like
maybe a download button for the entire playlist somewhere on the top of the playlist page

Describe alternatives you've considered
alternative is to use ytdlp to download the playlist.

Additional context

Links

Can you make it so I can open links with the app?

Android Auto

Android auto implementation (similar to Spotify and VLC) can be very good for the app.

Minimize to System Tray support

Is your feature request related to a problem? Please describe.
Background playback will land spotube on Billboard Top 100!

Describe the solution you'd like
Take the example of Dopamine. This is how they do it:

image

Describe alternatives you've considered
Resort to downloading music and playing them in Dopamine, or reverting back to good ol' Spotify.

Additional context
spotube is a really creative idea, props to you ๐ŸŽ‰

Use SponcerBlock api to skip silence and skip non music portions

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Spotify Listen Along

Is your feature request related to a problem? Please describe.
I was wondering there could be support for Spotify Play Along.

Describe the solution you'd like
A way to use Spotify Play Along (if not already there)

Describe alternatives you've considered
Discord plug-in but I get ads.

Spotube doesn't run under Windows 10 LTSC

Describe the bug
I just installed the last version 2.0.0 of Spotube and it doesn't open. It installs just fine , with no errors at all but it simply doesn't launch when I double click on the application icon.

To Reproduce
Steps to reproduce the behavior:

  1. Download Spotube
  2. Double click on setup
  3. Install
  4. Nothing happens after that , Spotube doesn't start.

Expected behavior
Spotube installs just fine , with no errors at all but it simply doesn't launch when I double click on the application icon.

Screenshots
If applicable, add screenshots to help explain your problem.

Installation Source/Method

  • Package Manager: <e.g flatpak/chocolatey>
  • Community Repo: <e.g AUR/appimagehub>
  • Binary Source: <resource_url>

Desktop (please complete the following information):

  • OS: [Windows 10 LTSC 64-bit]
  • Version [1809 Build 17763.2686]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Version [e.g. v1.0.0]

Additional context
Add any other context about the problem here.

cannot install v2 on android 12

Describe the bug
I downloaded the arm64 version on GitHub releases and tried to install it but failed

To Reproduce
Steps to reproduce the behavior:

  1. Go to GitHub releases
  2. Download arm64 android version
  3. Install apk via Package Installer, or via SAI (split apk installer) which also contains error logs.
  4. See error:
Rooted installer error:

 Device: Redmi Redmi Note 9S | Not MIUI | Android 12 | Using FilterApkSource ApkSource implementation | SAI 4.5

APK manifest is malformed

Command: pm install-commit 1618081676
Exit code: 1
Out:
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl1618081676.tmp/base.apk (at Binary XML file line #71): com.ryanheise.audioservice.AudioService: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]
=============
Err:

Expected behavior
Spotube should be installed.

Screenshots
Screenshot_20220324-235526_Quickstep

Smartphone (please complete the following information):

  • Device: Redmi Note 9S
  • OS: Android 12
  • Version 2.0.0

[ANDROID] Android 12 is not supported

Describe the bug
Targeting Android 12 requires explicit declarations for intent filters as you can read here otherwise the app can not be installed on Android 12 or higher.

I confirm it works fine on Android 11 and below, thank you for making the app available to Android as well! ๐Ÿš€

To Reproduce
Steps to reproduce the behavior:
Try to install the app on an Android 12 device/simulator. You will get an error.
If you do it via adb using adb install Spotube-android-arm64-v8a.apk you will see the error

Performing Streamed Install
adb: failed to install Spotube-android-arm64-v8a.apk: Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl1273277488.tmp/base.apk (at Binary XML file line #71): com.ryanheise.audioservice.AudioService: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]

Expected behavior
App should be installable on Android 12 and higher

Installation Source/Method

Smartphone (please complete the following information):

  • Device: Any Android device
  • OS: Android 12

Additional context
If you don't have time to fix it, I will be happy making a PR in the following days!

Authentication Succesful But Nothing Happens

So I can put in the ClientID and the SecretID and then it'll bring me to the proper authorize access page BUT then it gets stuck on successful with nothing changing in the app. Sits on the submit page where I keep opening the allow access page. I am having this issue on Android and Windows.

Expected behavior
Should Log me in.

Desktop:

  • OS: Windows 10
  • Version: Latest

Smartphone (please complete the following information):

  • Device: Pixel 6 Pro
  • OS: Android
  • Version: Lastest

Song Choice

Describe the bug
Some songs are different from the ones in Spotify. It looks like spotube is fetching the top YouTube Music result, which sometimes can be different.

To Reproduce
Steps to reproduce the behavior:

  1. Add a song like Chasing Cars by Snow Patrol to your playlist
  2. Play it

Around 2:09, Gary sings:

Let's waste time
Chasing cars
Around our heads.

Then the beat drops.

In reality, there is another stanza following that before the beat drops:

I need your grace
To remind me
To find my own

Expected behavior
I want spotube to get the original song. This means that most of the time, official music videos are not good for this because there is a whole bunch of other stuff added (it's a video). But even with audio, I feel like there should be preference given to channels that make lyrics videos such as 7clouds or DopeLyrics, they usually do a good job at cutting out all the fluff while maintaining integrity.

Installation Source/Method

Desktop (please complete the following information):

  • OS: Windows
  • Version: v1.2.0

Additional context
Thanks for your assistance.

Recently Followed Spotify playlists do not appear in spotube

Describe the bug
When I heart a playlist in Spotify Web, it doesn't appear on spotube.

To Reproduce
Steps to reproduce the behavior:

  1. Heart this playlist in your browser
  2. Check back in spotube if playlist has been added

Expected behavior
There should be some kind of refresh button that allows users to check for changes. But I did try logging out and back in, and the recently hearted playlist was not there.

Installation Source/Method

Desktop (please complete the following information):

  • OS: Windows
  • Version: v1.2.0

Additional context
Something else I noticed is that when I search for playlists on spotube, I only get YouTube playlists, not Spotify. I believe Spotify playlists should appear in the results, and it would be awesome to have something that can distinguish between the two (maybe green vs red, or Spotify vs YouTube icons for people with color vision deficiency).

Can't play any song on MacOS

Describe the bug
Cannot play any song on MacOS

To Reproduce
Steps to reproduce the behavior:

  1. Open app
  2. Click on any song
  3. It never starts

Expected behavior
The song begins

Installation Source/Method

  • Compiled from source with flutter run -d macos

Desktop (please complete the following information):

  • OS: MacOS Monterey (Intel)
  • Version: 12.1

Additional context
Error logs:

flutter: [Player._playTrack()] (-1002) unsupported URL
flutter: #0      AudioPlayer._load (package:just_audio/just_audio.dart:778:9)
<asynchronous suspension>
#1      AudioPlayer._setPlatformActive.setPlatform (package:just_audio/just_audio.dart:1346:28)
<asynchronous suspension>

flutter: [Player._playTrack()] (-1002) unsupported URL
flutter: #0      AudioPlayer._load (package:just_audio/just_audio.dart:778:9)
<asynchronous suspension>
#1      AudioPlayer._setPlatformActive.setPlatform (package:just_audio/just_audio.dart:1346:28)
<asynchronous suspension>
#2      AudioPlayer.play (package:just_audio/just_audio.dart:852:28)
<asynchronous suspension>
#3      _PlayerState.build.<anonymous closure>.<anonymous closure> (package:spotube/components/Player/Player.dart:266:25)
<asynchronous suspension>
#4      _PlayerControlsState._playOrPause (package:spotube/components/Player/PlayerControls.dart:54:51)
<asynchronous suspension>

flutter: [PlayerControls.onPlay()] MissingPluginException(No implementation found for method play on channel com.ryanheise.just_audio.methods.0da27819-4fea-44be-9760-3ab4d0a51324)
flutter: #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:165:7)
<asynchronous suspension>
#1      MethodChannelAudioPlayer.play (package:just_audio_platform_interface/method_channel_just_audio.dart:56:34)
<asynchronous suspension>
#2      AudioPlayer._sendPlayRequest (package:just_audio/just_audio.dart:890:7)
<asynchronous suspension>

Android support

Why we can't have an android release on this application?

Spotube doesn't remember theme setting

Describe the bug
When you save your theme preference, and exit the Spotube it goes back to the system theme (which is white for unknown reason).

To Reproduce
Steps to reproduce the behavior:

  1. Go to settings
  2. Select dark theme
  3. exit the app
  4. theme will be set again back to System option.

Expected behavior
Theme option should be remembered.

Installation Source/Method

  • Package Manager: flatpak
  • Community Repo: idk
  • Binary Source: idk

Desktop (please complete the following information):

  • OS: EndeavourOS
  • Version KDE Plasma 5.24.4, Kernel: 5.17.1-arch1-1

App Window Name is APP_NAME

the window is called APP_NAME and when going to the Window menu in the macOS menu bar it has APP_NAME this is really weird.
Screen Shot 2022-02-03 at 7 13 56 PM

UI on mac has Windows minus square and x

Describe the bug
On MacOS the title bar contains both the radio buttons that are on mac and the Windows buttons. Also in settings, the back button is under the macOS radio buttons.

To Reproduce
Steps to reproduce the behavior:

  1. Login
  2. Look at the top right and left
  3. Click on the gear
  4. Look at the top left.

Screenshots
Screen Shot 2022-02-02 at 4 15 36 PM
Screen Shot 2022-02-02 at 4 17 24 PM

Desktop (please complete the following information):

  • OS: MacOS

MSVCP140.dll & VCRUNTIME140.dll not found error

After installing the windows version on my HP Pavillion/2021 model/Windows 10 and trying to run, all I get is pop up errors of "MSVCP140.dll not found" followed by "VCRUNTIME140.dll not found". Uninstalled and re-installed a few times with no success and same behavior each time.

Please change the logo it does not look that good like the app which is gorgeous

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

spotify login

when trying to use spotify login after getting client id and client secret and pressing submit, the link it opens only shows "INVALID_CLIENT: Invalid redirect URI". to be fair i could be doing something wrong but some help would be appreciated (:

Test

This is a test

No automatic reproduction of next songs in the Flatpak version

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Installation Source/Method

  • Package Manager: <e.g flatpak/chocolatey>
  • Community Repo: <e.g AUR/appimagehub>
  • Binary Source: <resource_url>

Desktop (please complete the following information):

  • OS: [e.g. archlinux]
  • Version [e.g. v1.0.0]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Version [e.g. v1.0.0]

Additional context
Add any other context about the problem here.

No server seems to listen to the port

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Launch App
  2. Add credentials (Client ID/Secret)
  3. It opens your browser and you give access
  4. After giving permissions, nothing listen to the port

Expected behavior
Supposed to open the app after going to http://localhost:4304/auth/spotify/callback

Screenshots
Screenshot 2022-02-08 at 00 22 43

Installation Source/Method
Spotube-macos-x86_64.dmg v1.1.0

Desktop:
Mac OS Darwin Kernel Version 19.6.0 Intel 2020

No sound

I have no sound when audio is playing below 99%< ONLY plays when 100%. No clue why, i'm using Manjaro Budgie.

Android client on F-Droid

First of all great work. I am really enjoying the app so far. Any chance of seeing the android app uploaded to F-Droid

Pressing the spacebar while searching pauses/plays music

Describe the bug
When you search for a artist / song that contains a space, playback while resume or be paused.

To Reproduce
Steps to reproduce the behavior:

  1. Play any song
  2. Click on "Search"
  3. Click on the search bar (the search bar is highlighted)
  4. While the song is playing, type any artist / song that contains a space

Expected behavior
Pressing the spacebar while the search bar is focused should not interrupt the playback.

Installation Source/Method
https://github.com/KRTirtho/spotube/releases/download/v1.2.0/Spotube-windows-x86_64-setup.exe

Desktop:
Windows 10

Authorization Successful and then nothing happens

Describe the bug
A clear and concise description of what the bug is.
Authorization is successful but after that nothing happens, it stays stuck on the screen where it asks for credentials
To Reproduce
Steps to reproduce the behaviour:

  1. launch the app
  2. Add credentials
  3. authorize yourself

Installation Source/Method

Desktop (please complete the following information):

  • OS: Arch
  • Version :2022.01.01

[Flatpak] Follow system theme

Is your feature request related to a problem? Please describe.
Currently when you enter the app for the first time, it has a white theme, which is inconsistent with the system if you're using a dark theme system-wide and the apps adopt this.

Describe the solution you'd like
The app should follow the system theme by default. If the OS or desktop environment theme is dark, the app should have a dark theme, and vice versa. Manual theming options should of course still be accessible, but the default option should be "Follow system theme."

My specs
OS: EndeavourOS
App version Spotube v2.0.0
DE: KDE Plasma 5.24.4
App package installed: Flatpak

[bug] Authorization failed start over!

EDIT: Solution link

Describe the bug
When entering the correct Spotify Client ID and Client Secret, pressing Submit opens a blank browser page saying Authorization failed start over!

To Reproduce
Steps to reproduce the behavior:

  1. Go to Spotube
  2. Click on Settings gear icon
  3. Scroll down to Login with your Spotify account
  4. Press Connect with Spotify
  5. Enter correct information for login
  6. The error appears in a web browser window.

Expected behavior
After pressing Submit, it should successfully connect to the server and sign me in.

Screenshots
image

Installation Source/Method

  • Package Manager: flatpak
  • Community Repo: (i don't know, installed with "$ flatpak install flathub com.github.KRTirtho.Spotube")
  • Binary Source: <resource_url>

Desktop (please complete the following information):

  • OS: EndeavourOS
  • Version Kernel: 5.17.1-arch1-1
  • DE: KDE Plasma 5.24.4

Homebrew support

It would be nice to be able to install from a package manager like Homebrew.

Unable to build

Describe the bug
Unable to build in Github Actions

To Reproduce
Steps to reproduce the behavior:

  1. Start workflow for building

Expected behavior
Finish building

Fix "https://github.com/KRTirtho/spotube#configuration" to "https://github.com/KRTirtho/spotube#optional-configurations"

What an amazing app. The first impression was very good. I love it.

Now let's come to a simple problem I noticed:
If you are not logged into your Spotify account, Spotube will give us a link to this text, "How to get these client-id & client-secret?" like this:
image

But this link redirects the user to: https://github.com/KRTirtho/spotube#configuration -------------> which doesn't exist. Probably an old link.
Instead redirecting users to: https://github.com/KRTirtho/spotube#optional-configurations -------> which exists and works as intended.

For noob users going through the ReadMe section which has a lot of other different sections, they might find it strange/annoying. I figured this out later. I even changed my browser from Firefox to Chromium and realized it's not really a browser's fault.

Please add a new link for the next release.

Distro: Fedora 36
Package from: Flatpak

AlbumCard size problem

Describe the bug
AlbumCard header and detail texts are not fit well.

To Reproduce
Steps to reproduce the behavior:

  1. Launch App
  2. Type "kazฤฑlฤฑ kuyum" to search box.

Expected behavior
Same width and same height for each AlbumCard.

Screenshots
image

macOS Support

I was looking to install this on my Mac but there is binary available. There is a Mac folder at the root of the repository, so it shouldn't be that hard to compile and add the binary to the releases.

Can't play full song

Describe the bug
I'm unable to play the full song only a portion of it.

To Reproduce
Steps to reproduce the behavior:

  1. Search for Sunny You by Kaori Ishihara
  2. Click on track https://open.spotify.com/track/0FyU6kEfsxmlMpAbGzttE3
  3. See runtime of 1:30 instead of 3:58
  4. Add to like and try again
  5. Same issue

Expected behavior
Track to play in full instead of a small portion.

Screenshots
Screenshot_20220405-130537_Spotube

Smartphone (please complete the following information):

  • Device: Pixel 4a
  • OS: Android 11 via MicroG4LineageOS 18.1
  • Version 2.0.0

Additional context
N/A

[Suggestion] Improved logo, more themes, and compare YT length with Spotify song length

  1. I feel like the logo doesn't match up with the quality of the app. A more simplistic icon would match the app better
  2. Would be great to have more option on the theme settings. The "dark" mode is still a bit too bright to me. A color picker would be a great alternative too
  3. Compare song length from Spotify to YT to make sure the streamed songs are not from the music video or some sort that might have added sounds/clips. Could be done by making sure the YT song is +/- withing couple a seconds of the Spotify song length

On an unrelated note, I found a bug where some of the playlist suggestion wouldn't load and I can't scroll past it because it'll pull me back to that section

Open in spotube From Spotify Web

Is your feature request related to a problem? Please describe.
When I find a Spotify song or playlist on my browser, I can't redirect it to spotube.

Describe the solution you'd like
It would be so cool to have Chrome or Firefox tell me to open in spotube when it detects it's a Spotify song/playlist link.

Describe alternatives you've considered
Go back and play playlist in Spotify.

Additional context
Appreciate your help.

Options too far apart

Is your feature request related to a problem? Please describe.
When the app is fullscreen or in a bigger sized window, the settings and their toggles are too far apart so not obvious that they're together. See screenshot below.

Describe the solution you'd like
Put the settings from left/right closer.

Additional context
Screenshot:
image

The spotube-bin on the aur doesn't work

Describe the bug
The spotube-bin on the aur does not work

To Reproduce
Steps to reproduce the behaviour:
On installing spotube and trying to launch it, you get /usr/bin/spotube not found.

Expected behaviour
The app to open

Screenshots
image

Installation Source/Method

Desktop (please complete the following information):

  • OS:Arch
  • Version:probably the latest one

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.