Commit Graph

283 Commits

Author SHA1 Message Date
jo 74af2112a6 fix(playout): quote incompatible <py3.9 type hints 2023-03-22 09:11:56 +00:00
jo dde1af70b2 test(playout): class creation 2023-03-22 09:11:56 +00:00
renovate[bot] 6a7d72cdf9
chore(deps): update dependency sentry-sdk to >=1.15.0,<1.18 (#2466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-16 16:45:45 +00:00
renovate[bot] 903a643c01 chore(deps): update dependency sentry-sdk to >=1.15.0,<1.17 2023-03-15 11:16:08 +01:00
jo b7214b5d46 feat: add sentry sdk 2023-03-14 14:59:45 +00:00
jo a60d83311b feat: add python packages version 2023-03-14 14:59:45 +00:00
jo 719464a272 refactor(playout): add more typings 2023-03-04 17:06:16 +02:00
jo 548d1befc8 test(playout): check untyped defs with mypy 2023-03-04 17:06:16 +02:00
jo 1bdfeb570d fix(playout): use int for liquidsoap queues map 2023-03-04 17:06:16 +02:00
jo 9f92ed95b4 test(playout): allow pylint failure 2023-03-04 17:06:16 +02:00
jo b17ff4afad test(playout): silence existing broad-exception-caught errors 2023-03-04 17:06:16 +02:00
jo a77321190f refactor(playout): fix linting errors 2023-03-04 17:06:16 +02:00
jo c6c5b1125f refactor(playout): generate entrypoint to string 2023-03-04 17:06:16 +02:00
jo f09d0ec3c6 refactor(playout): remove unused recorder 2023-03-04 17:06:16 +02:00
jo 0a9848efdd refactor(playout): init mimetypes only once 2023-03-04 17:06:16 +02:00
jo c7c3dba712 fix(playout): prevent unbound variables 2023-03-04 17:06:16 +02:00
jo 4a14b6b01f refactor(playout): update liquidsoap input auth handler 2023-03-04 17:06:16 +02:00
jo ac8917e3fc fix(playout): explicit ogg vorbis icecast encoder 2023-03-04 17:06:16 +02:00
jo 7f81915eb4 fix(playout): legacy pushes non validated data
When querying the API we serialize the message format into a dict, but legacy pushes the data and we don't yet serialize that data.
2023-03-04 17:06:16 +02:00
jo 0b3dbe8505 chore(playout): disable amqp debug logs 2023-03-04 17:06:16 +02:00
jo 5042704d42 feat(playout): don't serialize message twice 2023-03-04 17:06:16 +02:00
Marvin d2f93f7c8a
fix(playout): when shows ends, next shows starts without fade-in/fade-out (#2412)
Tracks are not fading with the crossfade function which leads to hard cuts at the end of tracks and shows. Therefore the explicit fade functions are used.

In Liquidsoap version 1.4.3. crossfade is implemented as a cross with a custom transition (fade_in and fade_out).
9f730f2c5f/src/libs/fades.liq (L433-L436)

The "duration" argument is passed through to the cross function.
In the implementation of the cross operator the value duration is used to determine how log the crossfade should take.

It is set to the cross_lenght parameter

f075905715/src/operators/cross.ml (L30-L34)

This can be overwritten with metadata, but the current annotation does not include a "override_duration" field so in our case it is always 0.
f075905715/src/operators/cross.ml (L186-L198)

So I assume the crossfade is starting to fade.out the track but because the duration is set to 0. the "cross" is completed immediately and the next source of the queue is started. Our queues do only ever contain one track at a time so there is no next source to play.
The next queue is activated and the same happens for the fade.in.

Replacing the crossfade with a fade.in/out removes this time boundary as there is no longer a "cross" function involved.

Until the tag 3.0.0-alpha.8 there was a custom crossfade_airtime function.
In tag 3.0.0-alpha.9 it was replaced with the crossfade function but was unable to find why.
ecd302068c/python_apps/pypo/liquidsoap/1.4/ls_script.liq (LL76C9-L76C18)

Co-authored-by: Marvin <Marvin>
2023-03-02 20:20:09 +01:00
jo 7d1f9252b2 chore(playout): remove banner in logs 2023-02-27 06:42:33 +02:00
jo 331b203ef8 chore(playout): remove unused imports 2023-02-27 06:42:33 +02:00
jo 0c2b2c6b63 test(playout): generated liquidsoap script syntax 2023-02-27 06:42:33 +02:00
jo 654105e865 fix(playout): %else is not defined 2023-02-27 06:42:33 +02:00
jo 9384df7be2
Merge branch '3.0.x' into main 2023-02-26 20:16:38 +01:00
jo e88e843b65 refactor(playout): add typings and fix linting errors
move EVENT_KEY_FORMAT to events module
properly type fetch queue
event start/end can be str or datetime
2023-02-26 20:05:12 +01:00
jo 3fba7c73d3 refactor(playout): remove unecesary cache dir creation 2023-02-26 20:05:12 +01:00
jo 00648b8f94 refactor(playout): unwrap schedule.media dict 2023-02-26 20:05:12 +01:00
jo 0d4e2823e2 refactor(playout): add event dict typings 2023-02-26 20:05:12 +01:00
jo cd0d9b6f4a refactor(playout): rename event kinds enums 2023-02-26 20:05:12 +01:00
jo 78c74f47ca feat(playout): use shared app for cli commands 2023-02-26 20:41:38 +02:00
jo a71606d39c feat(playout): enable vorbis metadata per icecast output
Use new jinja template system to tweak the streams per output.
2023-02-26 20:41:38 +02:00
jo 00b5c08647 feat(playout): use jinja to configure liquidsoap outputs 2023-02-26 20:41:38 +02:00
jo 85aa0174c3 test(playout): more entrypoint config test cases 2023-02-26 20:41:38 +02:00
jo a397ad3e32 fix(playout): use package loader for liquidsoap templates 2023-02-26 20:41:38 +02:00
jo 843ce32579 fix(playout): flush liquidsoap response before sending new 2023-02-26 20:41:38 +02:00
jo 861698987c refactor: don't use f-string on logging statements
The strings are now be formatted if the logging level is enabled.
2023-02-26 19:09:51 +02:00
jo c414068c16 test: re-enable pylint logging-fstring-interpolation 2023-02-26 19:09:51 +02:00
jo c6940db289 feat: replace loguru with logging 2023-02-26 19:09:51 +02:00
jo 719d7cff36 fix(playout): use the same number of schedule queues 2023-02-25 21:43:37 +02:00
jo a59599971b fix(playout): skip the identified queue instead of the current
Calling queues.s0_skip, liquidsoap was actually calling queues.s8_skip, because the current queue was 8
2023-02-25 21:43:37 +02:00
jo d497c665cc refactor(playout): rename web_stream functions 2023-02-25 21:43:37 +02:00
jo 196fc1ddf8 fix(playout): use explicit ids for liquidsoap components 2023-02-25 21:43:37 +02:00
jo 8155eb1a22 chore(playout): change quotes 2023-02-25 21:43:37 +02:00
jo cd2cd66bdf refactor(playout): rename input_check_auth handlers 2023-02-25 21:43:37 +02:00
jo 2f9f60e639 refactor(playout): rename inputs sources variables 2023-02-25 21:43:37 +02:00
jo 8ed23c9e98 refactor(playout): rename inputs on_* handlers 2023-02-25 21:43:37 +02:00
jo 9a815d68ff refactor(playout): rename liquidsoap switch functions 2023-02-25 21:43:37 +02:00
jo d36fc56f51 refactor(playout): boot_timestamp can be static
The previous use of interactive was used to hack the boot_timestamp after a settings change/liquidsoap restart.
2023-02-25 21:43:37 +02:00
jo 14cfc4ea97 refactor(playout): rename dynamic_source to web_stream 2023-02-25 21:43:37 +02:00
jo 9b9defe935 refactor(playout): rename inputs config variables 2023-02-25 21:43:37 +02:00
jo 9518db6c75 refactor(playout): rename stream control variables 2023-02-25 21:43:37 +02:00
jo c610ea1885 feat(playout): remove unused liquidsoap output namespace 2023-02-25 21:43:37 +02:00
jo 0694c34ec0 feat(playout): remove unused liquidsoap restart function 2023-02-25 21:43:37 +02:00
jo a0f232ba66 feat(playout): remove unused liquidsoap outputs connection status 2023-02-25 21:43:37 +02:00
jo aed90d835f chore(playout): clean comments 2023-02-25 21:43:37 +02:00
jo 0eced23e4e refactor(playout): remove unused check_version 2023-02-25 21:43:37 +02:00
jo c95733191a refactor(playout): rename web_stream variables 2023-02-25 21:43:37 +02:00
jo 654259824c feat(playout): use liquidsoap interactive variables 2023-02-22 15:05:40 +01:00
jo 394cf68b61 fix(playout): quote escape strings in liquidsoap entrypoint 2023-02-22 15:05:40 +01:00
jo 3c8bf6c9eb feat(playout): add jinja2 quote filter for liquidsoap 2023-02-22 15:05:40 +01:00
jo 1b027262ee feat(playout): use jinja2 env for template loading 2023-02-22 15:05:40 +01:00
jo d35ee41bb9 chore: release 3.0.2 2023-02-21 13:37:04 +01:00
jo 75bc72be6d chore: raise from specific exceptions 2023-02-21 13:25:35 +01:00
Jonas L 7c873edc19
test(playout): refresh snapshots after major upgrade (#2381) 2023-02-21 09:06:52 +02:00
jo 4b1a9e6604 test(playout): refresh snapshots after major upgrade 2023-02-03 12:40:30 +01:00
jo 35ba139c08 chore: remove venv activation 2023-02-03 12:40:30 +01:00
renovate[bot] c8957e3e1b chore(deps): update dependency syrupy to v4 2023-02-03 12:40:30 +01:00
jo 3606bd2b2b chore: add isort pre-commit hook 2023-02-03 12:38:58 +01:00
jo f8f6fda794 chore: raise from specific exceptions 2023-02-03 07:36:58 +02:00
jo 284fd5c688 chore: set dev dependencies version ranges 2023-02-03 07:36:58 +02:00
jo 1e6c5a84d3 style: format code using black 2023-02-01 11:20:32 +01:00
jo bd76971312 style: format code using black 2023-02-01 11:17:49 +01:00
jo cfa90c89d1 refactor: improve backports imports 2023-01-16 08:42:23 +02:00
jo 715144a92d chore: move isort config to pyproject.toml 2023-01-16 08:42:23 +02:00
jo 14beb885a3 chore: split test and coverage tasks 2023-01-16 08:42:23 +02:00
jo 37ba9d0986 chore: release 3.0.1 2022-12-20 16:27:29 +01:00
jo 86ceac76d8 chore: release 3.0.1 2022-12-20 16:16:30 +01:00
jo 29a02e6797 refactor: improve backports imports 2022-12-07 15:59:52 +02:00
jo f394336efc chore: move isort config to pyproject.toml 2022-12-07 15:59:52 +02:00
jo 5738edb49c chore: split test and coverage tasks 2022-12-07 15:59:52 +02:00
Jonas L 696666475c
fix: remove systemd ProtectHome feature (#2244)
Fix #2242
2022-10-19 12:37:39 +02:00
Jonas L 959c0378d6
fix: remove systemd ProtectHome feature (#2243)
Fix #2242
2022-10-19 12:27:02 +02:00
Jonas L 7f4ce865d4
docs(playout): add simple inputs pipeline schema (#2240) 2022-10-17 11:57:08 +02:00
Jonas L 730548b891
test: liquidsoap package from ppa is version 1.4.2 (#2233)
The PPA was previously not properly installed in the dev container.

Partial cherry-pick from 499f4d37ed
2022-10-12 16:16:47 +02:00
jo 4ada25a3ff fix(playout): add types
This reverts commit d6348d5575.
2022-10-11 09:28:52 +02:00
jo 0e1dfaa9ff refactor: upgrade code to Python 3.8 2022-10-11 09:28:52 +02:00
jo ea8131ec43 feat: drop Python 3.7 support 2022-10-10 23:49:10 +02:00
jo 182d1616af chore: add snapshot target 2022-10-10 23:29:21 +02:00
jo 1742890370 fix(playout): remove outdated liquidsoap code
Fixes #1482
2022-10-10 23:29:21 +02:00
Jonas L 499f4d37ed
test: liquidsoap package from ppa is version 1.4.2 (#2223)
The PPA was previously not properly installed in the dev container.
2022-10-10 21:14:41 +02:00
jo 5817750b62 feat: drop Liquidsoap 1.3 support 2022-10-10 20:11:33 +02:00
jo ace9365e92 feat: drop Liquidsoap 1.1 support 2022-10-10 20:11:33 +02:00
jo 7d514a9306 chore: list distribution releases by release date
Old releases should be popped from the left/top and new releases should be added to the right/bottom of any distro release list.
2022-10-10 20:11:33 +02:00
jo 5eda6093f4 feat: drop Debian Buster support
Fixes #2036
2022-10-10 20:11:33 +02:00
jo d29d837d01 feat: drop Python 3.6 support 2022-10-10 20:11:33 +02:00
jo 448cff7600 feat: drop Ubuntu Bionic support
Fixes #2035
2022-10-10 20:11:33 +02:00
Jonas L 96ded62c32
chore: release 3.0.0 (#2216) 2022-10-10 17:51:15 +02:00