A new interface for LibreTime.
Go to file
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
.chglog chore: add changelog generator 2022-09-16 17:05:47 +02:00
.github chore: don't check youtube nocookie links 2023-03-02 16:29:12 +02:00
analyzer Merge branch '3.0.x' into main 2023-02-26 20:16:38 +01:00
api chore(deps): update dependency djangorestframework-stubs to >=1.8.0,<1.10 2023-02-27 14:38:08 +01:00
api-client Merge branch '3.0.x' into main 2023-02-26 20:16:38 +01:00
docker chore: configure more outputs for dev setup 2023-02-26 20:41:38 +02:00
docs docs: remove warning about docker install (#2411) 2023-02-28 09:07:00 +02:00
installer chore: clean unmaintained centos files (#2212) 2022-10-08 08:07:53 +02:00
legacy chore(legacy): update locales 2023-02-27 12:16:32 +00:00
playout fix(playout): when shows ends, next shows starts without fade-in/fade-out (#2412) 2023-03-02 20:20:09 +01:00
shared Merge branch '3.0.x' into main 2023-02-26 20:16:38 +01:00
tools chore(deps): update dependency mypy to v1.0.1 (#2374) 2023-02-17 21:24:12 +02:00
worker Merge branch '3.0.x' into main 2023-02-26 20:16:38 +01:00
.codespellignore feat: add container setup 2022-09-14 11:09:52 +02:00
.dockerignore feat: add container setup 2022-09-14 11:09:52 +02:00
.env.dev feat: add container setup 2022-09-14 11:09:52 +02:00
.gitattributes Create .gitattributes to ensure proper cloning with Windows Git 2017-04-09 14:41:52 -04:00
.gitignore chore: mount local data dir for development 2023-02-25 21:43:37 +02:00
.pre-commit-config.yaml ci: update locales weekly, not for every commit (#2403) 2023-02-26 19:07:04 +02:00
.vale.ini docs: fix vale linting errors 2022-09-26 09:13:25 +02:00
CHANGELOG.md chore: generate changelog for 3.0.2 2023-02-21 13:38:53 +01:00
CONTRIBUTING.md docs: adapt c4 to our workflows 2023-02-26 20:34:30 +02:00
Dockerfile chore: improve dockerfile run calls (#2273) 2022-12-07 15:29:30 +02:00
LEGACY.md Add Table of Content to LEGACY file 2021-09-02 20:55:16 +02:00
LICENSE Small update to LICENSE 2021-09-02 16:06:26 +02:00
Makefile chore: add dev target for quick setup 2023-02-11 00:31:37 +01:00
README.md chore: use title for image alternative 2023-03-02 16:10:08 +01:00
SECURITY.md chore: add security policy (#2378) 2023-02-26 20:35:03 +02:00
Vagrantfile feat: drop Debian Buster support 2022-10-10 20:11:33 +02:00
cloud-init.yml docs: fix and update links (#1714) 2022-03-29 13:07:38 +02:00
codecov.yml test(worker): setup testing 2022-09-09 14:44:37 +02:00
docker-bake.json ci: use bake file for container build 2023-02-26 20:37:27 +02:00
docker-compose.override.yml chore: configure more outputs for dev setup 2023-02-26 20:41:38 +02:00
docker-compose.yml feat: use libretime/icecast container image (#2165) 2022-09-20 11:35:32 +02:00
install Merge branch '3.0.x' into main 2023-02-26 20:16:38 +01:00
pyproject.toml chore: add isort pre-commit hook 2023-02-03 12:38:58 +01:00

README.md

LibreTime

Financial Contributors on Open Collective

LibreTime makes it easy to run your own online or terrestrial radio station. It is a community managed fork of the AirTime project.

It is managed by a friendly inclusive community of stations from around the globe that use, document and improve LibreTime. Join us in fixing bugs and in defining how we manage the codebase going forward.

Check out the documentation for more information and start broadcasting!

Please note that LibreTime is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

You can find details about our development process in the contributing guide.

Support

To get support for any questions or problems you might have using the software we have a forum at discourse.libretime.org. We are moving towards using the forum to provide community support and reserving the github issue queue for confirmed bugs and well-formed feature requests.

You can also contact us through our Mattermost instance where you can talk with other users and developers.

Contributors

Code Contributors

This project exists thanks to all the people who contribute.

Financial Contributors

Become a financial contributor and help us sustain our community on OpenCollective.

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website.

License

LibreTime is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.

Copyright (c) 2011-2017 Sourcefabric z.ú.

Copyright (c) 2017-2023 LibreTime Community

Please refer to the LEGACY file for more information.