Commit Graph

762 Commits

Author SHA1 Message Date
sentriz
d9e8bd0d65 refactor(scanner): follow symlinks, move context, update mockfs
related #174
2021-12-20 16:51:26 +00:00
sentriz
62ccf01a3a unfunny the comments 2021-12-20 16:51:26 +00:00
sentriz
f9133aac91 fix(subsonic): route settings.view -> admin home 2021-12-20 16:51:26 +00:00
sentriz
155c8b4a8b readme: add multi folder support docs
closes: #172
2021-11-20 19:00:34 +00:00
sentriz
1b013e73cf delete scanner ErrStatingItem 2021-11-20 18:18:32 +00:00
sentriz
206db741b3 chore: bump docker go/alpine versions 2021-11-20 18:09:33 +00:00
sentriz
3d4dd9d7ad add some scanner benchmarks 2021-11-20 18:09:33 +00:00
sentriz
1d1ab116cd fix: make sure open cover and audio files are closed after use 2021-11-20 18:09:33 +00:00
sentriz
e10c8bafdf refactor: remove godirwalk dep 2021-11-20 18:09:33 +00:00
sentriz
fc50f01de3 check ServeStream track errors 2021-11-14 16:56:10 +00:00
sentriz
7ec6440ed2 fix: render artistId in track types
fixes #170
2021-11-12 20:14:57 +00:00
sentriz
870bec7d56 add scanner.scanDir 2021-11-10 19:12:39 +00:00
sentriz
43a929c36a make multierr errors private 2021-11-10 19:12:39 +00:00
sentriz
0c790442f4 fix: show artist album count when searching by tags 2021-11-10 19:12:39 +00:00
sentriz
48c34fdffc fix(ci): set golangci-lint timeout 2021-11-10 00:34:38 +00:00
sentriz
b2388e6d85 feat: log all folders while scanning 2021-11-10 00:22:25 +00:00
Senan Kelly
96f693f4e4 make musicFolderIds ints (#169)
* make `musicFolderId`s ints

https://github.com/sentriz/gonic/issues/50#issuecomment-963257103
006c1dafee/Classes/Models/API%20Models/MediaFolder.swift (L16)

related #50

* add a test for multi folders and reused artists
2021-11-09 00:23:32 +00:00
sentriz
a59c030385 add a hint about regenerating ctrlsubsonic tests 2021-11-08 19:32:27 +00:00
sentriz
1d9883edbc chore: upgrade deps 2021-11-06 21:56:01 +00:00
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