Commit Graph
818 Commits
Author SHA1 Message Date
natilou 0dfbe685e1 Ability to download from grid
- Adding the option to download the album or tracks in grid view from Artist and Album pages.
2023-06-20 12:35:59 -03:00
Drew Weymouth 7f907267fa Merge pull request #197 from adamantike/feat/add-loop-player-control
Add repeat all functionality to player controls
2023-06-19 19:29:35 -07:00
Drew Weymouth 91d1cc5ba3 get rid of no-op defer 2023-06-19 19:27:14 -07:00
Drew Weymouth a324177fef adjust layout of aux controls 2023-06-19 19:22:47 -07:00
Michael Manganiello 13f0692566 Move loop button to auxiliary controls, change button color on toggle 2023-06-18 22:45:09 -03:00
Michael Manganiello 7161dd40a9 Reduce direct dependency on Player even more 2023-06-18 22:45:05 -03:00
Michael Manganiello 4629ede7a7 Interface BottomPanel through PlaybackManager to reduce direct dependency on Player 2023-06-18 22:43:03 -03:00
Michael Manganiello 2ab19f65e1 Add Loop functionality to player controls
Adding the Loop functionality, along with the Player changes to support
it, and a button to the player controls.

`Player` now has a `loopMode` attribute, which determines whether it
should loop. At the moment, only the following modes are supported:

* `LoopNone`: Disables loop.
* `LoopAll`: Enables loop for the entire playlist queue.

This has been designed as an enum, to support other modes in the future
(e.g. loop for the current track only).

It depends on the `loop` functionality provided by MPV (using the
[`loop-playlist` option](https://mpv.io/manual/master/#options-loop-playlist)),
so no custom logic is needed to reset the currently playing index.
2023-06-18 22:43:03 -03:00
Drew Weymouth 1f272829c7 upgrade fsnotify to 1.6.0 and change reactivate logic slightly 2023-06-17 18:07:16 -07:00
Drew Weymouth 20e4d8c5f2 Fix #193: exit and reactivate existing instance if another instance running 2023-06-17 17:00:47 -07:00
Drew Weymouth 0906d118b4 Merge pull request #198 from natilou/download-album
Ability to download album and playlist
2023-06-17 10:03:01 -07:00
natilou b4ab95f5b4 Ability to download album and playlist
Add in the "meatball menu" of the Album and Playlist pages the option to
download the tracks of the corresponding album or playlist in a zip file.
When download is clicked, a dialog window appears allowing you to choose
the file name and where to save the file.
2023-06-17 02:18:08 -03:00
Drew Weymouth 8ed75254a6 Merge pull request #191 from natilou/download-track
Ability to download tracks
2023-06-16 17:51:49 -07:00
natilou b1a266d217 using filepath.Base(track.FilePath) for fileName 2023-06-16 11:42:57 -03:00
Drew Weymouth 701001121f add nil check around OnDownload call 2023-06-15 21:01:52 -07:00
Drew Weymouth 762f01296a Merge pull request #196 from adamantike/fix/scrobble-track-when-removed-from-queue
Scrobble playing track when removed from queue
2023-06-15 20:39:40 -07:00
Drew Weymouth 3063cec600 Fix another bug where next track would get scrobbled additionally 2023-06-15 20:23:49 -07:00
Michael Manganiello 57646cfbfd Upgrade go-toml to v2
According to the official
[migration guide](https://github.com/pelletier/go-toml/tree/v2#migrating-from-v1),
there are no breaking changes that could affect this project.

Main differences are:

* `Default struct fields order`: Struct fields stop being alphabetically
  sorted, unless their sorting is changed in the struct definitions. Shouldn't be
  relevant.
* `No indentation by default`: Also not relevant for newly generated
  configuration files. Doesn't break reading existing configuration
  files.
2023-06-15 19:46:30 -07:00
Michael Manganiello 50c383df95 Scrobble playing track when removed from queue
This change fixes two `TODO` comments, by scrobbling the currently
playing track if it's removed from the queue, and only run OnSongChange
callbacks when the playing track is affected.
2023-06-15 22:42:51 -03:00
natilou 15a63681de Implementing downloading multiple tracks into a single zip file, changing callback signature 2023-06-15 22:16:46 -03:00
natilou f190aaf732 Ability to download tracks
- Adding the option to download the selected track or tracks.
When the download is clicked it opens a dialog that lets you choose where
you want to save the track and the file name (by default
the file name is the track number, the track name and the extension, example "03 - my song.mp3")
If there are many tracks selected it will open one dialog for each track
- Next steps: download an album and a playlist using zip
2023-06-15 10:12:53 -03:00
Michael Manganiello 7b15fe95e4 Use GridWrap from fyne-x
With https://github.com/fyne-io/fyne-x/pull/56 merged, the local
implementation can be removed to rely on the upstream version.
2023-06-14 22:08:01 -07:00
Michael Manganiello 39b17abd7d Fix typo on NewTappableIcon function 2023-06-12 18:45:21 -07:00
Michael Manganiello c19edccf80 Temporarily add tappable behavior to seekbar slider until Fyne 2.4 (#188)
Same code as
https://github.com/dweymouth/supersonic/commit/a9cec173ddcd0999cfbe7f61ca15c01bd3c1cbce,
but for the volume slider.

Related issue: #95
2023-06-10 14:57:38 -07:00
Drew Weymouth 1223af0029 Merge pull request #187 from natilou/home
Added home icon in BrowsingPane
2023-06-10 11:21:15 -07:00
natilou 5bbe3aa262 Added home icon in BrowsingPane
- Added the home icon
- Added and implemented `GoHome()`
2023-06-10 14:37:06 -03:00
Drew Weymouth 8bd5ca3894 avoid unnecessary status line refreshes 2023-06-05 09:08:02 -07:00
Drew Weymouth fedb9fd70d add status line with media info to bottom of now playing page 2023-06-05 08:55:35 -07:00
Drew Weymouth 6d5900b692 prepare for 0.3.1 release 2023-06-03 10:22:06 -07:00
Drew Weymouth 0fc7385970 Update CHANGELOG.md 2023-06-03 09:26:36 -07:00
Drew Weymouth 5d7812c54f Merge pull request #183 from dweymouth/fix-track-sort
Fix tracklist selection not updating properly when sorting
2023-06-03 08:58:35 -07:00
Drew Weymouth 6d555bc8b8 remove obsolete comment 2023-06-03 08:43:32 -07:00
Drew Weymouth 17f9370e0a renumber correctly after removing tracks from playlist 2023-06-03 08:40:49 -07:00
Drew Weymouth 69a32343e4 Update README.md with badges and more mac info 2023-06-02 19:30:04 -07:00
Drew Weymouth f17c48efa0 rm unused listselectionmanager 2023-06-02 17:43:56 -07:00
Drew Weymouth b64dcdcc0b fix tracklist selection being maintained when sorting 2023-06-02 17:43:22 -07:00
Drew Weymouth 8b238fd239 fix missing icon in album grid cover placeholder 2023-06-02 08:38:22 -07:00
Drew Weymouth 286967217e #182: switch back to GetArtistInfo2 and add defensive nil check 2023-05-31 16:41:18 -07:00
Drew Weymouth 066be7bb8d fix artist page favorite button state 2023-05-28 14:16:30 -07:00
Drew Weymouth 1908b03e73 make sure placeholder image has Fastest scale mode if requested 2023-05-28 14:12:03 -07:00
Drew Weymouth 831f5f56c7 prevent clicking track row separator from resetting selection 2023-05-27 10:30:55 -07:00
Drew Weymouth 0d6bed8294 Fix #176: searching genres list works again 2023-05-27 09:17:28 -07:00
Drew Weymouth 5827f46648 Fix #175: correct version in Mac system about dialog 2023-05-26 20:09:02 -07:00
Drew Weymouth c3430c9c85 prepare for 0.3.0 release 2023-05-24 17:42:38 -07:00
Drew Weymouth bae6b167c7 Update README with new features and updated M1/M2 mac info 2023-05-24 17:35:49 -07:00
Drew Weymouth a41f01ce55 Add latest changes 2023-05-24 17:30:56 -07:00
Drew Weymouth 7a77a77569 Playlist page - show track's original position in playlist for # column 2023-05-24 14:43:44 -07:00
Drew Weymouth 65f0fd8670 make primary link in GridViewItem bold 2023-05-24 11:18:58 -07:00
Drew Weymouth a10586d399 Merge pull request #174 from dweymouth/feature/sort-tracklist-cols
Add sorting by columns to tracklist view
2023-05-24 09:28:12 -07:00
Drew Weymouth 289aa56f7f fix merge: re-disable sorting on genres page 2023-05-24 09:27:01 -07:00