diff --git a/airtime_mvc/application/modules/rest/controllers/PodcastController.php b/airtime_mvc/application/modules/rest/controllers/PodcastController.php index 76bb0c867..f6f75ba57 100644 --- a/airtime_mvc/application/modules/rest/controllers/PodcastController.php +++ b/airtime_mvc/application/modules/rest/controllers/PodcastController.php @@ -39,7 +39,7 @@ class Rest_PodcastController extends Zend_Rest_Controller ->filterByDbId($stationPodcastId, Criteria::NOT_EQUAL) ->leftJoinImportedPodcast() ->withColumn('auto_ingest_timestamp'); - + $total = $result->count(); if ($limit > 0) { $result->setLimit($limit); } $result->setOffset($offset) ->orderBy($sortColumn, $sortDir); @@ -47,9 +47,10 @@ class Rest_PodcastController extends Zend_Rest_Controller $podcastArray = $result->toArray(null, false, BasePeer::TYPE_FIELDNAME); + $this->getResponse() ->setHttpResponseCode(200) - ->setHeader('X-TOTAL-COUNT', $result->count()) + ->setHeader('X-TOTAL-COUNT', $total) ->appendBody(json_encode($podcastArray)); } diff --git a/docs/index.md b/docs/index.md index 4f3866d3a..f2da86c6a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,8 +11,13 @@ LibreTime is Free/Libre and Open Source Software (FLOSS). Among other things, th LibreTime is a fork of AirTime due to stalled development of the FLOSS version. For background on this, see this [open letter to the Airtime community](https://gist.github.com/hairmare/8c03b69c9accc90cfe31fd7e77c3b07d). +If you are end-user of an already installed LibreTime instance we have a number of [tutorials](manual/tutorials/index.md) that can help you learn how to use the software. -Getting Started +We also have [how-to guides](manual/howtos) that contain step-by-step instructions for various common tasks. + +There are currently no companies offering turn-key LibreTime hosting so if you are interested in running it you will need to have some familiarity with running a linux server. You can always reach out to help from the community at our [forum](http://discourse.libretime.org) + +Getting Started (for Developers and Admins) --------------- The easiest way to check out LibreTime for yourself is to run a local instance in a virtual machine. Assuming you already have Git, Vagrant and Virtualbox installed, just run: @@ -20,10 +25,9 @@ The easiest way to check out LibreTime for yourself is to run a local instance i ```bash git clone https://github.com/libretime/libretime.git cd libretime -vagrant up ubuntu-trusty +vagrant up ubuntu-bionic ``` If everything works out, you will find LibreTime on [port 8080](http://localhost:8080), icecast on [port 8000](http://localhost:8000) and the docs on [port 8888](http://localhost:8888). Of course, this setup isn't appropriate for production use. For that, check out our [installation instructions](install.md). More information on the vagrant setup are in [the docs](vagrant.md). - diff --git a/docs/manual/howtos/build-schedule.md b/docs/manual/howtos/build-schedule.md new file mode 100644 index 000000000..81d3f5abf --- /dev/null +++ b/docs/manual/howtos/build-schedule.md @@ -0,0 +1,53 @@ +How to build a basic schedule with LibreTime + +a description of the steps involved in adding a show to the LibreTime +calendar schedule for future playback including repeating shows + +Audience: Program Managers and Admins + +Click on the Calendar menu item on the left side of the screen + +Click on the blue New Show button + +Under **What** - type in a Name to replace Untitled Show + +Optional – add URL, Genre and Description + +Under **When** click **In The Future** + +Select a date and time for the **Start Time** and **End Time** + +Time is entered as 00:00 where the first 2 digits are the hour in +military time and the second 2 digits are the minutes. So 15:00 is 3PM. + +Note: 24 hours is the maximum show time and Midnight is 00:00 of the +next date. + +Click **Repeats** if this show will air more than once. + +If it airs at the same time of the day on more than one day of the week +then check the boxes next to the Days it should repeat on. + +If this is a limited engagement show uncheck **No End?** and select the +date at which this show should no longer be on the schedule. + +**Autoloading Playlist** is used if you will generate the content for +this show using a playlist possibly containing smartblocks to +dynamically generate it. + +Basically if this is checked and a playlist is selected LibreTime will +schedule it an hour before the show is set to air as well as any **Intro +& Outro Playlist** configured in the Admin settings. + +See other How Tos for ideas about how to use AutoLoading playlists. + +Live Stream Input contains the streaming information for DJs and if Use +LibreTime Authentication is checked then DJs can login to stream live if +they are added to the Who section. + +Who is where you can give DJ users permission to schedule tracks for +this show and stream live during the show spot. You can check the box +next to them or type their name and click the drop down. + +Style allows you to select a custom color and add a show Logo for this +show. diff --git a/docs/manual/howtos/genre-autodj.md b/docs/manual/howtos/genre-autodj.md new file mode 100644 index 000000000..0a65799aa --- /dev/null +++ b/docs/manual/howtos/genre-autodj.md @@ -0,0 +1,104 @@ +How to set up genre specific Auto DJ with autloading playlist + +Intro: In this LibreTime tutorial we will focus on how to build a +traditional auto DJ system where we use a feature called smart blocks +and auto loading playlists to play random music tracks of a certain +genre during a show. This tutorial is primarily focused on program +managers but users who are DJs can also benefit from smart blocks but +will only be able to manually schedule them. + +So for the purposes of this tutorial we are going to assume that you +have uploaded a number of files of music with the genre metadata all +matching a specific genre for instance alternative. This can be done +ahead of time but LibreTime has no way of automatically grouping sub +genres and so it is important that you spend some time manicuring the +track metadata before you upload it to libretime as there is not +currently a way to bulk edit tracks from inside libretime. Also once +tracks are uploaded the metadata of the track itself isn’t changed but +just how it is represented in the libretime database. This might change +in the future but would only affect you if you were downloading tracks +and uploading them to another instance and hoped that the changes you +made were saved. + +So we can bulk upload a number of creative commons licensed tracks that +have their genre all set to specific genres as one way of getting tracks +if you don’t have a mp3 collection of your own to draw from. See links +below for some spots where you can procure tracks where the creators +gave permission for everyone to redistribute play and share them. + +One the tracks are uploaded to the system and imported we can now create +a smartblock that will select the tracks that match a certain genre. For +this we will use Genre contains Jazz – this will match any track that +has genre anywhere in its genre so ‘big band jazz’ and ‘swing jazz’ +would match as well as ‘acid jazz’. Any subgenre that doesn’t include +jazz explicitly such as ‘be bop’ would need to be added as a new +modifier. + +For the purposes of this smart block we want to select 4 random items. +We also want to avoid really long tracks that are longer than 10 +minutes. So we will add the modifier Length is less than 00:10:00 + +and now this smart block will pull 4 smart blocks. Be sure to preview it +to make sure that you have some matches in your library. This will also +save it. + +Now we are going to create a new smart block that plays one promo or +station ID. + +Click smartblock and new and then type in the name promo OR ID and then +change the criteria Genre to is promo and now click new modifier and +then is TOTHID. + +And then change limit to 1 items. + +Now we are going to create a playlist that contains these two smart +blocks. + +Click new and then type Jazz with promos + +and then click smartblocks and add the Jazz Songs followed by the Promo +or ID smart block. + +Now this playlist can be dragged into a schedule show to add 3 random +jazz songs followed by a promo. You can manually repeat the selection in +the playlist to create a long auto DJ playlist. For instance lets add 3 +more Jazz Songs and then add 3 Jazz Songs again followed by a Promo or +ID. Now lets save this playlist and go and add it to a scheduled show. + +This is a quick and easy way for you to manually schedule a large chunk +of time. You can also use this as an autoloading playlist. + +Lets assign this to a new 3 hour show. Called lots of Jazz. Now lets go +under Autoloading Playlist and enable that and in this spot we will +check repeat until full. This will mean that the system will keep +scheduling this playlist until the show is completely full. The only +problem here is that at the end of the show it is almost assured that a +track will be cut off. If you are a web station and you just want to +schedule music for long lengths of time you can schedule shows that are +up to 24 hours long. + +On the other hand if you are an FCC licensed station you are required to +have top of the hour IDs as close as possible to the top of the hour. In +this case the random selection of tracks might not suffice for +compliance. + +If you have a station ID playlist smartblock in your intro playlist (see +previous tutorial linked below) and you have your tracks broken up +hourly this shouldn’t be an issue but it still might result in tracks +being cut of in the middle. + +So the best option currently is to change the music tracks to fill the +remaining show from the previous selection of 3 items. And then be sure +to add a promos or musical sound bridges at the end that are also time +remaining but allow overfill. + +It is possible that we could improve the way the autoloading playlists +work in the future, please check out libretime.org for the latest +release notes and feel free to ask any questions at our forum at +[https://discourse.libretime.org](https://discourse.libretime.org/) + +Thanks for tuning in to another libretime tutorial. Our next tutorial +will show you how to use autoloading playlists to add show specific +underwriting or advertisements. + + diff --git a/docs/manual/howtos/index.md b/docs/manual/howtos/index.md new file mode 100644 index 000000000..421895d0d --- /dev/null +++ b/docs/manual/howtos/index.md @@ -0,0 +1,14 @@ +##How-Tos## +The following are step-by-step instructions derived from the LibreTime tutorials. + +##DJ How Tos## +* [How to livestream with Butt](livestream.md) +* [How to upload and schedule tracks](upload.md) +* [How to upload a promo](upload-promo.md) + +##Program Manager How Tos## +* [How to build a schedule](build-schedule.md) +* [How to setup genre specific autoDJ](genre-autodj.md) +* [How to setup an intro playlist](intro-playlist.md) +* [How to setup an outro playlist with ambient music](outro-playlist.md) +* [How to setup latest podcast episode to play with autoloading playlist](podcast.md) diff --git a/docs/manual/howtos/intro-playlist.md b/docs/manual/howtos/intro-playlist.md new file mode 100644 index 000000000..314ead3f7 --- /dev/null +++ b/docs/manual/howtos/intro-playlist.md @@ -0,0 +1,61 @@ +How to automatically schedule a Top of the Hour Station ID with Intro +Playlist + +Audience: For Admin users + +Login to LibreTime + +Creating the Top of the hour smartblock + +Click **Smart Blocks** + +Click the blue **+New** button + +On the right (or below if screen width is limited) + +Type in the Smart Block Name: **Top of the Hour Station ID** + +Under **Search Criteria** select **Genre** for the criteria + +Select **is** for modifier + +Type TOTHID in the third box. + +Note: all Top of The Hour Station ID tracks will need to have TOTHID as +their **Genre** to match. + +Under Limit To – click the second box and select **items** instead of +hours + +Click **Save** + +Adding Smartblock to Intro Playlist + +Click **Playlist** + +Click **+ New** + +Type **Intro Playlist** in the Name. + +Click **Smart Blocks** + +Click the box to the left of **Top of the Hour Station ID** + +Click **+ Add to current playlist** or drag the smart block to the right +bottom of the playlist window. + +Click **Save**. + +How to Set Default Intro Playlist + +Click **Settings**. + +Click **General** and then scroll to **Intro Autoloading Playlist** and +click the drop down to select the **Intro Playlist** + +Click **Save**. + +Now everytime an autoloading playlist is scheduled the system will +select a random top of the hour ID and insert it before any other +content. You can other content to the Intro Playlist to also have it +scheduled before any shows with Autoloading Playlists enabled. diff --git a/docs/manual/howtos/livestream.md b/docs/manual/howtos/livestream.md new file mode 100644 index 000000000..0bb654b44 --- /dev/null +++ b/docs/manual/howtos/livestream.md @@ -0,0 +1,85 @@ +How to broadcast live with LibreTime and Butt + +This how to is intended for DJs using butt to stream to their LibreTime +server with an external USB audio card setup to route a mixer and sound. + +**Audience**: DJs + +Download and install butt from for your OS. + +Note: be sure you have butt version 0.1.17 or newer installed + +Open up butt – and click **settings** + +Under **Main** under **Server **click **ADD** + +**** + +Type LibreTime (or your station) under Name + +Click the radio button next to **IceCast** under Type + +Type your stations URL (webpage address) under **Address**: + +Type **8002** under **Port**: + +Type your DJ login password under **Password** + +Type **/show** under IceCast mountpoint: + +Type your dj login under **IceCast user:** + +Click **ADD** + +Still in settings + +Click **Audio** and select your external sound card under **Audio +Device** + +note: if you only have an internal sound card you maybe able to use it +but that is OS specific and outside of this tutorial. We are assuming +you have a mic and mixer or a USB mixer hooked up to or as an external +soundcard + +When its almost your show time + +Goto your LibreTime page and look at the time in the top right when your +show starts go to Butt + +Click the white Play button (third button in the middle). + +If it says connecting… and then stream time with a counter– congrats +your are connected. + +Go to the LibreTime page and at the top right under Source Streams the +tab besides Show Source is to the left and Orange – if it is and Current +shows Live Show you are connected. + +If it is gray and to the right click it and it will toggle your show on +and you will be broadcasting. + +Note: whether auto connect is turned on is a station specific setting so +it could work either way + +**** + +Recording your show + +You can record your show under butt by clicking the red circle record +button on the left. + +It will save a mp3 based upon the date and time in your home/user +directory by default. + +Everything should no be working and you can broadcast for your entire +time slot. If you choose to stop streaming before it is over click the +white square **Stop** button to disconnect. + +Then go to the LibreTime page and if the Show Source didn’t +automatically disconnect you can click it to the right and it should +turn gray. + +You are now done streaming. + +If you have issues connecting check with your system administrator to +see if you have the details right. diff --git a/docs/manual/howtos/outro-playlist.md b/docs/manual/howtos/outro-playlist.md new file mode 100644 index 000000000..cc8e96568 --- /dev/null +++ b/docs/manual/howtos/outro-playlist.md @@ -0,0 +1,91 @@ +How to setup an Outro Playlist to fill empty space at the end of +autoloading shows + +This how to describes the steps involved in setting up an outro playlist +that will schedule promos without interrupting any tracks followed by a +ambient musical bridge for all autoloading playlists to avoid dead air. + +Audience: Program Manager (and Admin to set Outro Playlist) + +How to add Promo Fill smart block + +Click **Smart Blocks** + +Click the blue **+ New** button + +Type in a name for the Smart Block (for instance *Promo Fill*) + +Now we select **Genre** and the modifer of **is** and then type in +**promo** in the 3^rd^ box. + +Under **Limit to**: we select **time remaining in show** + +To match on additional types of tracks based upon Genre + +click **+ New Modifier** under Genre and select **is** and type the +“*name of genre*” to match on. + +Click **preview** to review and confirm tracks match your criteria +below. + +Click **Save** + +How to add Ambient Fill that can be interrupted + +Click **Smart Blocks** + +Click the blue **+New** button + +Type in a name for the Smart Block (for instance *Ambient Fill*) + +Now we select **Genre **and the modifer of **is** and then type in +**ambient fill** in the 3^rd^ box. + +Under **Limit to**: we select **time remaining in show** + +Click **Advanced options** drop down + +Check box next to **Allow last track to exceed time limit** + +Click **preview** to review and confirm tracks match your criteria +below. + +Click **Save** + +How to create the Outro Playlist to hold these + +Click **Playlists** + +Click **+ New** + +Type in the name “*Outro Playlist*” + +Click on **Smart Blocks** + +Click box next to **Promo Fill** smart block and click **+ Add to +current playlist** or drag it to the bottom of the Outro playlist + +Click box next to **Ambient Fill** smart block and click **+ Add to +current playlist** or drag it to the + +bottom of the Outro playlist + +Make sure the **Promo Fill** is above the **Ambient Fill** smart block +in the playlist + +Click **Save** + +Setting the station-wide Outro playlist for all shows with auto loading +playlists + +Click **Settings** + +Click **General** + +Scroll down to Outro Playlist and with the drop down select the newly +created **Outro Playlist** + +Scroll down or up on the form and click **Save**. + +And now every autoloading playlist show will have tracks scheduled to +fill any potential dead air. diff --git a/docs/manual/howtos/podcast.md b/docs/manual/howtos/podcast.md new file mode 100644 index 000000000..9b2c79453 --- /dev/null +++ b/docs/manual/howtos/podcast.md @@ -0,0 +1,57 @@ +How to add a Podcast to your LibreTime Calendar using Smartblocks and +Autoloading Playlists + +Audience: Program Managers + +Adding a podcast + +Steps: + +Login to LibreTime with a user with the Program Manager or Admin role + +Copy the URL to the podcast RSS feed + +Click on Podcasts and then click the blue **Add** button and then past +the feed URL and click Subscribe. + +Click the newly added Podcast and then click edit or double click it. + +Update the name of the podcast if you want to change it. + +On the right hand window should be open for your podcast click +**Generate Smartblock and Playlist** + +Click the checkbox next the newest episode and then click the +**import** button. + +Let podcast download in the background. + +Scheduling a podcast as a repeating show + +Click on **Calendar** + +Add a new show or edit a pre-existing show setup for this podcast. + +Check the time & click repeats and check the appropriate days of the +week it should run. + +If it needs to run at different times of the day you will need to add a +separate show for this. + +Click the drop-down next to Autoloading playlist. + +Check the box next to Add Autoloading Playlist. + +Now we select the playlist with the podcast name we created above. + +Now click Add This Show and it should be added to your Calendar. + +One hour before your show is set to air the latest podcast will be +added. + +To add other tracks to play along with this show edit the playlist with +the podcast name. Any tracks or smartblocks added to this playlist will +be scheduled along with this playlist. + +To add tracks before or after all autoloading playlists see **How to use +Intro and Outro Playlist feature** diff --git a/docs/manual/howtos/upload-promo.md b/docs/manual/howtos/upload-promo.md new file mode 100644 index 000000000..f0fb038b7 --- /dev/null +++ b/docs/manual/howtos/upload-promo.md @@ -0,0 +1,44 @@ +***How to upload a promo***: + +Audience: DJs + +Instructions: + +Record your promo and export it as a mp3 + +note: if you can set the metadata of genre to **promo** you can skip the +final step below + +Login to LibreTime with your DJ username + +Click Upload and drag or click and browse to upload the track. + +Let the track upload. Once it is done and is shown as imported on the +right click **Tracks** + +Find the track in the list. *(follow instructions below if you don’t see +it)* + +If it is not at the top click the **Uploaded** column until it sorts by +the newest tracks first. + +If Uploaded doesn’t show up click **Columns** to the top right scroll +down and click the box next to **Uploaded** + +**** + +Now click **Uploaded** twice and it should display your track at the +top. + +Click the box next your track and click the **Edit** button above the +track listing. + +A box saying Editing “track name” should show up on the right. + +Find **Genre** type in **promo** (or whatever metadata classification +your station uses) + +Scroll down and click **Save** + +If you match the metadata requirements for the station smart block then +your track will be included in the track list it pulls from. diff --git a/docs/manual/howtos/upload.md b/docs/manual/howtos/upload.md new file mode 100644 index 000000000..5f559fbe4 --- /dev/null +++ b/docs/manual/howtos/upload.md @@ -0,0 +1,50 @@ +*How to upload and schedule a track to play on a specific show* + +Audience: DJ with permission to schedule a specific show + +**Login** to LibreTime with your DJ username and password at +[http://HOSTNAME/user](http://HOSTNAME/user) +- + +note: replace HOSTNAME with the web site address given to you by your +station admin + +Click the blue **Upload** button in the top left of the screen. + +Click the background where it says **Drop files here or click to browse +your computer** or drag on and drop your music files from your desktop. + +If you clicked then browse your file system to find the music files you +want to play and click them and then click **Open** + +The tracks should start to upload and when they are completed show up on +the right under **Recent Uploads** *(note: you will need to keep this +window open while they are uploading)* + +You can also upload short segments to schedule between your tracks +recorded for instance with audacity. + +LibreTime in general supports mp3, ogg, flac, wav and m4a file types. If +a track isn’t supported the import will be marked as failed under +**Import Status** + +Once you have uploaded all of the tracks you plan on airing you click on +**Calendar** + +Find your upcoming show in the Calendar and click on it and click +**Schedule Tracks** from the pop-up menu. + +Now click the tracks you want to add and click **+ Add to show** or +click and drag the tracks to the right. + +You can also add station **Smart Blocks, Playlists and Webstreams by +clicking those sections at the top of the screen.** + +When you are done you can re-order your tracks by clicking and dragging +them. + +When your tracks are in order and there is no empty time remaning click +**Ok** to finish. + +Your next show should now be scheduled to play during its scheduled time +slot. diff --git a/docs/manual/tutorials/autodj.md b/docs/manual/tutorials/autodj.md new file mode 100644 index 000000000..01bf8054f --- /dev/null +++ b/docs/manual/tutorials/autodj.md @@ -0,0 +1,4 @@ +How to Setup Genre based AutoDJ - Youtube Video +[![How to Setup Genre based AutoDJ](http://img.youtube.com/vi/XNVIDnczrOk/0.jpg)](https://www.youtube-nocookie.com/embed/XNVIDnczrOk "How to Setup Genre based AutoDJ") + +* Text-based Step-by-step [How-to](../../howtos/genre-autodj) diff --git a/docs/manual/tutorials/autoloading-podcast.md b/docs/manual/tutorials/autoloading-podcast.md new file mode 100644 index 000000000..03233adbf --- /dev/null +++ b/docs/manual/tutorials/autoloading-podcast.md @@ -0,0 +1,4 @@ +How to Set Up an Podcast to Play with Autoloading Playlist - Youtube Video +[![How to Set Up an Podcast to Play with Autoloading Playlist](http://img.youtube.com/vi/g-4UcD8qvR8/0.jpg)](https://www.youtube-nocookie.com/embed/g-4UcD8qvR8 "How to Set Up an Podcast to Play with Autoloading Playlist") + +* Step-by-step Text Based [How-To](../../howtos/podcast) diff --git a/docs/manual/tutorials/build-schedule.md b/docs/manual/tutorials/build-schedule.md new file mode 100644 index 000000000..5a0f272a8 --- /dev/null +++ b/docs/manual/tutorials/build-schedule.md @@ -0,0 +1,5 @@ +How to Build Your Schedule - Youtube Video +[![Build Station Schedule](http://img.youtube.com/vi/EfNhl-yQcn8/0.jpg)](https://www.youtube-nocookie.com/embed/EfNhl-yQcn8 "How to build your schedule") + +* Step-by-step Text Based [How-To](../../howtos/build-schedule) + diff --git a/docs/manual/tutorials/filler.md b/docs/manual/tutorials/filler.md new file mode 100644 index 000000000..701bd288c --- /dev/null +++ b/docs/manual/tutorials/filler.md @@ -0,0 +1,5 @@ +How to Upload use Smartblocks to Fill Time Between Shows - Youtube Video +[![How to Upload use Smartblocks to Fill Time Between Shows](http://img.youtube.com/vi/kNT9R80Q42I/0.jpg)](https://www.youtube-nocookie.com/embed/kNT9R80Q42I "How to Upload use Smartblocks to Fill Time Between Shows ") + +* Step-by-step Text Based [How-To](../../howtos/outro-playlist) + diff --git a/docs/manual/tutorials/index.md b/docs/manual/tutorials/index.md new file mode 100644 index 000000000..116081652 --- /dev/null +++ b/docs/manual/tutorials/index.md @@ -0,0 +1,22 @@ +##Tutorials## + +This page contains links to number of screencast tutorials. +Please provide any feedback on this [discourse forum post](https://discourse.libretime.org/t/new-tutorials-available-on-libretime-wiki/270/2). +There are also a number of tutorials in Spanish on [Vimeo](https://vimeo.com/user90812787) + +## DJ tutorials +* [How to upload and schedule tracks on your show](upload-tracks) +* [How to upload a promo](upload-promo) +* [How to livestream with butt](livestream.md) +## Program Manager tutorials +* [Building a schedule](build-schedule.md) +* [How to set up an automatic top of the hour ID with intro playlist feature](top-of-hour-id.md) +* [How to schedule a podcast to play the newest episode on an automatic basis](autoloading-podcast.md) +* [How to setup a Auto DJ to play music from certain genres for unscheduled shows](autodj.md) +* [Preventing dead air between shows without cutting off tracks](filler.md) +* [How to schedule automatic underwriting/advertising announcements](underwriting.md) +* [How to schedule a repeating webstream with a linked show](webstream-link.md) +## Admin tutorials +* [Installing LibreTime from Git on a stand-alone VPS](install-vps.md) +* [Securing icecast and customizing stream settings ](stream-settings.md) +* [How to install player and calendar widgets on your website](widgets.md) diff --git a/docs/manual/tutorials/install-vps.md b/docs/manual/tutorials/install-vps.md new file mode 100644 index 000000000..5808b0e8b --- /dev/null +++ b/docs/manual/tutorials/install-vps.md @@ -0,0 +1,2 @@ +How to Install LibreTime on a VPS- Youtube Video +[![How to Install LibreTime on a VPS](http://img.youtube.com/vi/Djo_55LgjXE/0.jpg)](https://www.youtube-nocookie.com/embed/Djo_55LgjXE "How to Install LibreTime on a VPS") diff --git a/docs/manual/tutorials/livestream.md b/docs/manual/tutorials/livestream.md new file mode 100644 index 000000000..49adcf20a --- /dev/null +++ b/docs/manual/tutorials/livestream.md @@ -0,0 +1,4 @@ +How to Livestream Your Show - Youtube Video +[![How to Livestream Your Show](http://img.youtube.com/vi/4GLsU9hPTtM/0.jpg)](https://www.youtube-nocookie.com/embed/4GLsU9hPTtM "How to Livestream Your Show") + +* Step-by-Step Text-based [How-to](../../howtos/livestream) diff --git a/docs/manual/tutorials/stream-settings.md b/docs/manual/tutorials/stream-settings.md new file mode 100644 index 000000000..94b55ccc4 --- /dev/null +++ b/docs/manual/tutorials/stream-settings.md @@ -0,0 +1,2 @@ +How to Customize the Stream Settings - YouTube link +[![Upload a promo to LibreTime](http://img.youtube.com/vi/QPNo52Fc0ck/0.jpg)](https://www.youtube-nocookie.com/embed/QPNo52Fc0ck "How to upload a promo") diff --git a/docs/manual/tutorials/top-of-hour-id.md b/docs/manual/tutorials/top-of-hour-id.md new file mode 100644 index 000000000..cc193d680 --- /dev/null +++ b/docs/manual/tutorials/top-of-hour-id.md @@ -0,0 +1,5 @@ +How to set up an automatic top of the hour ID with intro playlist feature - Youtube Video +[![How to set up an automatic top of the hour ID with intro playlist feature](http://img.youtube.com/vi/IXHmiqri4PI/0.jpg)](https://www.youtube-nocookie.com/embed/IXHmiqri4PI "How to set up an automatic top of the hour ID with intro playlist feature") + +* Step-by-step Text Based [How-To](../../howtos/intro-playlist) + diff --git a/docs/manual/tutorials/underwriting.md b/docs/manual/tutorials/underwriting.md new file mode 100644 index 000000000..6cbdd5942 --- /dev/null +++ b/docs/manual/tutorials/underwriting.md @@ -0,0 +1,2 @@ +How to schedule underwriting announcements or ad spots - Youtube Video +[![How to schedule underwriting announcements](http://img.youtube.com/vi/F7rMut7Trb4/0.jpg)](https://www.youtube-nocookie.com/embed/F7rMut7Trb4 "How to schedule underwriting announcements") diff --git a/docs/manual/tutorials/upload-promo.md b/docs/manual/tutorials/upload-promo.md new file mode 100644 index 000000000..705ce1cb4 --- /dev/null +++ b/docs/manual/tutorials/upload-promo.md @@ -0,0 +1,4 @@ +How to Upload a Promo - Youtube Video +[![Upload a promo to LibreTime](http://img.youtube.com/vi/IC0cn3LaAXs/0.jpg)](https://www.youtube-nocookie.com/embed/IC0cn3LaAXs "How to upload a promo") + +* Step-by-step Text Based [How-To](../../howtos/upload-promo) diff --git a/docs/manual/tutorials/upload-tracks.md b/docs/manual/tutorials/upload-tracks.md new file mode 100644 index 000000000..74700df1f --- /dev/null +++ b/docs/manual/tutorials/upload-tracks.md @@ -0,0 +1,5 @@ +How to Upload Tracks and Schedule Your Show - Youtube Video +[![Upload Tracks](http://img.youtube.com/vi/TJtWUzAlP08/0.jpg)](https://www.youtube-nocookie.com/embed/TJtWUzAlP08 "How to upload tracks") + +* Step-by-step Text Based [How-To](../../howtos/upload) + diff --git a/docs/manual/tutorials/webstream-link.md b/docs/manual/tutorials/webstream-link.md new file mode 100644 index 000000000..75336a5de --- /dev/null +++ b/docs/manual/tutorials/webstream-link.md @@ -0,0 +1,2 @@ +How to schedule a webstream with linked calendar - Youtube Video +[![How to schedule a webstream with linked calendar](http://img.youtube.com/vi/Ha3X6aYdY04/0.jpg)](https://www.youtube-nocookie.com/embed/Ha3X6aYdY04 "How to schedule a webstream with linked calendar") diff --git a/docs/manual/tutorials/widgets.md b/docs/manual/tutorials/widgets.md new file mode 100644 index 000000000..01adc3543 --- /dev/null +++ b/docs/manual/tutorials/widgets.md @@ -0,0 +1,2 @@ +How to Upload a Promo - Youtube Video +[![Upload a promo to LibreTime](http://img.youtube.com/vi/IC0cn3LaAXs/0.jpg)](https://www.youtube-nocookie.com/embed/IC0cn3LaAXs "How to upload a promo") diff --git a/mkdocs.yml b/mkdocs.yml index 7c311766e..b0dba42e7 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,6 +22,8 @@ pages: - 'Using LibreTime': - 'On Air in 60 seconds!': 'manual/on-air-in-60-seconds/index.md' - 'Getting Started': manual/getting-started/index.md + - 'Tutorials': manual/tutorials/index.md + - 'How-Tos': manual/howtos/index.md - 'The Settings Menu': - 'General': manual/general/index.md - 'Users': manual/users/index.md