Broadcast schedule management with Somax-editor
SomaX-Editor is a powerful software for writing the broadcast's schedule files of Soma-suite. It works in a graphical manner, and have the features of an advanced editor (selection, cut/paste, open several files concurrent, undo/redo, etcetera). The following screenshots is the main window of somax-editor, with a "palinsesto" file opened:
The "palinsesto" is the default programming schedule file for the soma daemon. Usually, it is the /etc/somad/palinsesto.cfg file, but this may be changed in the Soma daemon configuration file. There is another file, the "spot file", for the schedule of the radio spots, but it is optional. If any, it should be /etc/somad/spot.cfg. Both are normal text files, and may be edited with any simple text editor too. For this, you can refer to the palinsesto.cfg(5) and spot.cfg(5) man pages.
In this text, we will see how to edit a "palinsesto file" (the main schedule file of somax-suite, and the key for somad to work) with somax-editor. In the left area of the program's main window we can see the "Transmission" area, with all the broadcasts of this "palinsesto". In this area you can select any or them for edit. Below, we have a calendar, for choose a day and edit it's trasmissions (by default the current day appears in it).
In the button of the window we have two bar with the day's 24 hours and all the trasmissions of the selected day. We can select a trasmission for edit it from here too. In the upper bar we have the trasmissions with high priority (see below) and the trasmissions with low priority are in the other bar.
Between the calendar and the bars, we have two buttons: for create a new blank transmission the first, and for remove the selected transmission, the last.
In the window's right area we have three tabs with the "Edit your transmission" main title. In these tabs we will made all the work for configure our schedule. In the following three chapters, we can see how are these tabs.
1. "General" tab:
In the above screenshot, we have a detailed view of the "General" tab. In this tab we can configure the following settings:
- Description: is only a descriptive title for this transmission.
- Start: is the date/hour for the transmission to start. Below we explain it with some examples.
- Stop: the date/hour for the transmission to stop (see below).
- TimeContinued: this changes the mode as somad understands the above parameters. If it is activated, the transmission starts in the date and hour that is in the "Start" boxes, and ends in the date and hour that is in the "Stop" ones (so the transmission stand all this time). But if it is NOT selected, the transmission repeats all the days that are in the start/stop boxes, in the hours that are specified (see examples too).
- Priority: If this flag is activated, and there are other transmission with low priority in the same time, somad schedules the high priority transmission before the other. If the player return some error, them somad goes to the low priority one.
- SpotController: If activated, the management of the spots is made for the "spot file", that we need to edit too (with somax-editor for example :-D). If not activated (the easiest) we manage the spots in this "palinsesto file", as we can see in the "Items" tab. In this text we explain only the "easy" mode.
- SoftStop: If activated, the following transmission don't starts until the current one ends, although the start time of the first would be passed. If NOT activated, the following transmissions start just in its time, although the current one is not terminated.
1.1. Transmission examples:
In this way, we can configure the start and stop day and hour of a transmission selecting: its year (Y), month (M), month's day (D), week's day (day), hour (h) and minute (m). But if some of they it isn't necessary, we can leave it as "any". In the case of the hour and minutes, they are always necessary. Let see some examples:
- Transmission 1: all the days between 08:00 and 12:00
- Start: Y=any, M=any, D=any, day=any, h=8, m=0
- Stop: Y=any, M=any, D=any, day=any, h=12, m=0
- TimeContinued: don't activated >
- Transmission 2: from monday to friday between 18:00 and 21:00
- Start: Y=any, M=any, D=any, day=Monday, h=18, m=0
- Stop: Y=any, M=any, D=any, day=Friday, h=21, m=0
- TimeContinued: don't activated
- Transmission 3: all the fridays between 21:00 and 23:00
- Start: Y=any, M=any, D=any, day=Friday, h=21, m=0
- Stop: Y=any, M=any, D=any, day=Friday, h=23, m=0
- TimeContinued: don't activated
- Transmission 4: starts monday at 23:30 and ends tuesday at 3:00
- Start: Y=any, M=any, D=any, day=Monday, h=23, m=30
- Stop: Y=any, M=any, D=any, day=Tuesday, h=3, m=0
- TimeContinued: activated
2. "Type" tab:
In the above screenshot, we have a detailed view of the "Type" tab. In this tab we can specify the sound files (or any other type as streams, silence or any soma module) that conforms the transmission. The most common case is to specify some files, as in the image.
- Type: here we can choose our sound source: from files, internet stream, silence (don't emit anything) or a soma-suite module: "Run Module" for execute any command, "Rss Module" for download sound files from the internet's podcast sources, the "Http Module" for download files from web pages, or for ask to a mysql database with the "Mysql module".
- PathItem: If we choose to get the sound sources from files, here we will specify from what files or directories. For choose some sound files, we can click on "Local add files", and for choose whole directories "Local add directories". We can remove files or directories from the "PathItem", and we can use some remote files/directories too. Finally, we can check the duration of all the chosen items.
- Stream: If we choose to get the sound sources from a internet stream, here we can specify the URL for get this stream.
- Silence: If we choose the silence for our transmission, we get it, so we haven't to specify anything for it.
- Modules: We can choose some kind of modules too:
- Generic module: with this we can specify any kind of module, the following ones, or some other that any can build. The only two parameters that we need are the modules's name and its data.
- Rss module: for this module to work we need to specify the RSS URL for get the podcast.
- Http module: for this module to work we need to specify the URLs of the web pages for get the audio files.
- Run module: for this module to work we need to specify the command to execute. You can see it in the following image.
- Mysql module: for this module to work we need a runing Mysql database, and the command for query it.
3. "Items" tab:
In the above screenshot, we have a detailed view of the "Items" tab. In this tab we can specify some others settings of the transmission, as their spots:
- Jingle: this is the "first music/spot" at the starts of a transmission. For specify it, click in "Local add file".
- PreSpot: this is the "first music" at the starts of a Spot block (click in "Local add file").
- PostSpot: this is the "last music" at the ends of a Spot block.
- RatioItem/RatioSpot: is the amount of spots (RatioSpot) that we may put between any amount of songs (RatioItem). This is the easiest way for put some spots in the trasmission. The another one is to activate SpotController in the "General" tab, and use the "Spot file".
- Random Item/Random Spot: if selected the songs and/or the spots in the transmission are chosen in an random way. If NOT selected both are choosen in a alfanumeric order.
- PathSpot: as in the other case (see above) here we can choose which sound files are the spots.
With all these settings defined, we have the schedule of the somad's broadcasts pretty defined. Now we need to save the file, with the "Save" button, and to make that soma re-read the "palinsesto" file. This last work can make with the SomaX graphic panel, or with the command line (see somad(1) man page).
This is an english adaptation of Ayuda para el usuario de Garraxi - 6.3. Gestión de la parrilla con Somax-editor (the original text in spanish).
(c) Martintxo [martintxo@sindominio.net]. This text can be copied, shared, and adapted under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike license, or (at your option) the same license of the rest of Soma-Suite documentation. June 2007