From c4cdb94fab90331e190ec8c2bc1a7758252d3533 Mon Sep 17 00:00:00 2001 From: jo Date: Wed, 9 Feb 2022 09:18:15 +0100 Subject: [PATCH] docs: rename documentation files Co-authored-by: Zachary Klosko --- docs/api/openapi.yaml | 1341 ----------------- docs/{_docs => appendix}/api.md | 0 docs/{_docs => appendix}/hd-audio-modules.md | 0 docs/{_docs => appendix}/rights-royalties.md | 0 docs/{_docs => appendix}/widgets.md | 0 .../default-passwords.md | 0 docs/{_docs => getting-started}/install.md | 0 .../reverse-proxy.md | 0 .../set-server-time.md | 0 docs/{_docs => getting-started}/ssl.md | 0 docs/{_docs => guides}/calendar.md | 0 docs/{_docs => guides}/dashboard.md | 0 docs/{_docs => guides}/listener-stats.md | 0 docs/{_docs => guides}/live-broadcast.md | 0 docs/{_docs => guides}/playlists.md | 0 docs/{_docs => guides}/playout-history.md | 0 docs/{_docs => guides}/podcasts.md | 0 docs/{_docs => guides}/preparing-media.md | 0 docs/{_docs => guides}/scheduling-shows.md | 0 docs/{_docs => guides}/settings.md | 0 docs/{_docs => guides}/status.md | 0 docs/{_docs => guides}/users.md | 0 docs/{_docs => guides}/webstreams.md | 0 docs/{_docs => }/interface-customization.md | 0 docs/{_docs => }/interface-localization.md | 0 docs/{_docs/vagrant.md => local-dev.md} | 0 docs/{_docs => }/microsite.md | 0 docs/{_docs => }/multipass.md | 0 .../backing-up-the-server.md | 0 docs/{_docs => server-config}/freeipa.md | 0 .../host-configuration.md | 0 docs/{_docs => server-config}/icecast.md | 0 docs/{_docs => }/troubleshooting.md | 0 docs/{_docs => }/upgrading.md | 0 34 files changed, 1341 deletions(-) delete mode 100644 docs/api/openapi.yaml rename docs/{_docs => appendix}/api.md (100%) rename docs/{_docs => appendix}/hd-audio-modules.md (100%) rename docs/{_docs => appendix}/rights-royalties.md (100%) rename docs/{_docs => appendix}/widgets.md (100%) rename docs/{_docs => getting-started}/default-passwords.md (100%) rename docs/{_docs => getting-started}/install.md (100%) rename docs/{_docs => getting-started}/reverse-proxy.md (100%) rename docs/{_docs => getting-started}/set-server-time.md (100%) rename docs/{_docs => getting-started}/ssl.md (100%) rename docs/{_docs => guides}/calendar.md (100%) rename docs/{_docs => guides}/dashboard.md (100%) rename docs/{_docs => guides}/listener-stats.md (100%) rename docs/{_docs => guides}/live-broadcast.md (100%) rename docs/{_docs => guides}/playlists.md (100%) rename docs/{_docs => guides}/playout-history.md (100%) rename docs/{_docs => guides}/podcasts.md (100%) rename docs/{_docs => guides}/preparing-media.md (100%) rename docs/{_docs => guides}/scheduling-shows.md (100%) rename docs/{_docs => guides}/settings.md (100%) rename docs/{_docs => guides}/status.md (100%) rename docs/{_docs => guides}/users.md (100%) rename docs/{_docs => guides}/webstreams.md (100%) rename docs/{_docs => }/interface-customization.md (100%) rename docs/{_docs => }/interface-localization.md (100%) rename docs/{_docs/vagrant.md => local-dev.md} (100%) rename docs/{_docs => }/microsite.md (100%) rename docs/{_docs => }/multipass.md (100%) rename docs/{_docs => server-config}/backing-up-the-server.md (100%) rename docs/{_docs => server-config}/freeipa.md (100%) rename docs/{_docs => server-config}/host-configuration.md (100%) rename docs/{_docs => server-config}/icecast.md (100%) rename docs/{_docs => }/troubleshooting.md (100%) rename docs/{_docs => }/upgrading.md (100%) diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml deleted file mode 100644 index 0896d12f8..000000000 --- a/docs/api/openapi.yaml +++ /dev/null @@ -1,1341 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json -openapi: "3.1.0" -info: - title: LibreTime API overview - version: 1.1 -paths: - /live-info: - get: - summary: Retrieve the currently playing show as well as upcoming shows - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: type - in: path - description: |- - endofday retrieves the info for shows up until the end of the day, - while interval will return shows in the next 48 hours - schema: - enum: - - "endofday" - - "interval" - default: "interval" - required: false - - name: limit - in: path - description: the number of shows to retrieve - schema: - type: integer - default: 5 - required: false - responses: - "200": - description: 200 response for default request - content: - application/json: - example: - { - "env": "production", - "schedulerTime": "2019-10-21 17:52:45", - "previous": - { - "starts": "2019-10-21 17:47:25.000000", - "ends": "2019-10-21 17:52:13.000000", - "type": "track", - "name": "Disclosure - F For You (feat. Mary J. Blige)", - "metadata": - { - "id": 8, - "name": "", - "mime": "audio/mp3", - "ftype": "audioclip", - "directory": 1, - "filepath": "imported/1/Disclosure/www.mmibty.com/01-F-For-You-feat.-Mary-J.-Blige.mp3", - "import_status": 0, - "currentlyaccessing": 0, - "editedby": null, - "mtime": "2019-10-21 17:19:03", - "utime": "2019-10-21 17:18:57", - "lptime": "2019-10-21 17:47:25", - "md5": "e008616551750aea49820a16d1fb1527", - "track_title": "F For You (feat. Mary J. Blige)", - "artist_name": "Disclosure", - "bit_rate": 251628, - "sample_rate": 44100, - "format": null, - "length": "00:04:48.026122", - "album_title": "www.mmibty.com", - "genre": "Electronic", - "comments": null, - "year": "2014", - "track_number": 1, - "channels": 2, - "url": null, - "bpm": null, - "rating": null, - "encoded_by": null, - "disc_number": null, - "mood": null, - "label": null, - "composer": null, - "encoder": null, - "checksum": null, - "lyrics": null, - "orchestra": null, - "conductor": null, - "lyricist": null, - "original_lyricist": null, - "radio_station_name": null, - "info_url": null, - "artist_url": null, - "audio_source_url": null, - "radio_station_url": null, - "buy_this_url": null, - "isrc_number": null, - "catalog_number": null, - "original_artist": null, - "copyright": null, - "report_datetime": null, - "report_location": null, - "report_organization": null, - "subject": null, - "contributor": null, - "language": null, - "replay_gain": "-5.58", - "owner_id": 1, - "cuein": "00:00:00", - "cueout": "00:04:48.026122", - "hidden": false, - "filesize": 9271626, - "description": null, - "artwork": "imported/1/artwork/01-F-For-You-feat.-Mary-J.-Blige", - "artwork_url": "http://localhost:8080/api/track?id=8&return=artwork", - }, - }, - "current": - { - "starts": "2019-10-21 17:52:13", - "ends": "2019-10-21 17:56:27", - "type": "track", - "name": "Armin van Buuren - Ping Pong", - "media_item_played": true, - "metadata": - { - "id": 2, - "name": "", - "mime": "audio/mp3", - "ftype": "audioclip", - "directory": 1, - "filepath": "imported/1/Armin van Buuren/A State of Trance 2014/2-18 Armin van Buuren - Ping Pong.mp3", - "import_status": 0, - "currentlyaccessing": 0, - "editedby": null, - "mtime": "2019-10-21 17:18:02", - "utime": "2019-10-21 17:18:00", - "lptime": "2019-10-21 17:52:13", - "md5": "04c26823902065db0706d121d0e703a2", - "track_title": "Ping Pong", - "artist_name": "Armin van Buuren", - "bit_rate": 32000, - "sample_rate": 44100, - "format": null, - "length": "00:04:14.171429", - "album_title": "A State of Trance 2014", - "genre": "Trance;Electronic;Dance", - "comments": null, - "year": "2014", - "track_number": 18, - "channels": 2, - "url": null, - "bpm": null, - "rating": null, - "encoded_by": null, - "disc_number": null, - "mood": null, - "label": "Armada Music", - "composer": null, - "encoder": null, - "checksum": null, - "lyrics": null, - "orchestra": null, - "conductor": null, - "lyricist": null, - "original_lyricist": null, - "radio_station_name": null, - "info_url": null, - "artist_url": null, - "audio_source_url": null, - "radio_station_url": null, - "buy_this_url": null, - "isrc_number": null, - "catalog_number": null, - "original_artist": null, - "copyright": null, - "report_datetime": null, - "report_location": null, - "report_organization": null, - "subject": null, - "contributor": null, - "language": null, - "replay_gain": "-5.07", - "owner_id": 1, - "cuein": "00:00:00", - "cueout": "00:04:14.171429", - "hidden": false, - "filesize": 6136238, - "description": null, - "artwork": "imported/1/artwork/2-18 Armin van Buuren - Ping Pong", - "artwork_url": "http://localhost:8080/api/track?id=2&return=artwork", - }, - "record": "0", - }, - "next": - { - "starts": "2019-10-21 17:56:27.000000", - "ends": "2019-10-21 18:00:28.000000", - "type": "track", - "name": "Bastille - No Angels (feat. Ella)", - "metadata": - { - "id": 4, - "name": "", - "mime": "audio/mp3", - "ftype": "audioclip", - "directory": 1, - "filepath": "imported/1/Bastille/Other People's Heartache, Pt. 2/03 Bastille - No Angels (feat. Ella).mp3", - "import_status": 0, - "currentlyaccessing": 0, - "editedby": null, - "mtime": "2019-10-21 17:18:16", - "utime": "2019-10-21 17:18:14", - "lptime": "2019-10-21 17:24:46", - "md5": "87bf83451d7618eefc0141c262aead2a", - "track_title": "No Angels (feat. Ella)", - "artist_name": "Bastille", - "bit_rate": 128000, - "sample_rate": 44100, - "format": null, - "length": "00:04:00.752438", - "album_title": "Other People's Heartache, Pt. 2", - "genre": null, - "comments": null, - "year": "2012", - "track_number": 3, - "channels": 2, - "url": null, - "bpm": null, - "rating": null, - "encoded_by": null, - "disc_number": null, - "mood": null, - "label": "[no label]", - "composer": null, - "encoder": null, - "checksum": null, - "lyrics": null, - "orchestra": null, - "conductor": null, - "lyricist": null, - "original_lyricist": null, - "radio_station_name": null, - "info_url": null, - "artist_url": null, - "audio_source_url": null, - "radio_station_url": null, - "buy_this_url": null, - "isrc_number": null, - "catalog_number": null, - "original_artist": null, - "copyright": null, - "report_datetime": null, - "report_location": null, - "report_organization": null, - "subject": null, - "contributor": null, - "language": null, - "replay_gain": "-8.57", - "owner_id": 1, - "cuein": "00:00:00", - "cueout": "00:04:00.752438", - "hidden": false, - "filesize": 3858688, - "description": null, - "artwork": "", - }, - }, - "currentShow": - [ - { - "start_timestamp": "2019-10-21 17:20:00", - "end_timestamp": "2019-10-21 18:31:00", - "name": "Show 1", - "description": "A show", - "id": 1, - "instance_id": 1, - "record": 0, - "url": "https://example.com", - "image_path": "", - "starts": "2019-10-21 17:20:00", - "ends": "2019-10-21 18:31:00", - }, - ], - "nextShow": - [ - { - "id": 2, - "instance_id": 2, - "name": "Reading", - "description": "A reading of After the EMP by Harley Tate", - "url": "https://example.com", - "start_timestamp": "2019-10-21 18:31:00", - "end_timestamp": "2019-10-22 10:45:00", - "starts": "2019-10-21 18:31:00", - "ends": "2019-10-22 10:45:00", - "record": 0, - "image_path": "", - "type": "show", - }, - ], - "source_enabled": "Scheduled", - "timezone": "UTC", - "timezoneOffset": "0", - "AIRTIME_API_VERSION": "1.1", - } - /live-info-v2: - get: - summary: Retrieve the currently playing and upcoming shows - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - - name: days - in: path - description: The number of days to return - schema: - type: integer - default: 2 - required: false - - show_id: shows - in: path - description: the number of shows to retrieve - schema: - type: integer - default: 5 - required: false - - name: timezone - in: path - description: The timezone to send the times in - schema: - type: string - default: "$server_timezone" - required: false - responses: - "200": - description: 200 response for default request - content: - application/json: - example: - { - "station": - { - "env": "production", - "schedulerTime": "2019-10-21 17:29:40", - "source_enabled": "Scheduled", - "timezone": "UTC", - "AIRTIME_API_VERSION": "1.1", - }, - "tracks": - { - "previous": - { - "starts": "2019-10-21 17:24:45", - "ends": "2019-10-21 17:28:46", - "type": "track", - "name": "Bastille - No Angels (feat. Ella)", - "metadata": - { - "id": 4, - "name": "", - "mime": "audio/mp3", - "ftype": "audioclip", - "directory": 1, - "filepath": "imported/1/Bastille/Other People's Heartache, Pt. 2/03 Bastille - No Angels (feat. Ella).mp3", - "import_status": 0, - "currentlyaccessing": 0, - "editedby": null, - "mtime": "2019-10-21 17:18:16", - "utime": "2019-10-21 17:18:14", - "lptime": "2019-10-21 17:24:46", - "md5": "87bf83451d7618eefc0141c262aead2a", - "track_title": "No Angels (feat. Ella)", - "artist_name": "Bastille", - "bit_rate": 128000, - "sample_rate": 44100, - "format": null, - "length": "00:04:00.752438", - "album_title": "Other People's Heartache, Pt. 2", - "genre": null, - "comments": null, - "year": "2012", - "track_number": 3, - "channels": 2, - "url": null, - "bpm": null, - "rating": null, - "encoded_by": null, - "disc_number": null, - "mood": null, - "label": "[no label]", - "composer": null, - "encoder": null, - "checksum": null, - "lyrics": null, - "orchestra": null, - "conductor": null, - "lyricist": null, - "original_lyricist": null, - "radio_station_name": null, - "info_url": null, - "artist_url": null, - "audio_source_url": null, - "radio_station_url": null, - "buy_this_url": null, - "isrc_number": null, - "catalog_number": null, - "original_artist": null, - "copyright": null, - "report_datetime": null, - "report_location": null, - "report_organization": null, - "subject": null, - "contributor": null, - "language": null, - "replay_gain": "-8.57", - "owner_id": 1, - "cuein": "00:00:00", - "cueout": "00:04:00.752438", - "hidden": false, - "filesize": 3858688, - "description": null, - "artwork": "", - }, - }, - "current": null, - "next": - { - "starts": "2019-10-21 17:32:49", - "ends": "2019-10-21 17:36:44", - "type": "track", - "name": "Bob Marley - Could You Be Loved", - "metadata": - { - "id": 14, - "name": "", - "mime": "audio/mp3", - "ftype": "audioclip", - "directory": 1, - "filepath": "imported/1/Bob Marley/Greatest Hits/02. Could You Be Loved.mp3", - "import_status": 0, - "currentlyaccessing": 0, - "editedby": null, - "mtime": "2019-10-21 17:19:16", - "utime": "2019-10-21 17:18:59", - "lptime": null, - "md5": "75e49569fd6af61cc8c18f5660beadc2", - "track_title": "Could You Be Loved", - "artist_name": "Bob Marley", - "bit_rate": 128000, - "sample_rate": 44100, - "format": null, - "length": "00:03:55.11", - "album_title": "Greatest Hits", - "genre": "Various", - "comments": null, - "year": null, - "track_number": 2, - "channels": 2, - "url": null, - "bpm": 103, - "rating": null, - "encoded_by": null, - "disc_number": null, - "mood": null, - "label": null, - "composer": null, - "encoder": null, - "checksum": null, - "lyrics": null, - "orchestra": null, - "conductor": null, - "lyricist": null, - "original_lyricist": null, - "radio_station_name": null, - "info_url": null, - "artist_url": null, - "audio_source_url": null, - "radio_station_url": null, - "buy_this_url": null, - "isrc_number": null, - "catalog_number": null, - "original_artist": null, - "copyright": null, - "report_datetime": null, - "report_location": null, - "report_organization": null, - "subject": null, - "contributor": null, - "language": null, - "replay_gain": "-1.2", - "owner_id": 1, - "cuein": "00:00:00", - "cueout": "00:03:55.11", - "hidden": false, - "filesize": 3773820, - "description": null, - "artwork": "", - }, - }, - }, - "shows": - { - "previous": [], - "current": - { - "name": "Show 1", - "description": "A show", - "genre": "HipHop", - "id": 1, - "instance_id": 1, - "record": 0, - "url": "https://example.com", - "image_path": "", - "starts": "2019-10-21 17:20:00", - "ends": "2019-10-21 18:31:00", - }, - "next": - [ - { - "name": "Reading", - "description": "A reading of After the EMP by Harley Tate", - "genre": "Sci-fi", - "id": 2, - "instance_id": 2, - "record": 0, - "url": "https://example.com", - "image_path": "", - "starts": "2019-10-21 18:31:00", - "ends": "2019-10-22 10:45:00", - }, - ], - }, - "sources": - { - "livedj": "off", - "masterdj": "off", - "scheduledplay": "on", - }, - } - /week-info: - get: - summary: Retrieve the schedule for the week - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - responses: - "200": - description: 200 response for default request - content: - application/json: - example: - { - "monday": - [ - { - "start_timestamp": "2019-10-21 17:20:00", - "end_timestamp": "2019-10-21 18:31:00", - "name": "Show 1", - "description": "A show", - "id": 1, - "instance_id": 1, - "instance_description": "", - "record": 0, - "url": "https://example.com", - "image_path": "", - "starts": "2019-10-21 17:20:00", - "ends": "2019-10-21 18:31:00", - }, - { - "start_timestamp": "2019-10-21 18:31:00", - "end_timestamp": "2019-10-22 10:45:00", - "name": "Reading", - "description": "A reading of After the EMP by Harley Tate", - "id": 2, - "instance_id": 2, - "instance_description": "", - "record": 0, - "url": "https://example.com", - "image_path": "", - "starts": "2019-10-21 18:31:00", - "ends": "2019-10-22 10:45:00", - }, - ], - "tuesday": [], - "wednesday": [], - "thursday": [], - "friday": [], - "saturday": [], - "sunday": [], - "nextmonday": [], - "nexttuesday": [], - "nextwednesday": [], - "nextthursday": [], - "nextfriday": [], - "nextsaturday": [], - "nextsunday": [], - "AIRTIME_API_VERSION": "1.1", - } - /station-metadata: - get: - summary: BROKEN - Retrieve the schedule for the week - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - /station-logo: - get: - summary: Fetch the station logo - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - /show-history-feed: - get: - summary: BROKEN - Retrieve the show schedules for a given time range and show - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: start - in: path - description: The start time for the feed - required: true - - name: end - in: path - description: The end time for the feed - required: true - - name: timezone - in: path - description: The timezone that the times are in - required: true - /item-history-feed: - get: - summary: Retrieve the items for a time range and/or show - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: start - in: path - description: The start time for the feed - required: false - - name: end - in: path - description: The end time for the feed - required: false - - name: timezone - in: path - description: The timezone that the times are in - required: false - - name: instance_id - in: path - description: The show instance ID - required: false - responses: - "200": - description: The 200 default response - content: - application/json: - example: - [ - { - "starts": "2019-10-21 18:19:07", - "ends": "2019-10-21 18:23:55", - "history_id": 16, - "instance_id": 1, - "track_title": "F For You (feat. Mary J. Blige)", - "artist_name": "Disclosure", - "checkbox": "", - }, - { - "starts": "2019-10-21 17:20:31", - "ends": "2019-10-21 17:24:45", - "history_id": 1, - "instance_id": 1, - "track_title": "Ping Pong", - "artist_name": "Armin van Buuren", - "checkbox": "", - }, - ] - /shows: - get: - summary: Retrieve the show info (without schedule for given show_id - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: show_id - in: path - description: The ID of the show - required: false - response: - "200": - description: The response with a show_id of 1 - content: - application/json: - example: - [ - { - "name": "Show 1", - "id": 1, - "url": "https://example.com", - "genre": "HipHop", - "description": "A show", - "color": "", - "background_color": "", - "linked": false, - "has_autoplaylist": false, - "autoplaylist_id": null, - "autoplaylist_repeat": false, - }, - ] - /show-tracks: - get: - summary: Display the track listing for given instance_id - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: instance_id - in: path - description: The ID of the show - required: true - response: - "200": - description: The response with a instance_id of 1 - content: - application/json: - example: - [ - { - "title": "Ping Pong", - "artist": "Armin van Buuren", - "position": 0, - "id": 1, - "mime": "audio/mp3", - "starts": "2019-10-21 17:20:31", - "length": "4:14.2", - "file_id": 2, - }, - { - "title": "No Angels (feat. Ella)", - "artist": "Bastille", - "position": 1, - "id": 2, - "mime": "audio/mp3", - "starts": "2019-10-21 17:24:45", - "length": "4:00.8", - "file_id": 4, - }, - ] - /show-schedules: - get: - summary: Display the show schedule for given show_id - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: show_id - in: path - description: The ID of the show - required: true - - name: start - in: path - description: The start time for the feed - required: false - - name: end - in: path - description: The end time for the feed - required: false - - name: timezone - in: path - description: The timezone that the times are in - required: false - response: - "200": - description: The response with a instance_id of 1 - content: - application/json: - example: - [ - { - "starts": "2019-10-21 17:20:00", - "ends": "2019-10-21 18:31:00", - "record": 0, - "rebroadcast": 0, - "parent_starts": null, - "record_id": null, - "show_id": 1, - "name": "Show 1", - "description": "A show", - "color": "", - "background_color": "", - "image_path": "", - "linked": false, - "file_id": null, - "instance_id": 1, - "instance_description": "", - "created": "2019-10-21 17:20:22", - "last_scheduled": "2019-10-21 17:20:50", - "time_filled": "01:14:39.265872", - }, - ] - /show-logo: - get: - summary: Fetch the show logo. Returns the station logo if none exists - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: id - in: path - description: The ID of the show with the logo to retrieve - required: true - /track: - get: - summary: Displays the metadata of a particular track - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - - name: id - in: path - description: The track id - required: true - - name: response - in: path - description: The type of response - schema: - enum: - - json - - artwork_data - - artwork - required: true - responses: - "200": - description: The 200 response - content: - application/json: - example: - { - "MDATA_KEY_FILEPATH": "imported\/1\/Armin van Buuren\/Another You (feat. Mr. Probz)\/01 Another You (feat. Mr. Probz).mp3", - "MDATA_KEY_DIRECTORY": 1, - "MDATA_KEY_TITLE": "Another You (feat. Mr. Probz)", - "MDATA_KEY_CREATOR": "Armin van Buuren", - "MDATA_KEY_SOURCE": "Another You (feat. Mr. Probz)", - "MDATA_KEY_DURATION": "00:03:19.183673", - "MDATA_KEY_MIME": "audio\/mp3", - "MDATA_KEY_FTYPE": "audioclip", - "MDATA_KEY_URL": null, - "MDATA_KEY_GENRE": null, - "MDATA_KEY_MOOD": null, - "MDATA_KEY_LABEL": "Armin Audio B.V.", - "MDATA_KEY_COMPOSER": null, - "MDATA_KEY_DESCRIPTION": null, - "MDATA_KEY_SAMPLERATE": 44100, - "MDATA_KEY_BITRATE": 192000, - "MDATA_KEY_ENCODER": null, - "MDATA_KEY_ISRC": null, - "MDATA_KEY_COPYRIGHT": null, - "MDATA_KEY_YEAR": "2015", - "MDATA_KEY_BPM": null, - "MDATA_KEY_TRACKNUMBER": 1, - "MDATA_KEY_CONDUCTOR": null, - "MDATA_KEY_LANGUAGE": null, - "MDATA_KEY_REPLAYGAIN": "-8.36", - "MDATA_KEY_OWNER_ID": 1, - "MDATA_KEY_CUE_IN": "00:00:00", - "MDATA_KEY_CUE_OUT": "00:03:19.183673", - "MDATA_KEY_ARTWORK": "imported\/1\/artwork\/01 Another You (feat. Mr. Probz)", - } - /stream-m3u: - get: - summary: Returns m3u playlist file for the station's output stream - response: - "200": - description: The M3U file for the stream - content: application/x-mpegurl - /version: - get: - summary: Returns the current LibreTime and API versions - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: false - responses: - "200": - description: 200 response - content: - application/json: - example: - { "airtime_version": "3.0.0~alpha.5", "api_version": "1.1" } - /recorded-shows: - get: - summary: BROKEN - Unclear what this did, not implemented in ApiController - /calendar-init: - get: - summary: BROKEN - Unclear what this did, not implemented in ApiController - /upload-file: - get: - summary: BROKEN - Unclear what this did, not implemented in ApiController - /upload-recorded: - post: - summary: Upload a recorded show - parameters: - - name: showinstanceid - in: path - description: The ID of the show that was recorded - required: true - - name: fileid - in: path - description: The ID of the recorded file in the database - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /media-monitor-setup: - post: - summary: Initialises monitoring of media directories - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /media-item-status: - get: - summary: BROKEN - Unclear what this did, not implemented in ApiController - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /reload-metadata: - get: - summary: BROKEN - Unclear what this did, not implemented in ApiController - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /list-all-files: - get: - summary: BROKEN - List all files in a given directory managed by LibreTime - parameters: - - name: dir_id - in: path - description: The directory to list files in - required: true - - name: all - in: path - description: |- - true to show all files in the database, even if they do not exist - on disk - required: false - - name: api_key - in: path - description: The API key to use for authentication - required: true - /list-all-watched-dirs: - get: - summary: |- - BROKEN (LT does not currently support watched files) - lists all - directories to watch for new files - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /add-watched-dir: - post: - summary: |- - BROKEN (LT does not currently support watched files) - adds a directory - to the list of watched directories - parameters: - - name: path - in: path - description: the path of the directory on the server, base64 encoded - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /remove-watched-dir: - post: - summary: |- - BROKEN (LT does not currently support watched files) - removes a - directory from the list of watched directories - parameters: - - name: path - in: path - description: the path of the directory on the server, base64 encoded - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /set-storage-dir: - post: - summary: Sets the storage path for music files - parameters: - - name: path - in: path - description: The base64 encoded path to the new storage directory - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /get-stream-setting: - get: - summary: |- - BROKEN - Returns the settings configured for the four output Icecast - streams - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /status: - get: - summary: |- - BROKEN - Returns the current status of the various LibreTime - components - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /register-component: - post: - summary: Add a service component (for example Monit) - parameters: - - name: component - in: path - description: The component name to add - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /update-liquidsoap-status: - post: - summary: |- - Update the status of a stream to indicate a Liquidsoap status update - parameters: - - name: msg_post - in: path - description: The error message to use - required: true - - name: stream_id - in: path - description: The ID of the stream to update - required: true - - name: boot_time - description: |- - The time that the status was last updated. Excluding this will - force update. - required: false - - name: api_key - in: path - description: The API key to use for authentication - required: true - /update-file-system-mount: - post: - summary: |- - Handles additions/deletions of mount points on which watched - directories reside - parameters: - - name: added_dir - in: path - description: |- - A comma separated list of directories that were added to the system - required: false - - name: removed_dir - in: path - description: |- - A comma separated list of directories that were removed from the - system - required: false - - name: api_key - in: path - description: The API key to use for authentication - required: true - /handle-watched-dir-missing: - post: - summary: |- - BROKEN (LibreTime does not currently handle watched directories) - - Handles missing watched directories. - parameters: - - name: dir - in: path - description: The directory to disable - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /rabbitmq-do-push: - post: - summary: |- - Used by dev scripts to make rabbitmq send out a message to pypo that a - potential change has been made to the database. - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /check-live-stream-auth: - get: - summary: |- - Tests the authentication supplied to authenticate DJs connecting to a - live stream - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - username: - type: string - password: - type: string - format: password - djtype: - type: string - required: - - username - - password - - djtype - /update-source-status: - post: - summary: Update on source connect or disconnect - parameters: - - name: sourcename - in: path - description: |- - The name of the source that has connected or disconnected - - name: status - in: path - description: true if the source is now connected - - name: api_key - in: path - description: The API key to use for authentication - required: true - /get-bootstrap-info: - get: - summary: |- - BROKEN - Retrieves the current state of the instance. This includes - which sources are currently connected, station name, etc - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /get-files-without-replay-gain: - get: - summary: |- - BROKEN (returns all files) - Returns the files that do not have replay - gain set. - parameters: - - name: dir_id - in: path - description: The directory ID - - name: api_key - in: path - description: The API key to use for authentication - required: true - /get-files-without-silan-value: - get: - summary: Returns the files that have not been processed by silan - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - responses: - "200": - description: 200 response for default request - content: - application/json: - example: - [ - { "id": 9, "fp": "/srv/airtime/stor/" }, - { - "id": 12, - "fp": "/srv/airtime/stor/imported/1/Sam Smith Feat John Legend/The Official Uk Top 40 Singles Chart 03-22-2015/01 Sam Smith Feat John Legend - Lay Me Down.mp3", - }, - { - "id": 13, - "fp": "/srv/airtime/stor/imported/1/Mumford & Sons/Wilder Mind [ Deluxe Edition ]/01 - Tompkins Square Park.mp3", - }, - { - "id": 3, - "fp": "/srv/airtime/stor/imported/1/Bastille/All This Bad Blood/1-02 Things We Lost in the Fire.mp3", - }, - { - "id": 1, - "fp": "/srv/airtime/stor/imported/1/Armin van Buuren/Another You (feat. Mr. Probz)/01 Another You (feat. Mr. Probz).mp3", - }, - { - "id": 15, - "fp": "/srv/airtime/stor/imported/1/Harley Tate/Harley Tate - After the EMP 01 - After the EMP/Harley Tate - After the EMP 01 - After the EMP.mp3", - }, - ] - /reload-metadata-group: - get: - summary: |- - Extracts all file metadata from the list of files - parameters: - - name: mdXXX - # This could be wrong - the function in ApiController is confusing... - in: path - description: |- - A json encoded hash with all the information related to the action. - the XXX represents at least 1 digit. Currently the mdXXX key has no - meaning. - - name: api_key - in: path - description: The API key to use for authentication - required: true - /notify-webstream-data: - post: - summary: Notifies webstreams of data being updated - parameters: - - name: data - in: path - description: |- - A json encoded hash with the data used to notify the webstream. This - includes keys such as 'title'. - required: true - - name: media_id - in: path - description: The ID of the media to show - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /get-stream-parameters: - get: - summary: BROKEN - Retrieves the parameters set for each stream - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /push-stream-stats: - post: - summary: Updates the listener number statistics - parameters: - - name: data - in: path - description: A json encoded mapping of time to number of listeners - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /update-stream-setting-table: - post: - summary: Set stream settings - parameters: - - name: data - in: path - description: A json encoded array of key-value pairs to update - required: true - - name: api_key - in: path - description: The API key to use for authentication - required: true - /update-replay-gain-value: - post: - summary: Updates the replay gain values for media items - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - - name: data - description: A json encoded array of media ID and gain pairs - required: true - /update-cue-values-by-silan: - post: - summary: Updates the silan cue values for media items - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - - name: data - description: A json encoded array of media ID and cue pairs - required: true - /get-usability-hint: - get: - summary: Returns the usability hint tool-tip for a UI item - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - - name: userPath - in: path - description: The URL path to the UI item - required: true - /poll-celery: - post: - summary: Polls celery for tasks - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true - /recalculate-schedule: - post: - summary: Recalculates the schedule to remove gaps and update timing - parameters: - - name: api_key - in: path - description: The API key to use for authentication - required: true diff --git a/docs/_docs/api.md b/docs/appendix/api.md similarity index 100% rename from docs/_docs/api.md rename to docs/appendix/api.md diff --git a/docs/_docs/hd-audio-modules.md b/docs/appendix/hd-audio-modules.md similarity index 100% rename from docs/_docs/hd-audio-modules.md rename to docs/appendix/hd-audio-modules.md diff --git a/docs/_docs/rights-royalties.md b/docs/appendix/rights-royalties.md similarity index 100% rename from docs/_docs/rights-royalties.md rename to docs/appendix/rights-royalties.md diff --git a/docs/_docs/widgets.md b/docs/appendix/widgets.md similarity index 100% rename from docs/_docs/widgets.md rename to docs/appendix/widgets.md diff --git a/docs/_docs/default-passwords.md b/docs/getting-started/default-passwords.md similarity index 100% rename from docs/_docs/default-passwords.md rename to docs/getting-started/default-passwords.md diff --git a/docs/_docs/install.md b/docs/getting-started/install.md similarity index 100% rename from docs/_docs/install.md rename to docs/getting-started/install.md diff --git a/docs/_docs/reverse-proxy.md b/docs/getting-started/reverse-proxy.md similarity index 100% rename from docs/_docs/reverse-proxy.md rename to docs/getting-started/reverse-proxy.md diff --git a/docs/_docs/set-server-time.md b/docs/getting-started/set-server-time.md similarity index 100% rename from docs/_docs/set-server-time.md rename to docs/getting-started/set-server-time.md diff --git a/docs/_docs/ssl.md b/docs/getting-started/ssl.md similarity index 100% rename from docs/_docs/ssl.md rename to docs/getting-started/ssl.md diff --git a/docs/_docs/calendar.md b/docs/guides/calendar.md similarity index 100% rename from docs/_docs/calendar.md rename to docs/guides/calendar.md diff --git a/docs/_docs/dashboard.md b/docs/guides/dashboard.md similarity index 100% rename from docs/_docs/dashboard.md rename to docs/guides/dashboard.md diff --git a/docs/_docs/listener-stats.md b/docs/guides/listener-stats.md similarity index 100% rename from docs/_docs/listener-stats.md rename to docs/guides/listener-stats.md diff --git a/docs/_docs/live-broadcast.md b/docs/guides/live-broadcast.md similarity index 100% rename from docs/_docs/live-broadcast.md rename to docs/guides/live-broadcast.md diff --git a/docs/_docs/playlists.md b/docs/guides/playlists.md similarity index 100% rename from docs/_docs/playlists.md rename to docs/guides/playlists.md diff --git a/docs/_docs/playout-history.md b/docs/guides/playout-history.md similarity index 100% rename from docs/_docs/playout-history.md rename to docs/guides/playout-history.md diff --git a/docs/_docs/podcasts.md b/docs/guides/podcasts.md similarity index 100% rename from docs/_docs/podcasts.md rename to docs/guides/podcasts.md diff --git a/docs/_docs/preparing-media.md b/docs/guides/preparing-media.md similarity index 100% rename from docs/_docs/preparing-media.md rename to docs/guides/preparing-media.md diff --git a/docs/_docs/scheduling-shows.md b/docs/guides/scheduling-shows.md similarity index 100% rename from docs/_docs/scheduling-shows.md rename to docs/guides/scheduling-shows.md diff --git a/docs/_docs/settings.md b/docs/guides/settings.md similarity index 100% rename from docs/_docs/settings.md rename to docs/guides/settings.md diff --git a/docs/_docs/status.md b/docs/guides/status.md similarity index 100% rename from docs/_docs/status.md rename to docs/guides/status.md diff --git a/docs/_docs/users.md b/docs/guides/users.md similarity index 100% rename from docs/_docs/users.md rename to docs/guides/users.md diff --git a/docs/_docs/webstreams.md b/docs/guides/webstreams.md similarity index 100% rename from docs/_docs/webstreams.md rename to docs/guides/webstreams.md diff --git a/docs/_docs/interface-customization.md b/docs/interface-customization.md similarity index 100% rename from docs/_docs/interface-customization.md rename to docs/interface-customization.md diff --git a/docs/_docs/interface-localization.md b/docs/interface-localization.md similarity index 100% rename from docs/_docs/interface-localization.md rename to docs/interface-localization.md diff --git a/docs/_docs/vagrant.md b/docs/local-dev.md similarity index 100% rename from docs/_docs/vagrant.md rename to docs/local-dev.md diff --git a/docs/_docs/microsite.md b/docs/microsite.md similarity index 100% rename from docs/_docs/microsite.md rename to docs/microsite.md diff --git a/docs/_docs/multipass.md b/docs/multipass.md similarity index 100% rename from docs/_docs/multipass.md rename to docs/multipass.md diff --git a/docs/_docs/backing-up-the-server.md b/docs/server-config/backing-up-the-server.md similarity index 100% rename from docs/_docs/backing-up-the-server.md rename to docs/server-config/backing-up-the-server.md diff --git a/docs/_docs/freeipa.md b/docs/server-config/freeipa.md similarity index 100% rename from docs/_docs/freeipa.md rename to docs/server-config/freeipa.md diff --git a/docs/_docs/host-configuration.md b/docs/server-config/host-configuration.md similarity index 100% rename from docs/_docs/host-configuration.md rename to docs/server-config/host-configuration.md diff --git a/docs/_docs/icecast.md b/docs/server-config/icecast.md similarity index 100% rename from docs/_docs/icecast.md rename to docs/server-config/icecast.md diff --git a/docs/_docs/troubleshooting.md b/docs/troubleshooting.md similarity index 100% rename from docs/_docs/troubleshooting.md rename to docs/troubleshooting.md diff --git a/docs/_docs/upgrading.md b/docs/upgrading.md similarity index 100% rename from docs/_docs/upgrading.md rename to docs/upgrading.md