Skip to content

Releases: toasterofbread/spmp

v0.3.2

28 Apr 11:17
Compare
Choose a tag to compare

This is a hotfix release which includes fixes to two major bugs. New features and other fixes added since v0.3.1 are not included.

The corresponding version of spmp-server for this release is still v0.3.1.

Bugs fixed

  • Uploading stack trace to paste.ee fails
  • Error when starting song radio (retroactively caused by a slight change in YouTube's API)

Full Changelog: v0.3.1...v0.3.2

v0.3.1

29 Mar 11:24
Compare
Choose a tag to compare

This release corresponds to v0.3.1 of spmp-server

Added app languages

Changes

  • Move the youtubeapi package into a separate library ytm-kt #258
  • Landscape player:
    • Improve animation performance
    • Apply compact mode and bottom bar inset mode before expansion to prevent sudden shift during animation
    • Fix incorrect queue width with some window sizes
  • When selecting landscape sidebar settings button, navigate to root settings page
  • Disable kanji simplification on non-Japanese languages
  • Add shortcut to toggle player expansion with tab
  • Improve manual login steps, support brand account login with manual method
  • Add hex input field to theme colour picker
  • Load item data on Android URI open
  • Re-implement lyrics display (improves font scaling/positioning issues)
  • Add song/default sliders for player wave speed and opacity
  • Apply extra queue side padding changes immediately
  • Rewrite RadioInstance (improves radio playback reliability)
  • Hide unsupported window transparency options on Windows
  • Renew Android Discord status images implementation
  • Disable media notification image crop on Android 13+ unless image offset is set
  • Disable track press on settings sliders #254
  • On playlist queue insertion, don't clear queue if playlist is definitely finite
  • Improve reorderable lists

Bugs fixed

  • Crash on downloading to custom location on Android
  • NullPointerException and YoutubeChannelNotCreatedException after webview login
  • Number key shortcuts active while editing text
  • Crash on missing youtube string
  • Song related content button plays song instead of opening page
  • Crash on long-press menu access on desktop if layout_offset is not set
  • Crash with no GUI log if an exception occurs before the window is created on desktop
  • Crash when loading packaged font on Windows
  • Crash on theme creation
  • Theme delete button changes current theme index

Full Changelog: v0.3.0...v0.3.1

v0.3.0

21 Feb 18:47
Compare
Choose a tag to compare

Desktop version, landscape UI, and documentation

Documentation on installation, compilation, and general usage is now available at https://spmp.toastbits.dev/docs/ (source code)

This release corresponds to v0.3.0 of spmp-server

Added app language

Main changes

  • Add desktop version for Linux and Windows #170
    • Requires Java to be installed on the system
    • Other dependencies come packaged in the zip for Windows
    • See documentation for system dependencies on Linux
  • Add landscape UI, used for both Android and desktop
    • Sidebar for app and local page navigation
    • Redesigned/tweaked pages for improved landscape experience
  • Add new icon graphic created by smlqrs
  • Rearrange and add portrait player buttons:
    • Move like/dislike button next to controls
    • Move song details button to bottom corner
    • Add start radio button next to controls
    • Add queue open button to bottom center
  • Add option to show shuffle and repeat buttons in player
  • Add audio volume normalisation option #195
  • Add option to enable silence skipping #196
  • Add 'Open album' button to long-press menu
  • Add option to disable top bar lyrics
  • Reorganise settings, add import and export buttons #201
  • Add menu for selecting download location each time
  • Add button to multiselect info which selects all items in between currently selected items
  • Redesign song theme overlay menu and:
    • add slider to show song image as landscape player background
    • add slider for player image shadow size
  • Implement artist shuffle action #212
  • Show liked songs playlist on account playlists page and add the following library pages #217
    • Account library albums
    • Account library artists
    • Account liked songs
  • Display song like button for local use when not signed in

Other changes

  • Restore NewPipeExtractor as fallback by @JeelPatel231 #208
  • Add bounce-on-press visual effect to some buttons
  • Show indicator next to songs marked as explicit #192
  • Name downloaded song files by song title #173
  • Replace divider in long-press menu with a wave border
  • Add cache/sync system for local song files
  • Hardcoded lyrics tokenisation improvements:
    • Replace some Hanzi with their Kanji variants
    • Replace some incorrect tokenisations
  • Move some multiselect actions to a separate floating dialog
  • Use playlist accent colour for load fail error info display
  • Add listen count text to player overlay menu
  • Increase multiselect info display top row height, move divider into row and replace with wave border
  • When clicking on an item in a local artist page, add all items to the queue along with it
  • Add multiselect to local artist page
  • Add back navigation queue for player overlay menu
  • Add option to hide player seek bar gradient
  • Add UI scale slider
  • Use responsive buttons for queue shuffle and clear that shrink to icons if needed
  • Display expanded home feed grid with the minimum amount of needed rows
  • Improve library navigation

Bugs fixed

  • Incorrect song feed and song related content page padding
  • Incorrect handling of system language containing two parts #199
  • Crash on startup when partial downloads are present
  • Selecting the current item in the song queue restarts playback
  • Crash on Discord status settings open
  • Incorrect colouring of:
    • Player overlay title text field
    • Player overlay related content item text
    • Long-press menu item preview and pin button
  • Artist name in player disappears when text is too long
  • Pinned item row pop-in animation occurs even when no items are pinned
  • Crash on theme deletion in some cases #209
  • Error occurs when loading some playlists #211
  • Navigation bar button colour not updating #198
  • Can't remove items from account playlist #179
  • Multiselect batch items not available on some pages
  • Player background colour freezes when the player state is reset
  • Incorrect long-press menu colouring during open/close animation
  • Manual login text field hidden by minimised player
  • Incorrect top bar transparency in artist page when 'Display over main image on artist page' enabled
  • YoutubeChannelNotCreatedException not handled during manual YouTube login
  • Pinning a local playlist and deleting the local playlist causes a crash on subsequent startups #223
  • Database migration not working #161
  • Crash when starting download on Android 14
  • Incorrect vertical spacing and missing background segment in artist page with single layout
  • UI freeze on Android when starting downloads #207
  • Player expands when opening a playlist from some pages

Full Changelog: v0.2.4...v0.3.0

v0.2.4

21 Nov 20:46
Compare
Choose a tag to compare

Full Changelog: v0.2.3...v0.2.4

Main changes

  • Add home feed row size options #110
  • Add landscape player layout (will be improved in future updates) #163
  • Improve player layout on smaller screens
  • Store lyrics to library file when downloading song #125
  • Implement database migration
  • Add option to change queue item swipe dismiss sensitivity #78
  • Add option to increase padding on queue sides

Other changes

  • Add option to not start radio on song press #187
  • Show commit/tag information of build in settings
  • Only store required login headers
  • Don't cancel queue multiselection on shuffle button press
  • Move current song to start of queue on long-press of shuffle button
  • Prevent music video playback of album songs #136
  • Add custom song status webhook option 87d2539
  • Use Shape instead of Canvas for WaveBorder rendering (fixes rendering issues on some Android versions)

Bugs fixed

  • NetworkOnMainThreadException when attempting to sign in to YouTube
  • Crash when pinning local playlist #177
  • Crash when starting radio of local playlist #178
  • Total duration of local playlists not displaying
  • DataParseException when logging into YT Music due to excessive header storage #176
  • Recursive loop when saving item data under certain conditions #181 #184
  • Incorrect English string for s_key_resume_on_wired_connect #186 (by @opusforlife2)
  • Download notification progress bar not including completed/failed downloads

v0.2.3

21 Nov 20:46
Compare
Choose a tag to compare

Full Changelog: v0.2.2...v0.2.3

Main changes

  • Add support for reproducible builds #162
  • Fix losing state such as the current radio when closing activity #159
  • Fix crash when using es-US language
  • Add options to adjust lyrics sync delay
  • Add artist radio shortcut button (may be incomplete)
  • Add per-song 'disable lyrics' button
  • Several fixes to incorrect item metadata loading

Other changes

  • Handle system back action in long-press menu and multiselect info display
  • Reduce padding below queue radio filters
  • Implement queue radio position option selection
  • Increase player font size
  • Add padding to MainPageTopBar
  • Add padding to playlist select menu
  • Add 'select all' button to artist view more page multiselect

Bugs fixed

  • Main multiselect actions (ex. for adding selected songs to queue) not displaying in all pages
  • Manual login text field displaying incorrectly and not allowing input #164
  • Notification not clearing when service stopped
  • Artist titles sometimes display as "Videos"
  • Artist view more page:
    • Non-preloaded items not displaying metadata
    • Items cannot be multiselected
    • Too much top padding
    • Not queueing all items on click
  • Media service started before required #144
  • Playlist not queueing all items on click
  • Display "Add songs to YouTube history" below the account box
  • WebView cookies not cleared properly

v0.2.2

21 Nov 20:46
Compare
Choose a tag to compare

Full Changelog: v0.2.1...v0.2.2

Main changes

  • Add search suggestions
  • Lower minimum version to Android 6 (Experimental, expect issues)
  • Improve kanji readings generation
    • Split combined readings ({無理: むり} -> {無: む, 理: り})
    • Remove (safe) hiragana readings ({吐き出: はきだ} -> {吐: は, き: null, 出: だ})
  • Skip downloading existing songs #153
  • Add option to clear queue on downward player overscroll #146
  • Replace Firebase (added in v0.2.1) with Supabase #155

Other changes

  • Add logcat collection and Paste.ee upload button to ErrorReportActivity
  • Remove unused secrets from Android workflow and update APK names
  • Remove NewPipeExtractor
  • Add retry button to song feed and search page load errors
  • Clear external error on library page closed
  • Swap long-press menu info button and side button positions
  • Add Fastlane metadata
  • Reimplement notification open intent

Bugs fixed

  • Loss of radio state and brief UI flicker when restoring minimised app
  • Song feed load errors not being displayed when cache exists
  • Search results not displaying under search bar
  • Vertical alignment of some large character in lyrics text
  • Incorrect action_confirm string reference
  • onCompleted not being invoked after startDownload called
  • Incorrect settings/radio builder icon display state
  • Incorrect ErrorInfoDisplay theming with dark backgrounds
  • Search page doesn't allow retry after failure

v0.2.1

21 Nov 20:46
Compare
Choose a tag to compare

Note

If upgrading from v0.2.0, you may have to clear the app's data


Full Changelog: v0.2.0...v0.2.1

New Contributors

Main changes

  • Song feed rows can now be hidden by title, or by long-pressing their header
  • Change default video format endpoint to Youtubei (this drastically improves stream load times)
  • Add option to change video format endpoint between Youtubei, Piped, and NewPipe
  • Add local artists tab to library
  • Add select all button to playlist page
  • Add download indicator to media previews, with option to toggle display on song feed page
  • Add options to pause/resume playback on audio device added/removed
  • Add options to disable Discord status based on user online status
  • Resume playback on playing item change
  • Open library page on feed load failure
  • Add warning for Discord RPC usage risks

Other changes

  • Delay accent colour reset on song change by 1 second #141
  • Display indicator while song duration loads
  • Reduce radio indicator item preview height
  • Add player overlay menu custom action options
  • Index Discord status images using an external database, as reading directly from Discord was too slow
  • Add navigation bar height multiplier setting #129
  • Add option to toggle the 'previous' button in the minimised player
  • Align radio builder icon
  • Hide entire bar when FEED_SHOW_FILTER_BAR is disabled #148
  • Implement playlist long-press menu playback actions
  • Keyboard height padding is no longer applied to the player while an image overlay page is
  • Add MUTE_PLAYER debug key

Bugs fixed

  • Lyrics search button not displaying if current lyrics are synced
  • Crash on theme save
  • Crash when adding item to playlist on older Android versions #100
  • Playlist item add not working from long-press menu
  • Radio builder playlist title not displaying
  • Crash on playlist reorder
  • Crash on start due to NotImplementedError in MusicTwoRowItemRenderer.toMediaItem #140
  • Accent colour not updating in some cases #143
  • Theme delete button removes wrong theme
  • Settings subpage back gesture takes priority over player menu #145
  • Notification buttons don't appear on Android versions below 13 #151
  • Non-functional notification like button
  • Notification image offset doesn't apply
  • Main lyrics display text doesn't wrap for non-Japanese text
  • Top bar lyrics don't wrap for non-Japanese text #122
  • Long-press menu info text has incorrect height during transition
  • Incorrect NP gradient placement on overscroll
  • Long-press menu info button not appearing in some cases
  • Green box displayed when feed load fails (whoops)
  • Crash on concurrent unlocalised string report
  • Duplicate top bar in library profile page

v0.2.0

21 Nov 20:46
Compare
Choose a tag to compare

Full Changelog: v0.1.4...v0.2.0

New Contributors

Major changes

Partially redesigned home page
  • Removed floating pill menu
  • Moved settings, search, and library buttons to the top bar
  • Moved radio builder button to the library page (it can also be accessed by long-pressing the library button)
  • The search and library pages are now integrated more closely into the main page
Completely redesigned library page
  • Three tabs are currently implemented (more are planned)
  • The playlists page shows local playlists and account playlists separately
  • The songs page displays locally stored songs with stats such as play count
  • If logged in, the profile page shows your YouTube Music profile
  • Completely rewrote backend code for loading and storing media #93
  • Replaced Klaxon with Gson, dramatically improving load times for the song feed, radios, etc.
  • The library folder, which contains downloaded media, can now be set to a custom location #126
  • Local playlists are now stored as m3u files within the library folder #124
  • Improved consistency and reliability of song feed cache and persistent queue
  • KuGou is now the default lyrics source

New features

  • Full Material You theming support #80
  • Playlist continuation button for lists longer than 100 songs #112
  • Pull-to-refresh to artist and playlist pages #88
  • YouTube Music lyrics source #104
  • Option to stop playback on app close #131
  • Customisable media item filtering by keyword #77
  • Added a system for displaying and reporting errors
  • YouTube/Google brand account switcher #86
  • Android 13 monochrome launcher icon #74
  • Added a development section to the settings containing a list of external strings that haven't been localised, and several UI constraints

Bugs fixed

  • Incorrect UI for search and player page/bar on some Android configurations #119 #123 #79
  • Crash on first launch if system language is unsupported #111
  • Crash when handling unknown strings in some cases #96
  • Cannot login to YouTube Music if account channel is not created #91
  • No media info on the lock screen #103
  • NullPointerException on radio load while signed in #72
  • Crash when handling unknown browse endpoint type #114

v0.1.4

21 Nov 20:46
Compare
Choose a tag to compare

This is a minor release which addresses an app-breaking bug. A full release will be published in the near future.

Increased NewPipeExtractor version from v0.22.1 to v0.22.7. This should fix issues with songs not loading.

v0.1.3

21 Nov 20:45
Compare
Choose a tag to compare

Full Changelog: v0.1.2...v0.1.3

Fix crash when using a language that the app hasn't been localised for (#70)
Add Kugou lyrics source (#63)
Fix non-Japanese lyrics loading