Commit Graph

1148 Commits

Author SHA1 Message Date
sentriz
749233db4e feat(subsonic): expose all album genres in a list of subsonic api
expose album genres from getArtist
2023-09-11 19:36:52 +01:00
sentriz
d6b35f8c79 return artist reference objects in subsonic album type
https://github.com/opensubsonic/open-subsonic-api/discussions/8
2023-09-10 18:42:50 +01:00
sentriz
ddd160545c use comma when joining artists 2023-09-10 16:48:06 +01:00
sentriz
07a7869836 add scan full button
Release-As: 0.16.0
2023-09-10 16:16:33 +01:00
sentriz
c909628e04 fix for int sep 2023-09-10 16:16:33 +01:00
sentriz
8f6610ff86 feat: allow multi valued tag modes to be configurable 2023-09-10 16:16:33 +01:00
sentriz
9cf48f0f58 relax the oul linters
will you fuckin relax pal
2023-09-10 16:16:32 +01:00
sentriz
658bae2b43 chore(build)!: bump to go 1.21
Release-As: 0.16.0
2023-09-10 16:16:23 +01:00
sentriz
657fb221db feat(subsonic)!: drop support for guessed artist covers in filesystem
it doesn't make sense with multi-artist support anymore

gonic will use lastfm or an album cover instead

Release-As: 0.16.0
2023-09-10 16:16:04 +01:00
sentriz
3ac77823c3 feat(subsonic): add support for multi-valued album artist tags
closes #103

a

a

a

r

a

a

a

a

a

a

a

a

a

a
2023-09-10 14:05:32 +01:00
sentriz
908c7cf088 update scrobble block desc 2023-09-07 18:27:54 +01:00
sentriz
e7e949a077 fail test if we leave a mockfs.DumpDB behind 2023-09-07 18:27:54 +01:00
sentriz
77fa858531 add support for adding mockfs item by glob pattern 2023-09-05 17:42:24 +01:00
sentriz
623d5c3709 feat(tags): support multi valued tags like albumartists 2023-09-05 17:42:24 +01:00
sentriz
75761d98f6 improve podcast error messages 2023-09-05 17:41:48 +01:00
Senan Kelly
bf59f98583 add .github/ISSUE_TEMPLATE/bug-or-issue.md 2023-09-05 15:32:16 +01:00
Daniel
a644f0ff5c feat(transcode): add MP3 320 transcoding profile (#363) 2023-09-04 23:29:24 +00:00
Gregor Zurowski
478f512d2c add tests for Last.FM ArtistGetSimilar (#355)
* Add tests for Last.FM client `ArtistGetSimilar`

* [Minor] Fix typo in test
2023-08-17 11:29:15 +00:00
sentriz
56bd2c6432 add a test for orphaned genres 2023-08-16 22:52:26 +01:00
brian-doherty
8309425c9e parse podcast description from HTML to text just as with episodes (#354) 2023-08-16 19:13:39 +00:00
sentriz
5700558a3f swap order of require.Equal() args
we had the order of require.Equal() arguments mixed up. it should be
(expected, actual) not the other way around

updated with

    find . -name "*_test.go" -exec gofmt -r "require.Equal(a, b) -> require.Equal(b, a)" -w '{}' \+
2023-08-15 22:38:38 +01:00
archekb
d5f8e23a89 feat(subsonic): gracefully handle missing podcast episode paths when returning playlists
fixes #345

* fix return playlist if file not found and do not add to playlist not downloaded podcast

---------

Co-authored-by: sentriz <senan@senan.xyz>
2023-08-15 14:49:18 +00:00
brian-doherty
7d2c4fbb5c feat(podcast): parse podcast episode descriptions from HTML to plain text (#351) 2023-08-14 21:14:13 +00:00
Gregor Zurowski
09413ea06e add tests for LastFM similar tracks (#347)
* Rename and reuse image struct

* Add LastFM test for similar tracks
2023-08-13 21:33:52 +00:00
Gregor Zurowski
78c7fbe493 add VSCode .devcontainer to Git ignore list (#348) 2023-08-13 21:33:16 +00:00
archekb
8f05f33ab8 subsonic: make homepageURL parameter optional
By the https://opensubsonic.netlify.app/docs/endpoints/createinternetradiostation/ the `homepageURL` is not requirement option
2023-08-02 10:08:49 +00:00
brian-doherty
5fb9c49ed2 fix(podcasts): make sure we use safeFilename for podcast episodes too (#339)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-07-17 10:58:36 +00:00
Senan Kelly
b4df1fa3f6 Update README.md 2023-07-10 12:50:34 +00:00
sentriz
637aae9b36 make getTopSongs return an empty list when there's no results
https://github.com/tamland/airsonic-refix/issues/99
2023-07-10 13:25:13 +01:00
sentriz
c5cac5b987 auto migrate plays before migration 2023-06-30 16:12:42 +01:00
Gregor Zurowski
2e879f6f16 add test for LastFM top tracks (#330) 2023-06-29 21:11:57 +00:00
brian-doherty
7982ffc0b4 feat(subsonic): change frequent album list to use total time played per album instead of play count. (#331)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-06-29 21:11:15 +00:00
brian-doherty
cbab68b057 feat(subsonic): improve search2 and search3 when there are multiple words searched on. (#335)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-06-29 20:59:22 +00:00
brian-doherty
c45c3c9041 rename podcast and podcast episode filenames to be safe at startup. (#337)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-06-29 20:58:15 +00:00
sentriz
5e3b8daf96 add lastfm client to subsonic controller 2023-05-22 13:05:34 +01:00
Gregor Zurowski
dbcccdc811 add initial Last.FM tests (#329)
* Move model into separate file

* Separate Last.FM client and scrobbler

* Use separate Last.FM client and scrobbler

* Fix playcount attribute name

* Add initial test for Last.FM client
2023-05-20 11:24:03 +00:00
Gregor Zurowski
6144ac7979 feat(ci): update checkout and setup-go actions (#326)
* Update Github checkout action to v3

* Update Github action setup-go to v4

* Get Go version from `go.mod`
2023-05-19 14:41:20 +00:00
Gregor Zurowski
85eeb860bf feat(ci): update golangci-lint and action (#325)
* Update linter

- Update Github golangci-lint-action to v3
- Update golangci-lint to v1.52.2

* Fix linter issues after updating to linter 1.52.2
2023-05-19 12:05:14 +00:00
Peter Nordin
ab07b876b8 feat: add .wav to list of supported audio types (#322) 2023-05-13 20:42:38 +00:00
Gregor Zurowski
5363beb031 fix names in ListenBrainz tests (#321)
* Rename test data file

* Rename require instance
2023-05-13 16:27:49 +00:00
Gregor Zurowski
b7a50ee9cb use testify for all tests (#319)
* Use Testify for all tests

* Terminate failing non-relaxed tests using `require`
2023-05-13 15:17:37 +00:00
Gregor Zurowski
bb8507a72f add unit tests for ListenBrainz scrobbler (#317)
* Access HTTP client via interface to allow for testing

* [Minor] Fix typo

* Add initial test cases for ListenBrainz scrobbler

* Fix linter error for insecure TLS in tests

* Use Testify for unit tests

* Move model into separate file

* Embed JSON responses into tests

* [Minor] Fix test function names
2023-05-13 12:10:11 +00:00
Gregor Zurowski
05b2b469dc revert "add playlists directory to docker volumes" (#316)
This reverts commit aae0683671.
2023-05-09 20:19:56 +00:00
Gregor Zurowski
aae0683671 add playlists directory to docker volumes
Add the `/playlists` directory to the list of volumes, so
the server doesn't exit when validating the playlist path
on startup.
2023-05-07 16:29:49 +00:00
sentriz
7dc9575e52 feat: store and use m3u files on filesystem for playlists
closes #306
closes #307
closes #66
2023-05-06 18:42:52 +01:00
Gregor Zurowski
1d3877668f feat(scanner): add a new option for excluding paths based on a regexp
* Exclude paths based on new exclude pattern option

* Add test for excluded paths

* Add exclude pattern option to docs

* Set exclude regexp only if given argument is set

* Update scanner/scanner.go

---------

Co-authored-by: Senan Kelly <senan@senan.xyz>
2023-05-06 17:03:11 +00:00
Senan Kelly
74de06430a refactor: consolidate specid <-> filesystem mapping and always use abs paths (#309) 2023-04-22 17:23:17 +00:00
sentriz
efe72fc447 fix(subsonic): only return one bookmark entry per row in getBookmarks
fixes #310

https://gitlab.com/ultrasonic/ultrasonic/-/issues/1113
2023-04-21 22:46:59 +01:00
sentriz
d83fe560d3 feat(scanner): support non lowercase extensions like .Mp3
https://github.com/sentriz/gonic/issues/308#issuecomment-1505650896
2023-04-12 19:04:55 +01:00
sentriz
b8fceae383 feat(sunsonic): expose type serverVersion in subsonic responses
https://opensubsonic.netlify.app/docs/responses/subsonic-response/
https://github.com/opensubsonic/open-subsonic-api/discussions/3
2023-04-08 01:27:40 +01:00