Commit Graph

743 Commits

Author SHA1 Message Date
sentriz
40cd031b05 feat: add multi folder support
closes #50
2021-11-06 21:56:01 +00:00
sentriz
fa587fc7de refactor: update scanner, scanner tests, mockfs
closes #165
closes #163
2021-11-06 21:55:46 +00:00
sentriz
b07b9a8be6 fix: don't send listenbrainz playing_now and submitted_at at the same time
fixes #168
2021-11-06 16:19:13 +00:00
sentriz
4781a744ca log listenbrainz scrobble response 2021-11-06 15:21:33 +00:00
sentriz
98cab93557 add some logging to ServeScrobble 2021-11-05 17:37:55 +00:00
sentriz
c31b3b8d1f use time.Time in scrobbler interface 2021-10-13 06:30:14 +01:00
sentriz
df85d82137 params: add time helper 2021-10-13 06:30:14 +01:00
sentriz
82d8a57aab log scrobbling errors
related https://github.com/sentriz/gonic/issues/162
2021-10-12 19:00:35 +01:00
Duncan Overbruck
848d85d26a feat: add CreatedAt to albums (#159)
This change will make the GetAlbumList views with the "newest" type
work as expected.
2021-10-04 19:12:49 +01:00
Senan Kelly
ea141cf7d0 chore: release 0.14.0 (#141)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-03 21:14:25 +01:00
sentriz
f50817a3dc fix(scanner): update changed cover files when scanning
fixes: #158
2021-10-03 21:00:37 +01:00
sentriz
3b975c6780 trim version text 2021-09-25 11:15:09 +01:00
sentriz
ef5920ea78 docs: use go install 2021-09-15 10:52:23 +01:00
sentriz
0edee132ed refactor(encode): use a replaygain enum 2021-09-13 17:02:05 +01:00
Serge Tkatchouk
b9f8ea7048 feat(encode): use "true" (unconstrained) VBR for Opus profiles 2021-09-13 16:56:50 +01:00
Serge Tkatchouk
616b152fed feat(encode): add hi-gain RG and upsampling support 2021-09-13 16:56:43 +01:00
sentriz
93608d04b4 fix(scanner): refactor a bit and fix the issue of repeatedly adding and removing tracks 😎
fixes #26
fixes #63
2021-09-10 21:00:10 +01:00
sentriz
569f62c08c refactor(scanner): don't be fancy with the clean funcs 2021-09-09 22:04:14 +01:00
alex
393813665a feat(jukebox): reduce complexity and update dependencies (#154)
* feat(jukebox): reduce jukebox code complexity

This removes an unessecary channel, but this is still pretty bad

* feat(jukebox): update flac/beep/oto so flac seeking works
2021-09-09 19:08:05 +01:00
sentriz
47b7363eb1 doc: remove microbadger 2021-09-06 20:10:26 +01:00
sentriz
212a13395d fix: return early before type switch in ServeStream
related #152
2021-08-23 21:31:49 +01:00
sentriz
b56f00e9ac feat: support filter by genre in browse by folder mode 2021-08-23 21:31:38 +01:00
sentriz
6e2d4f73c5 feat: support filter by year in browse by folder mode 2021-08-23 21:31:31 +01:00
sentriz
ccc0e3c58d fix(build): add zlib 2021-07-01 21:15:28 +01:00
sentriz
c0ca6aaf03 fix(scanner): spawn interval scans in a goroutine
this way, if the average scan takes longer than the tick interval, the ticker will be unblocked and scans won't stack on top of each other

related #63
2021-06-28 21:37:32 +01:00
Serge Tkatchouk
4109b5b66c feat(encode): add mime-type headers to cache handlers
* feat(encode): add mime-type headers to cache handlers

This commit adds a simple MIME-type guessing logic to `onCacheHit` and
`onCacheMiss` handlers, which sets `Content-Type` HTTP response header based on
format specified by transcoding profile.

* Make cacheFile stat() error fatal

Co-authored-by: Senan Kelly <senan@senan.xyz>

* Make linter happy

Good morning to you too, mister linter!

Co-authored-by: Senan Kelly <senan@senan.xyz>

Co-authored-by: Senan Kelly <senan@senan.xyz>
2021-06-21 23:36:17 +01:00
Serge Tkatchouk
5444d40018 fix(encode): Strip EBU R128 gain tags when using forced-RG transcoding (#145) 2021-06-20 18:42:06 +01:00
sentriz
2780dba534 feat(ci): add debug build workflow 2021-06-17 22:48:01 +01:00
George Hilliard
7100b2b241 feat: Support WMA files, including those with embedded album art (#143)
The tag library supports WMA, so add the mimetype.

Some wma files have embedded album art encoded as a video stream
alongside the audio:

```
Input #0, asf, from '01. Emergency Pulloff.wma':
  Metadata:
    (snip)
  Duration: 00:03:11.47, start: 0.000000, bitrate: 129 kb/s
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 200x200 [SAR 96:96 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      comment         : Cover (front)
    Stream #0:1: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, fltp, 128 kb/s
Output #0, opus, to '/tmp/output.opus':
Output file #0 does not contain any stream
```

The `-map 0:0` passed to ffmpeg is selecting the video stream to
transcode, then `-vn` says not to transcode video, so the whole process
returns an error code:

```
2021/05/28 18:59:09 transcoding according to transcoding profile of 96k
2021/05/28 18:59:09 serving transcode `02. Cotton Patch Rag.wma`: cache [opus/96k] miss!
2021/05/28 18:59:09 serving transcode `02. Cotton Patch Rag.wma`: error: starting transcode: running ffmpeg: exit status 1
```

I believe the correct solution here is to use an _audio_ stream
specifier, as in `-map 0🅰️0`.  Doing this selects the audio and
successfully performs the transcode.
2021-06-04 19:03:19 +01:00
sentriz
6f269745a5 fix(ci): trim short hash 2021-05-12 19:44:08 +01:00
sentriz
8f7131e25b feat(ci): pin golangci-lint version 2021-05-12 19:42:06 +01:00
sentriz
608504bedc feat(ci): use GITHUB_TOKEN for release please
this way, the lint action on pull request will not be triggered
(for a small change like changelog/version.txt it seems like a bit much,
since the lint has already passed for release-please to have run)
2021-05-12 19:40:41 +01:00
sentriz
cd5771f886 feat(ci): test before release please, and only run extra tests on develop and pull request 2021-05-12 19:19:31 +01:00
sentriz
ef6dd6c82a fix(docs): update ubuntu / systemd service instructions
fixes #126
2021-05-12 00:05:13 +01:00
sentriz
3cf3bdafd8 fix: show "gonic" not version in --help 2021-05-11 22:48:46 +01:00
sentriz
3382af72f1 fix(ci): remove deprecated linters 2021-05-11 21:45:01 +01:00
sentriz
f3bc3ae789 feat: create cache directory on startup
the flag is still required - but the path need not exist

the folder will eventually be created by one of

		if err := os.MkdirAll(cacheDirAudio, os.ModePerm); err != nil {
		if err := os.MkdirAll(cacheDirCovers, os.ModePerm); err != nil {

fixes #127
2021-05-11 21:38:11 +01:00
sentriz
4637cf70c1 fix: trim newlines when rendering flag values
so the default genre split doesn't break the table
2021-05-11 21:34:11 +01:00
Jef LeCompte
d2c9136b3a ci: use short hash 2021-05-11 08:43:48 +01:00
Senan Kelly
5a61fb4436 chore: release 0.13.1 2021-05-09 00:22:56 +01:00
sentriz
1f941b2085 fix(docker): bump alpine / go 2021-05-09 00:19:40 +01:00
Senan Kelly
4b3adf0f7f chore: release 0.13.0 2021-05-09 00:07:43 +01:00
sentriz
06226724b7 feat(ci): arm builds, push multiple registries
Release-As: 0.13.0
2021-05-09 00:03:37 +01:00
Jef LeCompte
c2c7eb249f feat(ci): use ghcr and auto release
- Pushes images to GitHub Container Registry (GHCR) to deprecate Docker Hub
- Auto releases for nightly
- Auto releases for new release
2021-05-08 23:56:40 +01:00
sentriz
e6b76915da fix: don't clutter db close in main 2021-05-08 18:37:55 +01:00
sentriz
58624f07dc feat(subsonic)!: don't return gonic version from responses 2021-05-08 18:37:55 +01:00
sentriz
e9743f0cb0 fix(ci): only test on go1.16 2021-05-08 18:37:55 +01:00
sentriz
a5650084d7 fix: trim newline from version 2021-05-08 18:37:55 +01:00
sentriz
0c871d888b refactor(admin): use go1.16 embed for templates and assets 2021-05-08 18:37:55 +01:00
sentriz
6f15589c08 feat!: bump to go1.16 and embed version 2021-05-08 18:37:55 +01:00