Spotube - A lightweight free Spotify desktop-client built using flutter

Overview

Spotube

Spotube is a Flutter based lightweight spotify client. It utilizes the power of Spotify & Youtube's public API & creates a hazardless, performant & resource friendly User Experience Application Screenshot

Features

Following are the features that currently spotube offers:

  • Open Source
  • No telementry, diagnostics or user data collection
  • Lightweight & resource friendly
  • Native performance (Thanks to Flutter+Skia)
  • Playback control is on user's machine instead of server based
  • Small size & less data hungry
  • No spotify or youtube ads since it uses all public & free APIs (But it's recommended to support the creators by watching/liking/subscribing to the artists youtube channel or add as favourite track in spotify. Mostly buying spotify premium is the best way to support their valuable creations)
  • Lyrics
  • Downloadable track (WIP)

Installation

I'm always releasing newer versions of binary of the software each 2-3 month with minor changes & each 6-8 month with major changes. Grab the binaries

All the binaries are located in the releases, just download

Windows

Download the setup file & follow along the installer

Linux

Ubuntu/Debian/Linux Mint/Pop_!OS:

Download the Spotube-linux-x86_64.deb then double click it or run

$ sudo apt install Spotube-linux-x86_64.deb
# or
$ sudo dpkg -i Spotube-linux-x86_64.deb

in the directory where it was downloaded

Arch/Manjaro/Endeavour:

Run following terminal

# for `yay` users
$ yay -S spotube
# for `pamac` users
$ pamac install spotube

Others:

Download the Spotube-linux-x86_64.AppImage file & double click to run it. AppImages require appimage-launcher to be installed

I'll/try to upload the package binaries to linux debian/arch/ubuntu/snap/flatpack/redhat/chocolatey stores or software centers or repositories

Configuration

There are some configurations that needs to be done to start using this software

You need a spotify account & a developer app for

  • clientId
  • clientSecret

Grab credentials:

  • Go to https://developer.spotify.com/dashboard/login & login with your spotify account (Skip if you're logged in) Step 1

  • Create an web app for Spotify Public API step 2

  • Give the app a name & description. Then Edit settings & add http://localhost:4304/auth/spotify/callback as Redirect URI for the app. Its important for authenticating setp-3

  • Click on SHOW CLIENT SECRET to reveal the clientSecret. Then copy the clientID, clientSecret & paste in the Spotube's respective fields step-4

Also, you need a genius account for lyrics & a API Client for

  • accessToken

Note!: No personal data or any kind of sensitive information won't be collected from spotify. Don't believe? See the code for yourself

TODO:

  • Compile, Debug & Build for MacOS
  • Add support for show Lyric of currently playing track
  • Track download
  • Support for playing/streaming podcasts/shows
  • Artist, User & Album pages

Building from source

  • Download the latest Flutter SDK (>=2.15.1) & enable desktop support
  • Install Development dependencies in linux
    • libwebkit2gtk-4.0-dev & libkeybinder-3.0-0 (for Debian/Ubuntu)
    • webkit2gtk & libkeybinder3 (for Arch/Manjaro)
  • Clone the Repo
$ flutter pub get
$ flutter run -d <window|macos|linux>

Things that don't work

  • Shows & Podcasts aren't supported as it'd require premium anyway
  • OS Media Controls
  • Global Media Shortcuts/Keyboard Media Buttons

Social handlers

Follow me on Twitter for newer updates about this application

Comments
  • Authentication Succesful But Nothing Happens

    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
    bug duplicate deployed 
    opened by Time2Veto 45
  • [Android] Cannot login

    [Android] Cannot login

    Describe the bug After inserting Client ID and Secret ID I get redirected to a page that asks me to allow Spotube application. When I press the Allow button I get a Timed Out page (localhost link) after waiting for at least 20 seconds. I've already added the localhost redirect, but it doesn't seem to work.

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'Login to Spotify'
    2. Insert credentials
    3. Submit and get redirected to Application's approval website
    4. Allow the Spotify application

    Expected behavior I don't know, I think I should be logged in after allowing the spotify app

    Screenshots IMG_20220726_020326_138.jpg

    Screenshot_20220726-020209_Bromite.png)

    Screenshot_20220726-020213_Bromite.png

    Screenshot_20220726-020243_Bromite.png

    Installation Source/Method APK Release on Github

    Smartphone (please complete the following information):

    • Device: Pocophone F1
    • OS: LineageOS
    • Version: Android 11
    bug deployed 
    opened by Dieal 31
  • Spotube doesn't start under Windows 11

    Spotube doesn't start under Windows 11

    Describe the bug Spotube won't start under Windows 11, no matter from where I install it.

    To Reproduce Steps to reproduce the behavior:

    1. Install it using winget or by downloading the .exe setup
    2. Try to open it

    Expected behavior The application starts.

    Installation Source/Method

    • Package manager: winget
    • Other: standard .exe setup

    Desktop (please complete the following information):

    • OS: Windows 11 Pro, Insider Preview.
    • Version: 22610.1

    Additional context Picked a little log from eventvwr, if this helps in any way.

      AppName spotube.exe 
      AppVersion 1.0.0.0 
      AppTimeStamp 62713c77 
      ModuleName spotube.exe 
      ModuleVersion 1.0.0.0 
      ModuleTimeStamp 62713c77 
      ExceptionCode c000041d 
      FaultingOffset 00000000000057e0 
      ProcessId 0x3714 
      ProcessCreationTime 0x1d86078abe6f515 
      AppPath C:\Program Files (x86)\Spotube\spotube.exe 
      ModulePath C:\Program Files (x86)\Spotube\spotube.exe 
      IntegratorReportId b50b7e96-74ee-4df5-a1db-95a2ca7372f3 
      PackageFullName  
      PackageRelativeAppId  
    

    Thank you!

    bug 
    opened by Giovix92 23
  • Can't play any song on MacOS

    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>
    
    bug 
    opened by nank1ro 18
  • AlbumCard size problem

    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

    bug 
    opened by theilgaz 18
  • I can't login to the apk.

    I can't login to the apk.

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Current Behavior

    I downloaded all versions to see which one could get into the app.

    1. I installed it first > https://github.com/KRTirtho/spotube/releases/tag/v2.5.0 (I can connect but it only has web player and account overview options)
    2. Then I installed > https://nightly.link/KRTirtho/spotube/workflows/spotube-nightly/build/Spotube-Android-Bundle ( Same thing) I can only connect perfectly in windows.. I followed several helps like (https://github.com/KRTirtho/spotube/issues/152) (https://github.com/KRTirtho/spotube/issues/56)

    Expected Behavior

    I need help to log into the account.

    Steps To Reproduce

    1. Go to 'Login to Spotify'
    2. Insert credentials
    3. When I click on the web player it does not redirect to the browser

    Spotube Version

    v2.5.0

    Operating System

    Android

    Linux Distribution (if applicable)

    No response

    Operating System Version

    Android 8.1

    Installation Source

    Official Website (spotube.netlify.app), Github Actions (Nightly Binary)

    Additional information

    I would like a new step by step to solve this problem.

    Brazil region.

    bug good first issue deployed 
    opened by Ramys 16
  • [Arch Linux] Spotube dumps core on Sway Wayland

    [Arch Linux] Spotube dumps core on Sway Wayland

    Describe the bug When Spotube is run from the command line, it opens an empty window. When this window is closed, the only message in the terminal is zsh: segmentation fault (core dumped) spotube

    To Reproduce Steps to reproduce the behavior:

    1. Open terminal
    2. Run command spotube
    3. Close window that appears
    4. See error

    Expected behavior Spotube opens and runs reasonably well.

    Screenshots 19-06-2022_22-06-1655636143 19-06-2022_22-06-1655636159

    Installation Source/Method

    • Community Repo: AUR - spotube-bin

    Desktop (please complete the following information):

    • OS: Arch Linux
    • Version: Rolling distro

    Additional context Using Sway window manager (Wayland)

    Core dump spotube-coredump.txt

    bug 
    opened by Thymelizabeth 14
  • No automatic reproduction of next songs in the Flatpak version

    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.

    bug 
    opened by JorgeHernandezH 12
  • mp3

    mp3

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Current Behavior

    Downloading songs in m4a format

    Expected Behavior

    change mp3 download format

    Steps To Reproduce

    change mp3 download format

    Spotube Version

    v2.4.0

    Operating System

    Windows

    Linux Distribution (if applicable)

    No response

    Operating System Version

    android 12

    Installation Source

    chocolatey (Windows)

    Additional information

    Ekran görüntüsü 2022-09-12 001609

    bug good first issue wontfix 
    opened by senolfndk 11
  • Newpipe api

    Newpipe api

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Category of the Feature

    More Efficiency, Performance Improvements

    Credits

    Me

    Pain

    With the current api it takes a very long time for songs to start and the risk of getting banned by youtube when downloading.

    Suggested Solution

    Newpipe would be a better api for your app quicker streaming able to abuse downloads without the risk of ip block by youtube and much more.

    Useful resources/references

    Search newpipe on github and it gives u all the help to implement this.

    enhancement good first issue wontfix 
    opened by owencz1998 11
  • Notification service is dying

    Notification service is dying

    Notif keeps dying even when ignore battery optimization is applied :/

    Enable sound while playing video.

    Play/Stop button doesn't work , sometimes pictures freeze too ( it takes fast forwarding through 2/3 songs for it to start loading pictures again ). In video you will see that forwarding to another song starts the playback of that song but that's not the usual behavior... Usually notification service dies , play/stop button only retains ability to pause music and forward/backwards button switches songs but the playback never starts.

    Other than that all works fine , this is just inconvenience that has me force closing app every hour or two x: ( On your device might take longer to reproduce ).

    I'm also curious if there's any plan to add seek bar to notifications? (Control music playback by dragging slider to adjust time)

    Like button would also be appreciated so you can favourite a song from the notifications , right now you can only do this by closing whatever you're doing and opening the spotube app which outright kills adding songs to favourite for me

    Repeat toggle is missing too both inside the app and notification

    https://user-images.githubusercontent.com/32986283/177718312-9a3c9f5f-fad7-48c4-9fbd-ffd8bdb59055.mp4

    bug deployed 
    opened by Rstment25 11
Releases(v2.6.0)
  • v2.6.0(Dec 9, 2022)

    Highlights

    Spotube has become the first Flutter app, that has a platform specific UI or mimics Platform specific design It was achieved using the platform_ui plugin

    • :gift: Platform Specific UI design, animations, typography and experience :gift:
    • Override current platform's UI with another one's (it's crazy but fun)
    • Track source change support. Change the currently playing track's source from multiple YouTube results
    • Shuffle and play any playlists and albums
    • Add Selected tracks to multiple playlists
    • Fixed Authentication Token not updating when expired
    • More optimistic UI

    Features :tada:

    • add selected tracks to playlists, optimistic playlist remove track (3386dac)
    • added shuffle button in playlist and album section (1fad95f)
    • android-playback: option to download track bytes and play instead of Streaming (dcc8ba5)
    • change default platform option and platform specific back button (36c5e02)
    • dialog logo for macos, settings more width for country picker (5e96913)
    • initial platform_ui integration (9eee573)
    • libadwaita theming, track tile and PlayButtonCard play button icon fix (e795e23)
    • lyrics: tabs for both synced and static lyrics #182 (6b6907a)
    • new refined about page, update checker only check for same update channel (4cadfa9)
    • pause track when seeking forward/back and keep audio session alive when paused/interrupted (bc8a04e)
    • platform bottom navigation bar add (ff14469)
    • platform slider and progress indicator integration (46b00ba)
    • platform title bar buttons add (54048cb)
    • playback: change current track youtube source panel and tooltips for player icon buttons (4b21cc8)
    • Player and Playbutton theme respect to platform (512446d)
    • player queue and sibling tracks platform decoration (39a7794)
    • PlayerView: shortcut button for opening lyrics #273 (1d4847a)
    • rename files to snake_case and reorganize folder structure (7c25e1c)
    • replace all types of buttons with platform buttons (69739b4)
    • rpm packaging support (067e9ac)
    • search: infinite scroll for tracks, artists, playlists and albums (e6761a6)
    • set platform to default platform on start up (472da6b)
    • shuffle keep playing track at top, linux title bar drag no working (1223cf2)
    • sidebar download count and proper progress color in playbutton (a10bc5b)
    • static shimmer for track tile, playbutton card and track tile (3ed8b0f)
    • tablet mode navigation bar & windows semi transparent bg, (3282370)
    • title_bar: platform specific title bar (e659e3c)
    • titlebar complete compatibility, platform specific login, library tabbar in titlebar (b3c27d1)
    • use platform checkbox (2211505)
    • window blur effect add (b0db5e7)

    Bug Fixes :bug:

    • ArtistCard: linux shadow (c186881)
    • auth: refresh access token timer not working (b3ac5ca)
    • bottom navigation bar settings tile not active when selected (43557e4)
    • dialog logo in android, lyrics visible timer adjust button (3c6803b)
    • heart button showing when not logged in, wrong login redirect (4dc26af)
    • horizontal infinite lists doesn't fill the screen (69995be)
    • ios dialog action buttons, local tracks crashing app, shimmer color and android wrong status bar color (90c1200)
    • login: not working in android in Brazil or Ukraine regions (0b79a11)
    • macos: black text in dark mode (fb9c0e4)
    • macos: white text color in dark mode, text field white background (e086b52)
    • mobile: SafeArea bugs and back button color (a8330ef)
    • null exception in themes (9465d92)
    • platform_ui local path (00d0d38)
    • player view artist link when local playlist is playing, lyric delay adjust button alignment (ee5c417)
    • remove windows background (6942964)
    • search field ios dark icon , lyrics tabbar ios background color (be56ad4)
    • settings Title alignment and play button card ripple effect in other platforms (3b6bf27)
    • shuffle play logic (65cad07)
    • small minwidth of window in desktop, linux wrong light theme accent color, search field transparent background (5b0e22c)
    • tooltips of menu and adaptive pop up menu (261aaf1)
    • update download dialog blocking the UI (3925f74)
    • user playlists not updating after creating/deleting, artist follow not updating after follow/unfollow (6cc2a18)
    • windows: windows global title bar (bd18f19)

    What's Changed

    • Basic support for iOS, fix missing Rust lib by @karniv00l in https://github.com/KRTirtho/spotube/pull/259
    • Fix typo by @Lucifer25x in https://github.com/KRTirtho/spotube/pull/269
    • added new categories to fix lost & found by @ZorinArch in https://github.com/KRTirtho/spotube/pull/299
    • Fix: Rename Youtube to YouTube by @RaptaG in https://github.com/KRTirtho/spotube/pull/314
    • Experimental/platform UI by @KRTirtho in https://github.com/KRTirtho/spotube/pull/323
    • feat: shuffle button in playlist and album section by @tiaxter in https://github.com/KRTirtho/spotube/pull/340

    New Contributors

    • @Lucifer25x made their first contribution in https://github.com/KRTirtho/spotube/pull/269
    • @ZorinArch made their first contribution in https://github.com/KRTirtho/spotube/pull/299
    • @RaptaG made their first contribution in https://github.com/KRTirtho/spotube/pull/314
    • @tiaxter made their first contribution in https://github.com/KRTirtho/spotube/pull/340

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.5.0...v2.6.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(451 bytes)
    RELEASE.sha256sum(675 bytes)
    Spotube-android-all-arch.apk(29.70 MB)
    Spotube-linux-x86_64.AppImage(13.17 MB)
    Spotube-linux-x86_64.deb(9.93 MB)
    Spotube-linux-x86_64.tar.xz(9.86 MB)
    Spotube-macos-x86_64.dmg(28.88 MB)
    Spotube-windows-x86_64-setup.exe(11.98 MB)
    Spotube-windows-x86_64.nupkg(11.47 MB)
  • v2.5.0(Oct 13, 2022)

    Highlights

    • :fire: New Authentication flow that uses WebView and only requires Email and Password to Login in Android :fire:
    • Support for Nested Routes. Now, Sidebar/BottomBar never disappears
    • Play/Pause track on keyboard Spacebar, Seek position on keyboard left/right
    • Scrolling is smoother than ever [thanks to fl_query and Waypoint]
    • Replace or Skip downloading all already downloaded tracks
    • Sort tracks in Playlist, Album and Local Tracks
    • macOS correction of download path

    Features :tada:

    • animated transition of root PageWindowTitleBar (ff35e06)
    • auth: new authentication flow using cookies and webview in android (756b910)
    • downloader: replace /skip all choice for downloaded tracks (88d7ce5)
    • implemented go_route shell/nested route (3e498a4)
    • keyboard shortcuts: play/pause on space, seek position on left/right (2734454)
    • keyboard-shortcuts: home sidebar tab navigation and close app (8f258e7)
    • smoother list using fl_query and waypoint (c77b0e1)
    • sort tracks in playlist, album and local tracks (cb4bd25)
    • use of smaller sized images in TrackTile (0ca97b4)
    • volume slider mouse scroll and preference for Rotating Album Art #255 (edb6f3c)

    Bug Fixes :bug:

    • android: file_picker and permission_handler failure for sdk < 33 (139d4dc)
    • cached local track is fetched from network (abf4a57)
    • categories not showing for oauth exception (4df917e)
    • desktop: maximized window size is stored and window maximized state doesn't persist (91d5d10)
    • local audio doesn't get refreshed after getting permission (618c6da)
    • no appropriate output when playlist is empty #201 (dbb81de)
    • PlayerOverlay not hiding when not playing and unneeded bottom space in TrackTableView (0ebac05)
    • web: not building due to metadata_god ffi (1191bf2)

    Contributions

    • Add Dependabot for pub and GH Actions by @karniv00l in https://github.com/KRTirtho/spotube/pull/213
    • [Feature] Add Duration Match Algorithm by @Demizo in https://github.com/KRTirtho/spotube/pull/191
    • Fix file paths for MacOS by @karniv00l in https://github.com/KRTirtho/spotube/pull/232
    • Update spotube-release.yml by @vedantmgoyal2009 in https://github.com/KRTirtho/spotube/pull/247

    New Contributors

    • @dependabot made their first contribution in https://github.com/KRTirtho/spotube/pull/220
    • @vedantmgoyal2009 made their first contribution in https://github.com/KRTirtho/spotube/pull/247

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.4.1...v2.5.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(451 bytes)
    RELEASE.sha256sum(675 bytes)
    Spotube-android-all-arch.apk(27.60 MB)
    Spotube-linux-x86_64.AppImage(12.20 MB)
    Spotube-linux-x86_64.deb(9.22 MB)
    Spotube-linux-x86_64.tar.xz(9.25 MB)
    Spotube-macos-x86_64.dmg(24.90 MB)
    Spotube-windows-x86_64-setup.exe(11.30 MB)
    Spotube-windows-x86_64.nupkg(10.79 MB)
  • v2.4.1(Sep 13, 2022)

    Improvement:chart_with_upwards_trend:

    • macOS audio metadata tags support (5866b0f)
    • Search page horizontal swipe to scroll support for Desktop platform (d5ff927)

    Bug Fixes:bug:

    • SpotubeMarqueeText used in ArtistCard crashes the app (4279541)
    • Adaptive UI not working correctly fix by providing an overriding option (8c7adde)
    • Local Tracks throwing exception when downloadLocation is empty (1a3556d)

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.4.0...v2.4.1

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(451 bytes)
    RELEASE.sha256sum(675 bytes)
    Spotube-android-all-arch.apk(26.95 MB)
    Spotube-linux-x86_64.AppImage(12.65 MB)
    Spotube-linux-x86_64.deb(9.70 MB)
    Spotube-linux-x86_64.tar.xz(9.73 MB)
    Spotube-macos-x86_64.dmg(25.79 MB)
    Spotube-windows-x86_64-setup.exe(11.77 MB)
    Spotube-windows-x86_64.nupkg(11.26 MB)
  • v2.4.0(Sep 9, 2022)

    New🎉

    • 🔥Local Track Player with proper audio metadata support🔥
    • 🔥Full playlist/album download🔥
    • Repeat one track
    • Configurable download location
    • 🔥Download track with proper metadata or audio-tags🔥
    • 🔥Skip non-music segment using SponsorBlock toggle🔥
    • Pre-search next track when current track is above 70% progress
    • TrackTile more options are now adaptive
    • Cached window size

    Reading and writing tag isn't yet supported on MacOS

    Improvement📈

    • 🔥Adaptive Settings options with categories🔥 (@Demizo #192)
    • Partial Marquee text animation for lower GPU usage
    • Adaptive Text in various part of the application
    • PlaylistView, AlbumView track playbutton behavior improvement
    • Sidebar long username fade (@Demizo #190)
    • Placeholder for empty playlist/album/user images instead of dicebear images
    • Synced lyrics animated text
    • Linux: OS Media Control now updates the track metadata in

    Bug Fixes🐛

    • No settings icon in larger screen displays
    • Mobile volume not set to max
    • Desktop volume slider is set to 0 initially
    • Player overlay flickering at random
    • Artist card overflows in smaller displays
    • Shuffle button gets stuck when another playlist/album is played

    Generous Contributions (PRs)

    • fix a typo on the login screen by @flexagoon in https://github.com/KRTirtho/spotube/pull/146
    • README: Add instructions for Scoop by @issaclin32 in https://github.com/KRTirtho/spotube/pull/158
    • fix(docs): indentions by @meinto in https://github.com/KRTirtho/spotube/pull/169
    • [FIX] Fade Long Usernames on Sidebar by @Demizo in https://github.com/KRTirtho/spotube/pull/190
    • [Feature] Organize Settings With Headers by @Demizo in https://github.com/KRTirtho/spotube/pull/192

    New Contributors

    • @flexagoon made their first contribution in https://github.com/KRTirtho/spotube/pull/146
    • @issaclin32 made their first contribution in https://github.com/KRTirtho/spotube/pull/158
    • @meinto made their first contribution in https://github.com/KRTirtho/spotube/pull/169
    • @Demizo made their first contribution in https://github.com/KRTirtho/spotube/pull/190

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.3.0...v2.4.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(451 bytes)
    RELEASE.sha256sum(675 bytes)
    Spotube-android-all-arch.apk(26.94 MB)
    Spotube-linux-x86_64.AppImage(12.64 MB)
    Spotube-linux-x86_64.deb(9.69 MB)
    Spotube-linux-x86_64.tar.xz(9.73 MB)
    Spotube-macos-x86_64.dmg(25.79 MB)
    Spotube-windows-x86_64-setup.exe(11.77 MB)
    Spotube-windows-x86_64.nupkg(11.25 MB)
  • v2.3.0(Jul 11, 2022)

    New :tada:

    • Playback Cache Support. So unfinished playlist and tracks remains cached & starts automatically when application is launched again
    • :star2:Login Screen guided tutorial about how to obtain Client ID & Client Secret:star2:
    • Signed Android Application so now longer need to uninstall the old version for installing the new one
    • 🔥OS Media controls for Linux. Keyboard media keys now work in Linux🔥
    • 🔥New better, consistent & predictable Audio engine with proper event firing support🔥 (https://github.com/KRTirtho/spotube/pull/131)
    • Custom Lyrics delay time. Can be used to delay negative amount of time too
    • Playback Queue View support. Currently playing tracks or playlist can be viewed or changed from it or for doing other actions too (https://github.com/KRTirtho/spotube/issues/126)
    • Android SeekBar support in Notification Panel & Lock Screen
    • :fire:New Blur background design adapted to multiple components including Floating Player, Player View & Lyrics Tab:fire:
    • New HighContrast Color Scheme addition which reduces battery consumption on OLED or AMOLED display devices (https://github.com/KRTirtho/spotube/issues/137)

    Improved :chart_with_upwards_trend:

    • Loading screens & animations. Now uses Skeleton Loading
    • Playlist & Album Pages now show Album Art & extra metadata as Header with vibrant gradient background in a Sliver
    • Playback is now more consistent & the API is simpler. Also its the single source of truth for AudioPlayback instead of the AudioServiceHandler
    • Android Statusbar background color is now adaptive & less glitchy
    • Home Genre playlists can be scrolled horizontally by dragging with mouse even in Desktop edition
    • Track match Cache support for previously played tracks. This dramatically reduces track change latency & load on the YouTube search engine too

    Bug Fixes :bug:

    • API rate limits inside TrackTile for multiple Follow queries at once
    • Player doesn't stop when Application is exits or closed
    • First Track of Playlist doesn't load sometimes
    • Download Button doesn't show done symbol when track is already saved (https://github.com/KRTirtho/spotube/issues/138)
    • Downloaded Music is 0kb sized when lyrics are downloaded alongside (https://github.com/KRTirtho/spotube/issues/122)

    What's Changed

    • Update README.md by @Poussinou in https://github.com/KRTirtho/spotube/pull/119
    • Fix login feilds autocorrecting Client ID and Secret by @Voklen in https://github.com/KRTirtho/spotube/pull/123
    • Replaced just_audio with audioplayers & Refactored Playback provider by @KRTirtho in https://github.com/KRTirtho/spotube/pull/131

    New Contributors

    • @Poussinou made their first contribution in https://github.com/KRTirtho/spotube/pull/119
    • @Voklen made their first contribution in https://github.com/KRTirtho/spotube/pull/123

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.2.1...v2.3.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(451 bytes)
    RELEASE.sha256sum(675 bytes)
    Spotube-android-all-arch.apk(25.33 MB)
    Spotube-linux-x86_64.AppImage(12.60 MB)
    Spotube-linux-x86_64.deb(9.77 MB)
    Spotube-linux-x86_64.tar.xz(9.80 MB)
    Spotube-macos-x86_64.dmg(25.87 MB)
    Spotube-windows-x86_64-setup.exe(11.46 MB)
    Spotube-windows-x86_64.nupkg(10.95 MB)
  • v2.2.1(Jun 9, 2022)

    Improved 📈

    • Page transitions defaulted to material you design

    Bug fixes 🐛

    • Mini Player flickering on random state updates
    • Track More Options not showing when not logged in
    • Wrong link to Client ID & Client Secret tutorial in Login page
    • Changing preferences in Settings resets the entire Playback

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.2.0...v2.2.1

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(451 bytes)
    RELEASE.sha256sum(675 bytes)
    Spotube-android-all-arch.apk(24.48 MB)
    Spotube-linux-x86_64.AppImage(11.56 MB)
    Spotube-linux-x86_64.deb(8.73 MB)
    Spotube-linux-x86_64.tar.xz(8.69 MB)
    Spotube-macos-x86_64.dmg(24.77 MB)
    Spotube-windows-x86_64-setup.exe(10.39 MB)
    Spotube-windows-x86_64.nupkg(9.87 MB)
  • v2.2.0(Jun 5, 2022)

    New :tada:

    • Update checker
    • Share options for playlists & track
    • Android Skip to Next/Previous track from notification/lockscreen (https://github.com/KRTirtho/spotube/issues/91)
    • :fire:Custom Accent Color Scheme support (Dark + Light):fire:
    • :fire:Custom Background Color Scheme support (Dark + Light):fire:
    • :fire:Material 3 Design Language and Flutter 3.0:fire:
    • User customizable Audio Quality Option
    • User customizable Track Matching Algorithm Option
    • Caching in Playlists, Album, Search, Playlist Categories, Artist Profile & Lyrics
    • M1 Mac support via MacOS Universal Binary (untested) (https://github.com/KRTirtho/spotube/pull/87)

    Improved :chart_with_upwards_trend:

    • Authentication is now persistent (no more re-login)
    • Settings Page. Shows application details in About Dialog
    • Playlist Create Dialog Scrollable

    Bug fixes :bug:

    • private playlists of current user aren't shown fix (https://github.com/KRTirtho/spotube/issues/92)
    • refresh token error causing re-login (culprit: internal lib spotify-dart)
    • Typo in Login instructions URL

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.1.0...v2.2.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(451 bytes)
    RELEASE.sha256sum(675 bytes)
    Spotube-android-all-arch.apk(24.49 MB)
    Spotube-linux-x86_64.AppImage(11.56 MB)
    Spotube-linux-x86_64.deb(8.73 MB)
    Spotube-linux-x86_64.tar.xz(8.69 MB)
    Spotube-macos-x86_64.dmg(24.78 MB)
    Spotube-windows-x86_64-setup.exe(10.40 MB)
    Spotube-windows-x86_64.nupkg(9.88 MB)
  • v2.1.0(May 10, 2022)

    New :tada:

    • 🔥Synced Lyrics (with fallback genius lyrics)🔥
    • Playlist create/delete
    • Add/Remove tracks to own playlists
    • Custom YouTube track search term template
    • Downloading lyrics along with a track (can be toggled)
    • Customize Marketplace location

    Improved :chart_with_upwards_trend:

    • Spotify track to youtube track algorithm
    • Genius lyrics matching algorithm
    • Download track. Checks if already exists & replaces on user command
    • Wide screen responsiveness & adaptation
    • Bigger Title display (replaced word-break with Marquee Text for better visibility) (https://github.com/KRTirtho/spotube/pull/47)

    Bug fixes :bug:

    • Sequential playlist playback not working with latest webkit2gtk (https://github.com/KRTirtho/spotube/issues/46)
    • Theme modification state doesn't persist (https://github.com/KRTirtho/spotube/issues/54)
    • Wrong URI path for "Login with Spotify" tutorial (https://github.com/KRTirtho/spotube/issues/69)
    • Card shadow showing in the background of TitleBar & Searchbar

    New Contributors

    • @SteliosPapamichail made their first contribution in https://github.com/KRTirtho/spotube/pull/47
    • @RomanJos made their first contribution in https://github.com/KRTirtho/spotube/pull/53

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v2.0.0...v2.1.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(437 bytes)
    RELEASE.sha256sum(661 bytes)
    Spotube-android-all-arch.apk(23.91 MB)
    Spotube-linux-x86_64.AppImage(11.15 MB)
    Spotube-linux-x86_64.deb(8.42 MB)
    Spotube-linux-x86_64.tar.xz(8.40 MB)
    Spotube-macos-x86_64.dmg(16.99 MB)
    Spotube-windows-x86_64-setup.exe(10.15 MB)
    Spotube-windows-x86_64.nupkg(7.13 KB)
  • v2.0.0(Mar 24, 2022)

    New🎉

    • 💥Android Support💥 https://github.com/KRTirtho/spotube/issues/24
    • Responsive UI (Mobile, Tablet)
    • Anonymous/Guest Account
    • Mini floating player
    • Full page PlayerView for smaller devices
    • Horizontal CategoryCard Scroll & pagination for quicker access to Playlists
    • Bottom bar for smaller devices
    • Collapsed Sidebar for medium sized devices
    • Persists Volume level
    • Android NavigationPanel controls (OS media controls of Android)

    Improved📈

    • Search - now scrolls & paginates for Playlists & Albums
    • Authentication - allows guest accounts making authentication optional
    • Lyrics - can be fetched without requiring GeniusAccessToken. This makes geniusAccessToken optional
    • UI snappiness & faster load times
    • Simpler logic, faster calculations & better caching (flutter_hooks)
    • shared state management - uses riverpod & hooks combination

    Bug fixes🩹

    • Can't play any song in macos https://github.com/KRTirtho/spotube/issues/23
    • Downloaded tracks can't be played as they're WebAudio (.weba) instead of MP3
    • delay while changing Playlist/Single tracks

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v1.2.0...v2.0.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(437 bytes)
    RELEASE.sha256sum(661 bytes)
    Spotube-android-all-arch.apk(23.53 MB)
    Spotube-linux-x86_64.AppImage(11.47 MB)
    Spotube-linux-x86_64.deb(8.41 MB)
    Spotube-linux-x86_64.tar.xz(8.40 MB)
    Spotube-macos-x86_64.dmg(16.93 MB)
    Spotube-windows-x86_64-setup.exe(10.20 MB)
    Spotube-windows-x86_64.nupkg(9.72 MB)
  • v1.2.0(Feb 8, 2022)

    New🎉

    • Initial global custom reconfigurable hotkey support for playback controls (play-pause/next/previous)
    • Credit section in the Settings page with important links

    Improved📈

    • Macos support
    • Genius (Lyrics Provider) access_token can be saved in the Login page too
    • Better theme for dropdown-buttons

    Bug fixes🩹

    • broken authentication IPC on Mac OS (https://github.com/KRTirtho/spotube/pull/18)
    • Mac OS's global appmenu's default APP_NAME replaced with Spotube
    • location of back button on macOS (https://github.com/KRTirtho/spotube/pull/21)
    • windows titlebar buttons appears on Mac OS
    • genius access_token not loading on initial app start

    New Contributors

    • @theilgaz made their first contribution in https://github.com/KRTirtho/spotube/pull/14
    • @highjeans made their first contribution in https://github.com/KRTirtho/spotube/pull/21
    • @marado made their first contribution in https://github.com/KRTirtho/spotube/pull/22

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v1.1.0...v1.2.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(374 bytes)
    RELEASE.sha256sum(566 bytes)
    Spotube-linux-x86_64.AppImage(11.03 MB)
    Spotube-linux-x86_64.deb(8.06 MB)
    Spotube-linux-x86_64.tar.xz(8.06 MB)
    Spotube-macos-x86_64.dmg(16.63 MB)
    Spotube-windows-x86_64-setup.exe(9.84 MB)
    Spotube-windows-x86_64.nupkg(9.36 MB)
  • v1.1.0(Jan 27, 2022)

    v1.1.0

    New🎉

    • MacOS support (PR https://github.com/KRTirtho/spotube/pull/7)
    • Download currently playing track to /home/<user>/Downloads/Spotube (Linux, MacOS) or C:\Users\<user>\Downloads\Spotube (Windows)
    • Play playlist from any song (index) instead of only the first track
    • AlbumCard for showing album's metadata
    • AlbumView aka show album tracks
    • Play an album
    • ArtistCard for showing artist metadata on the fly
    • ArtistProfile for showing complete details of the artist
    • Play artist's top tracks
    • View Artist's "Fans also like" section
    • Search page
    • Play tracks from search result
    • Click to open artist-profile/album everywhere in the application

    Improved📈

    • UserLibrary album & artist tab
    • PlaylistView simplified layout with ListView instead of TableView
    • Control Theme from settings manually
    • PageWindowTitleBar now acts as appBar

    Bug fixes🩹

    • Unsafe access to album art/artist/user Images with .first or .last causing accessing empty List error
    • url_launcher's unstable canLaunch method blocks OAuth login in certain *nix OSs
    • Refresh token gets revoked & doesn't get renewed automatically

    New Contributors

    • @ThatOneCalculator made their first contribution in https://github.com/KRTirtho/spotube/pull/4
    • @karniv00l made their first contribution in https://github.com/KRTirtho/spotube/pull/7

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v1.0.1...v1.1.0

    Source code(tar.gz)
    Source code(zip)
    RELEASE.md5sum(365 bytes)
    RELEASE.sha256sum(557 bytes)
    Spotube-linux-x86_64.AppImage(10.90 MB)
    Spotube-linux-x86_64.deb(7.97 MB)
    Spotube-linux-x86_64.tar.xz(7.96 MB)
    Spotube-macos-x86_64.dmg(16.46 MB)
    Spotube-windows-x86_64-setup.exe(9.72 MB)
    Spotube-windows-x86_64.nupkg(9.24 MB)
  • v1.0.1(Jan 14, 2022)

  • v1.0.0(Jan 13, 2022)

    Changes:

    • Complete re-write in Flutter/Dart (799e13c37635f0af18bacec17ebfba8a088b837b)
    • mpv & youtube-dl runtime dependencies dropped (07b1891cb4d1262bad55586d147b54366290471c)
    • just_audio (libwinmedia + libwebkit2gtk-4.0-dev) + youtube_explode based playback & streaming
    • lyrics are provided by genius.com (requires access_token) (d647d5ed1f29827f34e35cf2c0812d7fb9db7f40)
    • inno_setup based windows/win32 GUI installer (dbf8a348dfde304a1f118e9305512ccee31410e9)

    Improvements

    • Lower RAM & CPU usage. 2x less RAM usage & 20% less CPU usage
    • Faster playback & smooth track change with proper shuffling support
    • Automatic Dark mode support (system)
    • 54% smaller bundle size
    • Available through package managers in Linux (Debian, Arch, Flatpak & AppImage)

    Full Changelog: https://github.com/KRTirtho/spotube/compare/v0.0.3...v1.0.0

    Source code(tar.gz)
    Source code(zip)
    Spotube-linux-x86_64.AppImage(10.97 MB)
    Spotube-linux-x86_64.deb(8.09 MB)
    Spotube-linux-x86_64.tar.xz(8.16 MB)
    Spotube-windows-x86_64-setup.exe(9.81 MB)
  • v0.0.3(May 8, 2021)

    Newly added Features:

    • Automated installer for Windows (now doesn't require manual mpv-player install)
    • Playback caching
    • Retry button for ManualLyricDialog
    • Download track (with a button)
    • Redirect to youtube video by clicking on the title of the track

    Tweaked

    • Shortcuts, now it doesn't interfere while typing in a input box

    Bug Fixes

    • Cached image didn't get deleted after exiting certain cache limit
    Source code(tar.gz)
    Source code(zip)
    Spotube-linux-x86_64.AppImage(43.06 MB)
    Spotube-linux-x86_64.deb(30.32 MB)
    Spotube-linux-x86_64.zip(58.40 MB)
    Spotube-windows-x86_64.zip(31.85 MB)
  • v0.0.2(Mar 31, 2021)

    Newly added Features:

    • Lyric Seek
    • Images for Playlists
    • Infinite Query/ Pagination support for Home & Genre
    • Settings for configuring local configuration

    Tweaked

    • Layout of Home (fixes the jiggering of Playlist Links on hover)

    Bug Fixes

    • "access_token not found" Error after OAuth Login with Spotify credentials (used to need a restart of the app to load the access_token)
    • Volume level wasn't cached even after changing volume
    Source code(tar.gz)
    Source code(zip)
    Spotube-linux-x86_64.AppImage(43.05 MB)
    Spotube-linux-x86_64.deb(29.96 MB)
    Spotube-windows-x86_64.zip(31.83 MB)
  • v0.0.1(Mar 20, 2021)

Owner
Kingkor Roy Tirtho
17 • Interested in Typescript💙•Deno🦕•Rust🦀•Dart🎯•Tauri🖥•Linux🐧•React⚛️•Vue💚•SolidJS🪨•Svelte🔗•tailwindcss💨
Kingkor Roy Tirtho
A simple YouTube Music Client written in Dart using Flutter Framework with @microsoft Fluent design guidlines

A simple YouTube Music Client written in Dart using Flutter Framework with @microsoft Fluent design guidlines

Suraj Pratap Singh 123 Jan 7, 2023
WebRTC plugin for Flutter Mobile/Desktop/Web

Flutter-WebRTC WebRTC plugin for Flutter Mobile/Desktop/Web Sponsored with ?? by Enterprise Grade APIs for Feeds & Chat. Try the Flutter Chat tutorial

Flutter WebRTC 3.4k Jan 8, 2023
Unleash Client SDK for Dart and Flutter

Unleash Client SDK for Dart and Flutter This is an unofficial Unleash Client SDK

null 0 Oct 6, 2021
A feature-packed audio recorder app built using Flutter

Qoohoo Submission ??️ An audio recording/playing app. ??️ This is a basic audio

Akshay Maurya 24 Dec 22, 2022
Song-Noise-Recorder - Song Noise Recorder Built Using Flutter

Song-Noise-Recorder Flutter App that is able to play an .mp3 song (local asset)

Cristian Ciont 1 Feb 7, 2022
Enjoy podcasts with Tsacdop! A podcast player built with flutter.

About Enjoy podcasts with Tsacdop. Tsacdop is a podcast player developed with Flutter, a clean, simply beautiful and friendly app, which is also free

stonegate 339 Dec 31, 2022
Minimalistic local music player built with flutter for android.

Nano Music Player Simple local music player built with flutter. It uses the audioplayer plugin to play files, and path_provider to locate the external

Jan Hrastnik 34 Dec 17, 2022
MusicAppPlaylist - Music App Playlist Built With Flutter

Music_App_Playlist This is Playlist theme model & here used visibility widget...

null 4 Nov 10, 2022
An ipod classic for iOS/Android, built with Flutter

Retro aims to bring back the iPod Classic experience to iOS and Android. I originally started working on it nearly 2 years ago and released it as a TestFlight beta (because Apple wouldn't allow it on the App Store) and have been maintaining it myself since.

Retro Music 69 Jan 3, 2023
This Flutter plugin created to show how to use OpenCV and ZXing C++ libraries natively in Flutter with Dart FFI using the camera stream

OpenCV and ZXing C++ libraries natively in Flutter with Dart FFI using the camera stream

Khoren Markosyan 17 Oct 21, 2022
Create responsive music design using Flutter

Create responsive music design using Flutter

Firgia 40 Dec 27, 2022
A fully-functional video streaming app made in Flutter using Custom Nodejs backend.

LAVENDER ?? A fully-functional video streaming app like netflix made in Flutter using Custom Nodejs backend. How To Run This Project ??‍♂️ Clone the r

null 71 Jan 10, 2023
Flutter (web-only at this moment) plugin for recording audio (using the microphone).

Microphone Flutter (web-only at this moment) plugin for recording audio (using the microphone). Getting started To learn more about the plugin and get

null 28 Sep 26, 2022
Fleo - A video calling application developed using flutter🤠

Fleo ?? Video Calling Application developed using flutter Light and Dark Modes ?? Join using Room Codes ?? One room can accomodate upto 4 persons Powe

Madhav Pruthi 41 Dec 25, 2022
A simple music player made using Flutter.

Music Player App This is a beautiful music player, developed using Flutter. Features Play any song included in Flutter Assets Background Play Beautifu

Hash Studios 15 May 21, 2022
A Music Player App made using Flutter.

A local music player app made using flutter. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

Jobin Biju 13 Dec 22, 2022
flutter record mp3 using the native api

Record Mp3 Record an MP3 using the platform native API Depend on it Add this to your package's pubspec.yaml file: Flutter <= 1.19.x dependencies: re

FlutterCandies 32 Dec 22, 2022
Beautiful-Music-App-UI - Music App page UI Using Flutter

Beautiful Music App UI A Flutter App Music UI developed in Flutter Getting Start

Zain Basharat Ali 5 Jun 17, 2022
A Flutter project thats shows you how to upload, view and delete images using firebase cloud storage

firebase_image_upload A Flutter project thats shows you how to upload, view and

null 4 Nov 21, 2022