Commit Graph

720 Commits

Author SHA1 Message Date
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
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
Senan Kelly
e206dd25db Merge pull request #133 from Duncaen/original_year
scanner/tags: fix original date
2021-04-19 23:05:44 +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
Senan Kelly
068b531a0b Merge pull request #132 from Duncaen/original_year
scanner/tags: prefer original_date over date
2021-04-18 23:55:55 +01:00
Duncan Overbruck
482c6f0e19 scanner/tags: prefer original_date over date 2021-04-18 23:58:56 +02:00
Sumner Evans
5d1aee79e6 update sublime-music link 2021-04-18 12:41:24 +01: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
Alex McGrath
10fca91785 Add download all button and include options to automatically download new episodes 2021-03-04 19:38:34 +00:00
Duncan Overbruck
2a11017d54 add flag (-http-log) to disable http request logging 2021-02-27 18:26:37 +00:00
sentriz
7d420f61a9 bump to v0.12.2
generated by `_do_bump_version` script in project root
2021-02-19 00:11:20 +00:00
sentriz
bcd7886484 fix download episode 2021-02-19 00:10:47 +00:00
sentriz
07f77bf107 bump to v0.12.1
generated by `_do_bump_version` script in project root
2021-02-18 12:26:35 +00:00
Alex McGrath
f7772303b0 Fix podcasts with / in the name 2021-02-18 12:18:35 +00:00
sentriz
87cd303257 update readme for offical arm builds 2021-02-09 20:09:25 +00:00
sentriz
d31ec7f666 [test] setup binfmt in qemu action 2021-02-09 01:12:08 +00:00
sentriz
f73e1a0c99 [test] arm build 2021-02-08 23:18:53 +00:00
sentriz
31ee0fe8bc [test] arm build 2021-02-08 23:05:28 +00:00