docs: fix broken links
This commit is contained in:
parent
dae1420a5b
commit
2d644561bf
|
@ -109,7 +109,7 @@ and a more persistent install.
|
||||||
## Modifying the Database
|
## Modifying the Database
|
||||||
|
|
||||||
LibreTime is designed to work with a [PostgreSQL](https://www.postgresql.org/)
|
LibreTime is designed to work with a [PostgreSQL](https://www.postgresql.org/)
|
||||||
database server running locally. LibreTime uses [PropelORM](http://propelorm.org)
|
database server running locally. LibreTime uses [PropelORM](https://github.com/propelorm/Propel)
|
||||||
to interact with the ZendPHP components and create the database. The version 2
|
to interact with the ZendPHP components and create the database. The version 2
|
||||||
API uses Django to interact with the same database.
|
API uses Django to interact with the same database.
|
||||||
|
|
||||||
|
|
12
README.md
12
README.md
|
@ -12,7 +12,7 @@ defining how we manage the codebase going forward.
|
||||||
|
|
||||||
We are currently ramping up development on this repository.
|
We are currently ramping up development on this repository.
|
||||||
|
|
||||||
Check out the [documentation](http://libretime.org) for more information and
|
Check out the [documentation](https://libretime.org) for more information and
|
||||||
start broadcasting!
|
start broadcasting!
|
||||||
|
|
||||||
Please note that LibreTime is released with a [Contributor Code
|
Please note that LibreTime is released with a [Contributor Code
|
||||||
|
@ -36,12 +36,12 @@ provided here.
|
||||||
> and clear descriptions, use of "pull requests" and systematic reviews.
|
> and clear descriptions, use of "pull requests" and systematic reviews.
|
||||||
|
|
||||||
The full text of the contract is licensed under the GPL and available at
|
The full text of the contract is licensed under the GPL and available at
|
||||||
the above link courtesy of the [ZeroMQ community](http://zeromq.org/).
|
the above link courtesy of the [ZeroMQ community](https://zeromq.org/).
|
||||||
|
|
||||||
## Releasing
|
## Releasing
|
||||||
|
|
||||||
The LibreTime maintainers release new versions of LibreTime at regular
|
The LibreTime maintainers release new versions of LibreTime at regular
|
||||||
intervals. We follow the [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
|
intervals. We follow the [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
||||||
standards.
|
standards.
|
||||||
|
|
||||||
In a nutshell, given a version number MAJOR.MINOR.PATCH we increment the:
|
In a nutshell, given a version number MAJOR.MINOR.PATCH we increment the:
|
||||||
|
@ -58,7 +58,7 @@ up and running.
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
To get support for any questions or problems you might have using the software
|
To get support for any questions or problems you might have using the software
|
||||||
we have a forum at [discourse.libretime.org](http://discourse.libretime.org).
|
we have a forum at [discourse.libretime.org](https://discourse.libretime.org).
|
||||||
We are moving towards using the forum to provide community support and reserving
|
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.
|
the github issue queue for confirmed bugs and well-formed feature requests.
|
||||||
|
|
||||||
|
@ -91,10 +91,6 @@ your organization. Your logo will show up here with a link to your website.
|
||||||
<a href="https://opencollective.com/libretime/organization/3/website"><img src="https://opencollective.com/libretime/organization/3/avatar.svg"></a>
|
<a href="https://opencollective.com/libretime/organization/3/website"><img src="https://opencollective.com/libretime/organization/3/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/libretime/organization/4/website"><img src="https://opencollective.com/libretime/organization/4/avatar.svg"></a>
|
<a href="https://opencollective.com/libretime/organization/4/website"><img src="https://opencollective.com/libretime/organization/4/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/libretime/organization/5/website"><img src="https://opencollective.com/libretime/organization/5/avatar.svg"></a>
|
<a href="https://opencollective.com/libretime/organization/5/website"><img src="https://opencollective.com/libretime/organization/5/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/libretime/organization/6/website"><img src="https://opencollective.com/libretime/organization/6/avatar.svg"></a>
|
|
||||||
<a href="https://opencollective.com/libretime/organization/7/website"><img src="https://opencollective.com/libretime/organization/7/avatar.svg"></a>
|
|
||||||
<a href="https://opencollective.com/libretime/organization/8/website"><img src="https://opencollective.com/libretime/organization/8/avatar.svg"></a>
|
|
||||||
<a href="https://opencollective.com/libretime/organization/9/website"><img src="https://opencollective.com/libretime/organization/9/avatar.svg"></a>
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,9 @@ msgstr "미디어 폴더"
|
||||||
|
|
||||||
The first of these three lines starts with the hash symbol, and references where this string of text is found in the source code by its file name and line number. If this string is found more than once in the source code, you will see other reference lines here. The second line contains the **msgid**, which is the original version of the string. The third line contains the **msgstr**, which is the translation of that string for the localization that this particular .po file relates to.
|
The first of these three lines starts with the hash symbol, and references where this string of text is found in the source code by its file name and line number. If this string is found more than once in the source code, you will see other reference lines here. The second line contains the **msgid**, which is the original version of the string. The third line contains the **msgstr**, which is the translation of that string for the localization that this particular .po file relates to.
|
||||||
|
|
||||||
If you use the cross-platform program **Poedit** (<http://www.poedit.net/>) to edit the .po file, this formatting of the text is hidden by an easy-to-use GUI. The _poedit_ package can be installed on most GNU/Linux distributions using the standard software installer. Versions of Poedit for Mac and Windows are available for free download from the project's homepage.
|
If you use the cross-platform program **Poedit** (<https://www.poedit.net/>) to edit the .po file, this formatting of the text is hidden by an easy-to-use GUI. The _poedit_ package can be installed on most GNU/Linux distributions using the standard software installer. Versions of Poedit for Mac and Windows are available for free download from the project's homepage.
|
||||||
|
|
||||||
Before manually translating strings in Poedit from scratch, you should take a look at the online translation services available, such as Lingohub (<https://lingohub.com>) or Google's Translator Toolkit (<http://translate.google.com/toolkit/>), which both support gettext .po files. If using automatic translation, you can then use Poedit to fine-tune the localization and fix any formatting errors.
|
Before manually translating strings in Poedit from scratch, you should take a look at the online translation services available, such as Lingohub (<https://lingohub.com>), which both support gettext .po files. If using automatic translation, you can then use Poedit to fine-tune the localization and fix any formatting errors.
|
||||||
|
|
||||||
If you don't already have a GitHub account, you can sign up at <https://github.com/signup/free>. Once you have a GitHub account, you can fork a copy (<https://help.github.com/articles/fork-a-repo>) of the LibreTime project. Work for the next major version of the software is done in the **main** branch of each project, so that's the branch to **checkout** after you have made the initial **git clone**.
|
If you don't already have a GitHub account, you can sign up at <https://github.com/signup/free>. Once you have a GitHub account, you can fork a copy (<https://help.github.com/articles/fork-a-repo>) of the LibreTime project. Work for the next major version of the software is done in the **main** branch of each project, so that's the branch to **checkout** after you have made the initial **git clone**.
|
||||||
|
|
||||||
|
|
|
@ -52,12 +52,12 @@ the last few years, since not having the right licences could leave the operator
|
||||||
liable to legal action.
|
liable to legal action.
|
||||||
|
|
||||||
If you want to go down the commercial music route, check out the
|
If you want to go down the commercial music route, check out the
|
||||||
<http://www.prsformusic.com> and <http://www.ppluk.com> websites for UK licence
|
<https://www.prsformusic.com> and <https://www.ppluk.com> websites for UK licence
|
||||||
details. In the USA, the <http://www.soundexchange.com> website currently quotes
|
details. In the USA, the <https://www.soundexchange.com> website currently quotes
|
||||||
a 500 dollar minimum annual fee for non-commercial webcasters, plus a usage fee
|
a 500 dollar minimum annual fee for non-commercial webcasters, plus a usage fee
|
||||||
above a certain number of listener hours, for the right to stream music
|
above a certain number of listener hours, for the right to stream music
|
||||||
recordings to listeners. See the websites of [ASCAP](http://www.ascap.com),
|
recordings to listeners. See the websites of [ASCAP](https://www.ascap.com),
|
||||||
[BMI](http://www.bmi.com) and [SESAC](http://www.sesac.com) for details of music
|
[BMI](https://www.bmi.com) and [SESAC](https://www.sesac.com) for details of music
|
||||||
publishing royalties payable by webcasters streaming to the USA.
|
publishing royalties payable by webcasters streaming to the USA.
|
||||||
|
|
||||||
Free content streaming offers an alternative for DIY Internet radio. Since
|
Free content streaming offers an alternative for DIY Internet radio. Since
|
||||||
|
@ -74,7 +74,7 @@ previously joined one of the many royalty collection societies around the world.
|
||||||
You can ask for permission to stream when website visitors upload their own
|
You can ask for permission to stream when website visitors upload their own
|
||||||
music files to you via a HTML form, much as the likes of SoundCloud do. Or you
|
music files to you via a HTML form, much as the likes of SoundCloud do. Or you
|
||||||
can collect files licensed under an appropriate Creative Commons licence
|
can collect files licensed under an appropriate Creative Commons licence
|
||||||
(<http://www.creativecommons.org>) or other free content licence.
|
(<https://www.creativecommons.org>) or other free content licence.
|
||||||
|
|
||||||
Explicit permission to stream on your particular server is always going to be
|
Explicit permission to stream on your particular server is always going to be
|
||||||
the ideal, so think about your own terms and conditions before you accept files
|
the ideal, so think about your own terms and conditions before you accept files
|
||||||
|
|
|
@ -18,7 +18,7 @@ Libretime widgets cannot function through VPNs or SSH tunneling. The instance mu
|
||||||
|
|
||||||
## Streaming Player Widget
|
## Streaming Player Widget
|
||||||
|
|
||||||
The streaming player widget inserts your Libretime stream into your website. One example is from [WRCS Community Radio](http://wcrsfm.org/) in Columbus, Ohio, USA.
|
The streaming player widget inserts your Libretime stream into your website. One example is from [WRCS Community Radio](https://wcrsfm.org/) in Columbus, Ohio, USA.
|
||||||
|
|
||||||
<iframe frameborder="0" width="400" height="235" src="http://broadcast.wcrsfm.org/embed/player?stream=auto&title=Now Playing"></iframe>
|
<iframe frameborder="0" width="400" height="235" src="http://broadcast.wcrsfm.org/embed/player?stream=auto&title=Now Playing"></iframe>
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ There are a number of programs available which can be used to correct mistakes o
|
||||||
- [TagScanner](https://www.xdlab.ru/en/) (Windows)
|
- [TagScanner](https://www.xdlab.ru/en/) (Windows)
|
||||||
- [Mp3tag](https://www.mp3tag.de/en/index.html) (Windows)
|
- [Mp3tag](https://www.mp3tag.de/en/index.html) (Windows)
|
||||||
- [MusicBrainz Picard](https://picard.musicbrainz.org/) (Mac, Windows, Linux)
|
- [MusicBrainz Picard](https://picard.musicbrainz.org/) (Mac, Windows, Linux)
|
||||||
- [Ex Falso](http://code.google.com/p/quodlibet/) (Linux)
|
- [Ex Falso](https://code.google.com/p/quodlibet/) (Linux)
|
||||||
|
|
||||||
The _Tags From Path_ feature of Ex Falso is a particularly useful time saver if you have a large archive of untagged files. Sometimes there is useful creator or title information in the file name or directory path structure, which can be converted into an ID3 tag automatically.
|
The _Tags From Path_ feature of Ex Falso is a particularly useful time saver if you have a large archive of untagged files. Sometimes there is useful creator or title information in the file name or directory path structure, which can be converted into an ID3 tag automatically.
|
||||||
|
|
||||||
|
@ -53,11 +53,11 @@ The name of the original character set follows the **-e** option. Other legacy c
|
||||||
|
|
||||||
## Audio loudness
|
## Audio loudness
|
||||||
|
|
||||||
On file ingest, LibreTime analyzes each Ogg Vorbis, MP3, AAC or FLAC file's loudness, and stores a _ReplayGain_ value for that file in its database. At playout time, the ReplayGain value is provided to Liquidsoap so that gain can be automatically adjusted to provide an average output of -14 dBFS loudness (14 decibels below full scale). See <http://www.replaygain.org/> for more details of ReplayGain.
|
On file ingest, LibreTime analyzes each Ogg Vorbis, MP3, AAC or FLAC file's loudness, and stores a _ReplayGain_ value for that file in its database. At playout time, the ReplayGain value is provided to Liquidsoap so that gain can be automatically adjusted to provide an average output of -14 dBFS loudness (14 decibels below full scale). See https://en.wikipedia.org/wiki/ReplayGain for more details of ReplayGain.
|
||||||
|
|
||||||
Because of this automatic gain adjustment, any files with average loudness higher than -14 dBFS will not sound louder than quieter files at playout time, but the lower crest factor in the louder files (their relatively low peak-to-average ratio) may be apparent in the output, making those files sound less dynamic. This may be an issue for contemporary popular music, which can average at -9 dBFS or louder before ReplayGain adjustment. (See <http://www.soundonsound.com/sos/sep11/articles/loudness.htm> for a detailed analysis of the problem).
|
Because of this automatic gain adjustment, any files with average loudness higher than -14 dBFS will not sound louder than quieter files at playout time, but the lower crest factor in the louder files (their relatively low peak-to-average ratio) may be apparent in the output, making those files sound less dynamic. This may be an issue for contemporary popular music, which can average at -9 dBFS or louder before ReplayGain adjustment. (See <https://www.soundonsound.com/sound-advice/dynamic-range-loudness-war> for a detailed analysis of the problem).
|
||||||
|
|
||||||
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as _DR14_ on some dynamic range meters, such as the command-line DR14 T.meter available from <http://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in LibreTime's Stream Settings page can be adjusted to suit their material.
|
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as _DR14_ on some dynamic range meters, such as the command-line DR14 T.meter available from <https://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in LibreTime's Stream Settings page can be adjusted to suit their material.
|
||||||
|
|
||||||
Large transient peaks in otherwise quiet files should be avoided, to guard against the need for peak limiting when ReplayGain is applied to those quieter files.
|
Large transient peaks in otherwise quiet files should be avoided, to guard against the need for peak limiting when ReplayGain is applied to those quieter files.
|
||||||
|
|
||||||
|
|
|
@ -57,8 +57,8 @@ the backup server also contains an LibreTime installation, it should be possible
|
||||||
to switch playout to this second machine relatively quickly, in case of a
|
to switch playout to this second machine relatively quickly, in case of a
|
||||||
hardware failure or other emergency on the production server.)
|
hardware failure or other emergency on the production server.)
|
||||||
|
|
||||||
Two notible backup tools are [rsync](http://rsync.samba.org/) (without version control) and
|
Two notible backup tools are [rsync](https://rsync.samba.org/) (without version control) and
|
||||||
[rdiff-backup](http://www.nongnu.org/rdiff-backup/) (with version control). _rsync_ comes
|
[rdiff-backup](https://rdiff-backup.net/) (with version control). _rsync_ comes
|
||||||
preinstalled with Ubuntu Server.
|
preinstalled with Ubuntu Server.
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
|
|
|
@ -165,7 +165,7 @@ If the Airtime logs indicate failures to connect to the RabbitMQ server, such as
|
||||||
2013-10-31 08:21:11,255 ERROR - [pypomessagehandler.py : main() : line
|
2013-10-31 08:21:11,255 ERROR - [pypomessagehandler.py : main() : line
|
||||||
99] - Error connecting to RabbitMQ Server. Trying again in few seconds
|
99] - Error connecting to RabbitMQ Server. Trying again in few seconds
|
||||||
|
|
||||||
2013-10-31 08:21:11,255 ERROR - \[pypomessagehandler.py : main() : line 99\] - Error connecting to RabbitMQ Server. Trying again in few seconds - See more at: http://forum.sourcefabric.org/discussion/16050/\#sthash.W8OJrNFm.dpuf
|
2013-10-31 08:21:11,255 ERROR - \[pypomessagehandler.py : main() : line 99\] - Error connecting to RabbitMQ Server. Trying again in few seconds - See more at: https://forum.sourcefabric.org/discussion/16050/#sthash.W8OJrNFm.dpuf
|
||||||
```
|
```
|
||||||
|
|
||||||
but the RabbitMQ server is running normally, this error might be due to a change in the server's hostname since Libretime installation. Directory names under _/var/lib/rabbitmq/mnesia/_ indicate that RabbitMQ's database files are organised according to the hostname of the server (ex. `rabbit@airtime`) where the hostname is _airtime.example.com_. If the hostname has changed, it may be necessary to reconfigure RabbitMQ manually, as follows:
|
but the RabbitMQ server is running normally, this error might be due to a change in the server's hostname since Libretime installation. Directory names under _/var/lib/rabbitmq/mnesia/_ indicate that RabbitMQ's database files are organised according to the hostname of the server (ex. `rabbit@airtime`) where the hostname is _airtime.example.com_. If the hostname has changed, it may be necessary to reconfigure RabbitMQ manually, as follows:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# airtime-celery
|
# airtime-celery
|
||||||
|
|
||||||
airtime-celery is a [Celery](http://www.celeryproject.org/) daemon for handling backend tasks asynchronously. Communication and the Celery results backend are both handled with amqp (RabbitMQ).
|
airtime-celery is a [Celery](https://docs.celeryproject.org/) daemon for handling backend tasks asynchronously. Communication and the Celery results backend are both handled with amqp (RabbitMQ).
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ airtime-celery is a [Celery](http://www.celeryproject.org/) daemon for handling
|
||||||
sudo python3 setup.py install
|
sudo python3 setup.py install
|
||||||
```
|
```
|
||||||
|
|
||||||
Each instance of airtime-celery has its own worker, and multiple instances can be run in parallel. [Celery is thread-safe](http://celery.readthedocs.org/en/latest/userguide/application.html), so this parallelization won't cause conflicts.
|
Each instance of airtime-celery has its own worker, and multiple instances can be run in parallel. [Celery is thread-safe](https://docs.celeryproject.org/en/latest/userguide/application.html), so this parallelization won't cause conflicts.
|
||||||
|
|
||||||
# Developers
|
# Developers
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue