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
1b013e73cf
delete scanner ErrStatingItem
2021-11-20 18:18:32 +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
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
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
sentriz
f50817a3dc
fix(scanner): update changed cover files when scanning
...
fixes : #158
2021-10-03 21:00:37 +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
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
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
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
58624f07dc
feat(subsonic)!: don't return gonic version from responses
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
6a99cdf299
bump to v0.12.3
...
generated by `_do_bump_version` script in project root
2021-04-20 23:17:05 +01:00
sentriz
61e11471b3
Fix non-folder folder empty parent ids
...
fixes #134
introduced by 711ffe144f
id updated_at modified_at left_path right_path right_path_u_dec parent_id cover tag_artist_id tag_title tag_title_u_dec tag_brainz_id tag_year
---------- ----------------------------------- ----------------------------------- ---------- ---------- ---------------- ---------- ---------- ------------- ---------- --------------- ------------- ----------
1 2021-04-20 22:04:31.437318349+01:00 2021-04-20 21:35:55.423563144+01:00 .
2 2021-04-20 22:04:31.437920005+01:00 2021-04-20 21:35:50.766896425+01:00 luke
3 2021-04-20 22:04:31.475871668+01:00 2021-04-20 21:35:11.526895985+01:00 luke/ (2003) Yos 2 folder.jpe 1 YosepH cf497d42-736a 2003
4 2021-04-20 22:04:31.476325505+01:00 2021-04-20 21:35:55.423563144+01:00 beng
5 2021-04-20 22:04:31.511647498+01:00 2021-04-20 21:35:27.060229492+01:00 beng/ (2013) Cha 4 folder.jpg 2 Chapter II bcafa993-f065 2013
->
id updated_at modified_at left_path right_path right_path_u_dec parent_id cover tag_artist_id tag_title tag_title_u_dec tag_brainz_id tag_year
---------- ----------------------------------- ----------------------------------- ---------- ---------- ---------------- ---------- ---------- ------------- ---------- --------------- ------------- ----------
1 2021-04-20 22:22:55.368005558+01:00 2021-04-20 21:35:55.423563144+01:00 . 0
2 2021-04-20 22:22:55.331985959+01:00 2021-04-20 21:35:50.766896425+01:00 luke 1 0
3 2021-04-20 22:22:55.33148277+01:00 2021-04-20 21:35:11.526895985+01:00 luke/ (2003) Yos 2 folder.jpe 1 YosepH cf497d42-736a 2003
4 2021-04-20 22:22:55.367693081+01:00 2021-04-20 21:35:55.423563144+01:00 beng 1 0
5 2021-04-20 22:22:55.36711045+01:00 2021-04-20 21:35:27.060229492+01:00 beng/ (2013) Cha 4 folder.jpg 2 Chapter II bcafa993-f065 2013
2021-04-20 23:12:15 +01:00
Duncan Overbruck
ef86f5b094
scanner/tags: fix original date
...
Real tag is `originaldate` and matches TDOR from taglib in id3v2:
https://github.com/taglib/taglib/blob/1644c0dd/taglib/mpeg/id3v2/id3v2frame.cpp#L338
originalyear does not exist.
2021-04-19 16:18:12 +02:00
Duncan Overbruck
482c6f0e19
scanner/tags: prefer original_date over date
2021-04-18 23:58:56 +02:00
sentriz
b17ce76a72
Set getUser.view jukebox/podcast role
...
closes #130
2021-04-18 12:34:54 +01:00
sentriz
e9cc2e8ea6
fix podcast nil ITunesExt and escape cover path with slash
...
Co-authored-by: Alex McGrath <amk@amk.ie >
2021-03-30 21:41:22 +01:00
sentriz
e7d4b857f7
sanitise password in logs
2021-03-23 21:15:56 +00:00
sentriz
51dc407f2e
Add PodcastEpisodeStatusError
2021-03-04 19:38:34 +00:00
sentriz
3c926aab99
use enum for PodcastEpisodeStatus and PodcastAutoDownload
2021-03-04 19:38:34 +00:00
Alex McGrath
512d967dfa
Add updated assets
2021-03-04 19:38:34 +00:00