Skip to content

Releases: toothbrush/Spotiqueue

v2.9.0

15 May 11:54
Compare
Choose a tag to compare

What's Changed

  • Load saved tracks – press ⌘P.
  • Fix visual glitch around album art & titles when pasting Spotify URIs.
  • Add example SCM code for your own "repeat track" function.

New Contributors

Full Changelog: v2.8.0...v2.9.0

v2.8.0 Dependency update to fix Spotify API change

14 May 13:49
Compare
Choose a tag to compare

Mainly this is a small dependency updates release – we had to pin SpotifyAPI to Peter-Schorn/SpotifyAPI@e814a98 (unreleased) because we were bumping into Peter-Schorn/SpotifyAPI#59. Hopefully at some point we can go back to tracking released tags as usual.

Also spruced up build & release tooling a little. Happy listening!

Full Changelog: v2.7.1...v2.8.0

Restores previous track & playback position

04 Jan 02:05
Compare
Choose a tag to compare

As requested in #4, we now restore the previous session's current track & playback position.

If you prefer the old behaviour (that is, no current track when opening Spotiqueue), simply add the following snippet to your ~/.config/spotiqueue/init.scm configuration file:

(if (defined? 'player:set-restore-playback)
    (player:set-restore-playback #f))

v2.7

02 Jan 05:33
Compare
Choose a tag to compare

Main changes:

  • Exception handling: making a mistake in your Guile code won't terminate the entire player! You'll just get an alert popup. This makes developing and reloading your code interactively (e.g., in Emacs with Geiser connected to Spotiqueue) much more convenient.
  • queue:set-tracks now supports both <track> records as well as strings with Spotify URIs like spotify:track:f00bar.
  • search:get-selection exposes search selection to Guile.
  • queue:insert-tracks allows one to insert new queued tracks at any position. Useful if you want a custom top-enqueue function that takes into account the currently-playing album!
  • paul:enqueue-after-current-album demonstrates a smarter top-enqueue.
  • GUI: you can copy from the track/album/title display labels.

Changelog highlights:

94ad77a * paul-config.scm(paul:enqueue-after-current-album): Smarter top-enqueue.
c4969a0 * Spotiqueue/GuileHelpers.m(queue:insert-tracks): Expose new procedure.
ed1a379 * Instead of append, let's support insert(at:) for queue.
5003f4b * RBQueueTableView.swift(paste): Deal gracefully with bad input.
a93387b * GuileHelpers.m(search_get_selection): Expose search selection to Guile.
4f98964 * Introduce record, plus some plumbing.
0b18346 * GuileHelpers.m(get_tracks_from): Slightly more general queue_get_tracks.
1f0aad9 * base.scm(flatten-track): Rename procedure.
934f7f7 * paul-config.scm: Find hs binary in M1 Mac Homebrew location.
48fce70 * records.scm: Just use module-export-all!, more concise.
85d9f3a * (spotiqueue base): Rename from (spotiqueue init).
7284a8d * init.scm: Use simpler re-export logic.
6134e92 * init.scm(re-export-public-interface): Syntax to re-export all defines.
7ddbed7 * (spotiqueue functions): Renamed from internal.
ef93861 * RBGuileBridge.swift(guile_handle_key): Remove scm_eval.
ceca189 * init.scm(define-key): Procedures instead of symbols in keymaps.
a4bd3af * paul-config.scm: Demonstrate config as standalone module.
ddebf44 * paul-config.scm: Fixup forgotten reset-hook!.
a4a3597 * Ensure we always do module-name-qualified lookups.
7907742 * RBGuileBridge.swift(hook_with_track): Remove and inline boring admin.
db4a5f9 * init.scm(define-key): Ensure user passed <kbd> and hash-table.
be46b70 * keybindings.scm(kbd?): Predicate to check for <kbd> structs.
0e50346 * RBGuileBridge.swift(call_hook): Consolidate hook_0, hook_1; catch exceptions.
311b78e * RBGuileBridge.swift(load_user_initscm_if_present): Use "safe" primitive-load.
970504b * RBGuileBridge.swift(guile_handle_key): Only output key name in DEBUG.
5091d87 * RBGuileBridge.swift(guile_handle_key): Use exception handler for keybindings.
d636b00 * RBGuileBridge.swift(track_to_scm_record): Comment.
7717782 * exceptions.scm: New module with some "safe" procedure wrappers.
67f7c58 * GuileHelpers.m(player:alert): Procedure to show NSAlert from Guile.
ea15ad0 * GuileHelpers.m: Alphabetise scm defines.
f22be39 * GuileHelpers.m(queue:set-tracks): Rename to queue:_set-tracks, introduce helper.
b03a2e6 * Make album/track labels selectable.

Friendlier output when login fails

06 Dec 12:05
Compare
Choose a tag to compare

Don't crash if login fails. Instead, tell the user which common issue occurred:

  • Incorrect username/password
  • User hasn't got Premium account

Universal binary for Apple M1. Also, shuffle 😬

30 Nov 07:25
Compare
Choose a tag to compare

What's Changed

  • Universal binary! Should work on old and new Macs!
  • Get/set queue from Guile land, in #5
  • Ctrl-Alt-s to shuffle the current queue! wink wink

Full Changelog: v2.4.2...v2.5.1

Guile bugfix, auto-advance toggle

02 Oct 05:29
29faaef
Compare
Choose a tag to compare

Finally a working release with Guile included. 🎉

  • Auto-advance toggle! You can tell Spotiqueue to stop-after-current by clicking the auto-advance toggle. Also available as Guile binding.
  • Bug fixed: bundle Guile stdlib. See also #2

Introducing Guile for Spotiqueue

18 Sep 06:38
Compare
Choose a tag to compare

⚠ This release is broken for some. Use more recent release.

Have you ever thought it'd be rad to add features to Spotiqueue using everyone's favourite language? Wait no more, with Spotiqueue's Guile integration!

Changes in this version (v2.4):

  • Basic Guile support! Pause, next, get current song, as well as the ability to bind keys to arbitrary Scheme code.
  • Create playlists from search results or current queue.
  • Delete playlists from user library.
  • / filter is a bit smarter regarding your selection in search results. For example, narrow results with / then Esc leaves the filtered result selected.
  • Toggle button to disable auto-advancing on end-of-track event. Useful for "stop after currently-playing track".
  • ? will surface the album of the currently-playing track, and highlight the current track.

v2.3.1: Update "Search Results" title _before_ kicking off search.

31 Jul 06:48
Compare
Choose a tag to compare

Some smallish updates:

  • Ability to copy album link C-S-c, as well as track link C-c (as before)!
  • ? finds currently-playing album
  • Friendlier open.spotify.com link when copying
  • Now x also deletes queue items
  • Added C-{b,f,u,d} Vim-like paging keys

v2.3.0

05 Jul 09:03
Compare
Choose a tag to compare

Yay, more updates

  • Local filtering! 🎉 Press / to try. Supports regex!
  • Persists queue between sessions.
  • Esc cancels running search. Useful if you accidentally ask for many tracks.