diff --git a/.codespellignore b/.codespellignore index a04dbeef4..85b169f1d 100644 --- a/.codespellignore +++ b/.codespellignore @@ -1,2 +1,10 @@ hda HDA +conexant + +# TODO: See https://github.com/savonet/liquidsoap/issues/1654 +prefered + +# TODO: Remove once docs/lunr.js is shipped using a package manager +ment +enviroments \ No newline at end of file diff --git a/.github/RELEASE.md b/.github/RELEASE.md index a1b8959a2..091a43713 100644 --- a/.github/RELEASE.md +++ b/.github/RELEASE.md @@ -21,7 +21,7 @@ Please report new issues and/or feature requests in the issue tracker. Join our Liquidsoap support No watched folder support No Line In recording support - Playout wont work if locale is missing + Playout won't work if locale is missing Lack of i18n toolchain is disturbing ## Features @@ -155,7 +155,7 @@ Currently LibreTime does not support watching folders. Uploading files through t ### No line in support This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. -Playout wont work if locale is missing +Playout won't work if locale is missing Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. diff --git a/.github/stale.yml b/.github/stale.yml index 046c0fc33..9055cfe61 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -45,7 +45,7 @@ markComment: > # Comment to post when closing a stale Issue or Pull Request. closeComment: > - This issue has been autmatically closed after is was marked as stale and + This issue has been automatically closed after is was marked as stale and did not receive any further inputs. Feel free to let us know on [discourse](https://discourse.libretime.org/) or diff --git a/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js b/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js index 6f35ee532..0a609a382 100644 --- a/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js +++ b/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js @@ -1832,11 +1832,11 @@ */ var splitDateTime = function(dateFormat, dateTimeString, dateSettings, timeSettings) { try { - // The idea is to get the number separator occurances in datetime and the time format requested (since time has + // The idea is to get the number separator occurrences in datetime and the time format requested (since time has // fewer unknowns, mostly numbers and am/pm). We will use the time pattern to split. var separator = timeSettings && timeSettings.separator ? timeSettings.separator : $.datetimepicker._defaults.separator, format = timeSettings && timeSettings.timeFormat ? timeSettings.timeFormat : $.datetimepicker._defaults.timeFormat, - timeParts = format.split(separator), // how many occurances of separator may be in our format? + timeParts = format.split(separator), // how many occurrences of separator may be in our format? timePartsLen = timeParts.length, allParts = dateTimeString.split(separator), allPartsLen = allParts.length; diff --git a/changelog b/changelog index ef718995a..c2b3edfb9 100644 --- a/changelog +++ b/changelog @@ -110,7 +110,7 @@ * fixed master/source override URL being reverted to original setting after clicking 'Save' in stream settings. * Add several helpful tips in the Stream Settings page and some UI cleanup * DJ user type cannot delete Playlists that aren't their own or delete tracks - * Playlist Builder should remember your position instead of reseting to the first page everytime an operation was performed + * Playlist Builder should remember your position instead of resetting to the first page every time an operation was performed * If Master or Live input source is disconnected, Airtime will no longer automatically switch off that source. This should allow the source to reconnect and continue playback. @@ -157,7 +157,7 @@ * "Listen" preview player no longer falls behind the broadcast (you can only mute the stream now, not stop it) * Tracks that cannot be played will be rejected on upload and put in to the directory "/srv/airtime/stor/problem_files" (but currently it will not tell you that it rejected them - sorry\!) * Library is automatically refreshed when media import is finished - * Show "Disk Full" message when trying to upload a file that wont fit on the disk + * Show "Disk Full" message when trying to upload a file that won't fit on the disk * Reduced CPU utilization for OGG streams * New command line utilities: * airtime-test-soundcard - verify that the soundcard is working @@ -237,7 +237,7 @@ * Better error checking in cases where two users alter the same data at the same time (for example, in playlists and shows) * Playlists: Removed intermediate "Add Playlist" screen where it asked you - to fill in the name and description of the playlist. This wasnt + to fill in the name and description of the playlist. This wasn't necessary since everything could be changed from the playlist editor itself. * Added "airtime-log" command to display, dump, and view all of Airtime's @@ -324,7 +324,7 @@ - Prevent users from doing a manual install of Airtime if they already have the Debian package version installed * Changes - - Support Settings moved to a seperate page accessible by Admin user only. + - Support Settings moved to a separate page accessible by Admin user only. 1.9.0 - August 9, 2011 diff --git a/dev_tools/compare_cc_files_to_fs.py b/dev_tools/compare_cc_files_to_fs.py index bdc6a6124..80b727222 100644 --- a/dev_tools/compare_cc_files_to_fs.py +++ b/dev_tools/compare_cc_files_to_fs.py @@ -94,7 +94,7 @@ class AirtimeMediaMonitorBootstrap(): and reads the list of files in the local file system. Its purpose is to discover which files exist on the file system but not in the database and vice versa, as well as which files have been modified since the database was last updated. In each case, this method will call an - appropiate method to ensure that the database actually represents the filesystem. + appropriate method to ensure that the database actually represents the filesystem. dir_id -- row id of the directory in the cc_watched_dirs database table dir -- pathname of the directory """ diff --git a/dev_tools/scripts/git-merge-po b/dev_tools/scripts/git-merge-po index 2aedde19c..820904236 100644 --- a/dev_tools/scripts/git-merge-po +++ b/dev_tools/scripts/git-merge-po @@ -20,8 +20,8 @@ # *.po merge=pofile # *.pot merge=pofile # -# - When merging branches, conflicts in PO files will be maked with "#-#-#-#" -# +# - When merging branches, conflicts in PO files will be marked with "#-#-#-#" +# O=$1 A=$2 B=$3 diff --git a/docs/_docs/backing-up-the-server.md b/docs/_docs/backing-up-the-server.md index 1a0a2f1d7..0f019e478 100644 --- a/docs/_docs/backing-up-the-server.md +++ b/docs/_docs/backing-up-the-server.md @@ -34,7 +34,7 @@ be backed up. /srv /airtime /stor - /imported - Sucessfully imported media + /imported - Successfully imported media /organize - A temporary holding place for uploaded media as the importer works /etc /airtime diff --git a/docs/_docs/contribute.md b/docs/_docs/contribute.md index df805eef5..358edfe27 100644 --- a/docs/_docs/contribute.md +++ b/docs/_docs/contribute.md @@ -37,7 +37,7 @@ jekyll serve ## Code -Are you familar with coding in PHP? Have you made projects in Liquidsoap and some of the other services we use? +Are you familiar with coding in PHP? Have you made projects in Liquidsoap and some of the other services we use? Take a look at the [list of bugs and feature requests](https://github.com/LibreTime/libretime/issues), and then fork our repo and have a go! Just use the **Fork** button at the top of our **Code** page, clone the forked repo to your desktop, open up a favorite editor and make some changes, and then commit, push, and open a pull request. @@ -47,12 +47,12 @@ will suit you well, use the links for a quick 101. ## Testing and CI/CD Before submitting code to the project, it's a good idea to test it first. To do this, it's easiest to install -LibreTime in a virtural machine on your local system or in a cloud VM. We have instructions for setting up a virtural +LibreTime in a virtual machine on your local system or in a cloud VM. We have instructions for setting up a virtual instance of LibreTime with [Vagrant](/docs/vagrant) and [Multipass](/docs/multipass). If you would like to try LibreTime in a Docker image, Odclive has instructions [here](https://github.com/kessibi/libretime-docker) for setting up a test image -and a more persistant install. +and a more persistent install. ## Modifying the Database LibreTime is designed to work with a [PostgreSQL](https://www.postgresql.org/) database server running locally. diff --git a/docs/_docs/scheduling-shows.md b/docs/_docs/scheduling-shows.md index c0527fbde..48995fafb 100644 --- a/docs/_docs/scheduling-shows.md +++ b/docs/_docs/scheduling-shows.md @@ -43,7 +43,7 @@ of the pane to add your show to the calendar. | _When_ | | | Start Time (Required) | The time and date the show starts. Note that the time element is in 24 hour time. If the **Now** option is selected, the show will be created to immediately start. | | End Time (Required) | The time and date the show ends. Defaults to a time one hour after the start time, which can be seen in the **Duration** field, which is uneditable. | -| Repeats? | If checked, allows for options to schedule a repeated show. Shows can repeat weekly up to monthly in increments of one week and can be scheduled on multiple days of the same week. An end date can be set, otherwise the show can be deleted by clicking on its entry in the calendar and clicking Delete > Future Occurances. If **Linked ?** is checked, the playlist scheduled for the next show will also play for all future shows. | +| Repeats? | If checked, allows for options to schedule a repeated show. Shows can repeat weekly up to monthly in increments of one week and can be scheduled on multiple days of the same week. An end date can be set, otherwise the show can be deleted by clicking on its entry in the calendar and clicking Delete > Future Occurrences. If **Linked ?** is checked, the playlist scheduled for the next show will also play for all future shows. | | _Autoloading Playlist_ | | | Add Autoloading Playlist? | If checked, allows for the following options | | Select Playlist | Select the playlist the show will autofill from (shows autofill exactly one hour before air). If you wish to use a smartblock you must add it to a playlist and then select that playlist. This can be used to auto-schedule new podcast episodes to air. | diff --git a/docs/_docs/ssl.md b/docs/_docs/ssl.md index 1111e2071..255a371e4 100644 --- a/docs/_docs/ssl.md +++ b/docs/_docs/ssl.md @@ -20,7 +20,7 @@ These instructions come from Certbot's website and assume that you are using an running on Ubuntu 18.04 LTS (the Apache web server is installed with LibreTime by default). Instructions for other Debian-based OSes are similar, but check with Certbot for clarification. -Note: all instructions require you to have sudo priveledges +Note: all instructions require you to have sudo privileges First, add Certbot's PPA using: diff --git a/docs/_docs/troubleshooting.md b/docs/_docs/troubleshooting.md index 800fb202c..fc70e1199 100644 --- a/docs/_docs/troubleshooting.md +++ b/docs/_docs/troubleshooting.md @@ -45,7 +45,7 @@ troubleshooting checklist. - **File not importing successfully?** Libretime has been known to work with MP3 and WAV files, encoded using 41,100 Hz. Variable Bit Rate (VBR) files are currently hit or miss with the importer. Please convert your file to an MP3 or WAV at 41,100 Hz. and try uploading again. - **Podcast hosted by Anchor.fm not importing?** There is no known work-around at this time. Ask your producers to provide their show files manually or check with the show's distributer. - **Tracks won't publish?** We know the Publish screen is broken and we're working on it. A potential work-around is to use an external podcast host like [Anchor.fm](https://www.anchor.fm) or [Blubrry](https://blubrry.com/). -- **Can't hear any sound coming from your soundcard (for analog audio output)?** If you are using ALSA as your audio driver, use `alsamixer` to see the current volume your system is set to. If stil nothing, go to **Settings** > **Streams** and make sure **Hardware Audio Output** is checked. If you need to play a tone to help you troubleshoot, you can use `speaker-test` (does not come installed with Libretime). +- **Can't hear any sound coming from your soundcard (for analog audio output)?** If you are using ALSA as your audio driver, use `alsamixer` to see the current volume your system is set to. If still nothing, go to **Settings** > **Streams** and make sure **Hardware Audio Output** is checked. If you need to play a tone to help you troubleshoot, you can use `speaker-test` (does not come installed with Libretime). ## 4. Read the docs diff --git a/docs/_docs/users.md b/docs/_docs/users.md index 1f17051cd..f198e3f7b 100644 --- a/docs/_docs/users.md +++ b/docs/_docs/users.md @@ -29,7 +29,7 @@ To add further user accounts to the system, one for each of your station staff t - Everything DJs can do, plus - Manage other users' libraries in addition to their own -- Create, edit, and delete color-coded shows on the Calender and assign them to DJs (if needed) +- Create, edit, and delete color-coded shows on the Calendar and assign them to DJs (if needed) - Shows can be scheduled to repeat, with the option of linking content between the shows (helpful if a DJ livestreams in each week) - View listener statistics - Export playout logs for analysis or reporting for music royalties diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index ee5819a41..6e49f49db 100644 --- a/docs/api/openapi.yaml +++ b/docs/api/openapi.yaml @@ -596,7 +596,7 @@ paths: required: false /show-history-feed: get: - summary: BROKEN - Retrieve the show shedules for a given time range and show + summary: BROKEN - Retrieve the show schedules for a given time range and show parameters: - name: api_key in: path @@ -1074,7 +1074,7 @@ paths: /handle-watched-dir-missing: post: summary: |- - BROKEN (LibreTime does not currentl handle watched directories) - + BROKEN (LibreTime does not currently handle watched directories) - Handles missing watched directories. parameters: - name: dir @@ -1290,7 +1290,7 @@ paths: required: true /get-usability-hint: get: - summary: Returns the usibility hint tool-tip for a UI item + summary: Returns the usability hint tool-tip for a UI item parameters: - name: api_key in: path diff --git a/installer/vagrant/centos.sh b/installer/vagrant/centos.sh index 3311a09a3..5789e0d59 100644 --- a/installer/vagrant/centos.sh +++ b/installer/vagrant/centos.sh @@ -144,7 +144,7 @@ sed -i \ # celery will not run unless we install a specific version (https://github.com/pypa/setuptools/issues/942) -# this will need to be figured out later on and will get overriden by the docs installer anyhow :( +# this will need to be figured out later on and will get overridden by the docs installer anyhow :( pip3 install setuptools==33.1.1 pip3 freeze setuptools==33.1.1 diff --git a/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py b/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py index 19f3c555d..b8e52d5c4 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/airtime_analyzer.py @@ -39,7 +39,7 @@ class AirtimeAnalyzerServer: StatusReporter.start_thread(http_retry_queue_path) # Start listening for RabbitMQ messages telling us about newly - # uploaded files. This blocks until we recieve a shutdown signal. + # uploaded files. This blocks until we receive a shutdown signal. self._msg_listener = MessageListener(rmq_config) StatusReporter.stop_thread() diff --git a/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py b/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py index 423be2e8d..7c3cc29ab 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py @@ -189,7 +189,7 @@ class MessageListener: (NACK is a negative acknowledgement. We could use ACK instead, but this might come in handy in the future.) Exceptions in this context are unexpected, unhandled errors. We try to recover - from as many errors as possble in AnalyzerPipeline, but we're safeguarding ourselves + from as many errors as possible in AnalyzerPipeline, but we're safeguarding ourselves here from any catastrophic or genuinely unexpected errors: ''' channel.basic_nack(delivery_tag=method_frame.delivery_tag, multiple=False, diff --git a/python_apps/pypo/liquidsoap/1.1/ls_lib.liq b/python_apps/pypo/liquidsoap/1.1/ls_lib.liq index b2822d596..a244c7124 100644 --- a/python_apps/pypo/liquidsoap/1.1/ls_lib.liq +++ b/python_apps/pypo/liquidsoap/1.1/ls_lib.liq @@ -65,7 +65,7 @@ end # we need this function for special transition case(from default to queue) # we don't want the trasition fade to have effect on the first song that would -# be played siwtching out of the default(silent) source +# be played switching out of the default(silent) source def transition_default(a,b) = log("transition called...") if !just_switched then diff --git a/python_apps/pypo/liquidsoap/1.3/ls_lib.liq b/python_apps/pypo/liquidsoap/1.3/ls_lib.liq index 1ed7495ea..3009c28ef 100644 --- a/python_apps/pypo/liquidsoap/1.3/ls_lib.liq +++ b/python_apps/pypo/liquidsoap/1.3/ls_lib.liq @@ -65,7 +65,7 @@ end # we need this function for special transition case(from default to queue) # we don't want the trasition fade to have effect on the first song that would -# be played siwtching out of the default(silent) source +# be played switching out of the default(silent) source def transition_default(a,b) = log("transition called...") if !just_switched then diff --git a/python_apps/pypo/liquidsoap/1.4/ls_lib.liq b/python_apps/pypo/liquidsoap/1.4/ls_lib.liq index ee32f4871..ccd2c03bc 100644 --- a/python_apps/pypo/liquidsoap/1.4/ls_lib.liq +++ b/python_apps/pypo/liquidsoap/1.4/ls_lib.liq @@ -56,7 +56,7 @@ end # we need this function for special transition case(from default to queue) # we don't want the trasition fade to have effect on the first song that would -# be played siwtching out of the default(silent) source +# be played switching out of the default(silent) source def transition_default(a,b) = log("transition called...") if !just_switched then diff --git a/python_apps/pypo/pypo/pypomessagehandler.py b/python_apps/pypo/pypo/pypomessagehandler.py index 3d4b37589..9c8b8e28a 100644 --- a/python_apps/pypo/pypo/pypomessagehandler.py +++ b/python_apps/pypo/pypo/pypomessagehandler.py @@ -73,7 +73,7 @@ class PypoMessageHandler(Thread): self.logger.info("Handling command: " + command) if command == 'update_schedule': - self.logger.info("Updating schdule...") + self.logger.info("Updating schedule...") self.pypo_queue.put(message) elif command == 'reset_liquidsoap_bootstrap': self.logger.info("Resetting bootstrap vars...") @@ -116,7 +116,7 @@ class PypoMessageHandler(Thread): """ Main loop of the thread: - Wait for schedule updates from RabbitMQ, but in case there arent any, + Wait for schedule updates from RabbitMQ, but in case there aren't any, poll the server to get the upcoming schedule. """ def run(self): diff --git a/python_apps/pypo/pypo/recorder.py b/python_apps/pypo/pypo/recorder.py index 4c8582dc2..3e22d6443 100644 --- a/python_apps/pypo/pypo/recorder.py +++ b/python_apps/pypo/pypo/recorder.py @@ -305,7 +305,7 @@ class Recorder(Thread): def run(self): """ Main loop of the thread: - Wait for schedule updates from RabbitMQ, but in case there arent any, + Wait for schedule updates from RabbitMQ, but in case there aren't any, poll the server to get the upcoming schedule. """ try: diff --git a/utils/airtime-import/airtime-import b/utils/airtime-import/airtime-import index baf20bcd3..c3c2500d1 100755 --- a/utils/airtime-import/airtime-import +++ b/utils/airtime-import/airtime-import @@ -168,7 +168,7 @@ def WatchAddAction(option, opt, value, parser): res = api_client.add_watched_dir(path) except Exception, e: exit("Unable to connect to the server.") - # sucess + # success if(res['msg']['code'] == 0): print "%s added to watched folder list successfully" % path else: @@ -212,7 +212,7 @@ def WatchRemoveAction(option, opt, value, parser): res = api_client.remove_watched_dir(path) except Exception, e: exit("Unable to connect to the Airtime server.") - # sucess + # success if(res['msg']['code'] == 0): print "%s removed from watch folder list successfully." % path else: @@ -233,11 +233,11 @@ def StorageSetAction(option, opt, value, parser): if(not bypass): errorIfMultipleOption(parser.rargs, "Only [-f] and [--force] option is allowed with this option.") possibleInput = ['y','Y','n','N'] - confirm = raw_input("Are you sure you want to change the storage direcory? (y/N)") + confirm = raw_input("Are you sure you want to change the storage directory? (y/N)") confirm = confirm or 'N' while(confirm not in possibleInput): print "Not an acceptable input: %s\n" % confirm - confirm = raw_input("Are you sure you want to change the storage direcory? (y/N) ") + confirm = raw_input("Are you sure you want to change the storage directory? (y/N) ") confirm = confirm or 'N' if(confirm == 'n' or confirm =='N'): sys.exit(1)