This old wiki is now closed for editing. Articles which are still useful and up-to-date will be transfered to the new Wiki shortly.

For the official documentation, please look at the download page.

Changes in mAirList 2.1

From mAirListWiki

Jump to: navigation, search

This page is an overview of new and changed features in mAirList 2.1, the current development branch.

Contents

Players

Players may now overlap audio in the same player object, allowing crossfading of items via the output channel assigned to that particular player. Typical example of use would be a simple stand-alone automation instance of mAirList where little user interaction is required, and also an advert player/playlist combination.

As of mAirList 2.1.39, you can also instruct mAirList to use only a single player for automation playback.

On Air Switch (optional)

This new optional mAirList window object toggles logging on/off when you click it. A new mAirList action/command has also been added so you can use a hotkey or other remote control function (for example, a mixing desk button) to 'click' this 'button.'

Use the On Air Switch when rehearsing, 'warming up' before your show, or during pre-recording or training sessions, to stop items being logged. In a multi-studio station with a common logging file/database for all the studios, this is an especially useful feature!

You can size and position the On Air Switch with a new section in layout.ini, like this example:

[OnAirSwitch]
Left=885
Top=5
Height=30
Width=150

You can customise the appearance of the On Air Switch with a new section in skin.ini, like this example:

[OnAirSwitch]
OnAirFont=Arial
OnAirFontSize=20
OnAirFontStyle=1
OffAirFont=Arial
OffAirFontSize=20
OffAirFontStyle=1
OnAirBackgroundColor=#000000
OffAirBackgroundColor=#cccccc
OnAirCaption=ON AIR
OffAirCaption=off air

In Configuration, you can use a new option to set the default On Air Switch setting at startup (enabled/ON or disabled/OFF).

Progress Bar

A new 'global' progress bar is now included, which shows the timings from the most recently activated player. Use layout.ini to set its position and size:

[ProgressBar]
Left=5
Top=77
Height=40
Width=1272

You can also use skin.ini to set the colors used:

[ProgressBar]
ProgressBarBorderColor=#000000
ProgressBarElapsedColor=#00FF00
ProgressBarRemainColor=#000000
ProgressBarRampColor=#000000
ProgressBarElapsedRampColor=#FFFF00
ProgressBarOutroColor=#A3000A
ProgressBarEmptyColor=#000000
ProgressBarColor=#000000
ProgressBarMargin=10
BorderColor=#000000
EmptyColor=#000000

Countdown To Hour

This new optional 'clock' counts down to the next hour. You can use it to backtime your playlist/show, to hit a news feed, or simply to finish your show on time.

In Configuration, a new Browser option enables/disables display of the Countdown clock. You can set its position and appearance using new sections in layout.ini and skin.ini, as the following examples show:

layout.ini 
 
[HourCountdown]
Left=1177
Top=0
Height=35
Width=100
skin.ini
 
[HourCountdown]
Format=-nn:ss
FontName=Arial
FontSize=20
FontStyle=1

Cartwall

A Cartwall player can now contain more than one audio item, stored as a mini-playlist called a Stack. When you start a 'stacked' Cartwall player, it plays the items in the Stack in sequence. This complements the Cartwall's existing Trigger feature.

To create a Stack, right-click a Cartwall player, then click Edit Stack: this opens a small window where you can drag and drop items into the Stack mini-playlist.

Container Items

There's a new playlist item type: 'containers.' A container contains not only a single file but an entire playlist; however, it acts as a single item, can be loaded into players, PFL'ed etc. Just like automation, container playback takes care of the cue and fade markers of the contained items and fades songs into one another.

When dragging an MLP or M3U file into the playlist, hold the Shift key in order to create a container item. If you do not hold Shift, the content of the playlist is inserted as individual items.

When dragging an MLP or M3U file directly into a player (cartwall or ordinary), a corresponding container item is created automatically. A container is also created when you select multiple items in the playlist and drag them into a player.

Playlist PFL and Selection PFL

These new playlist context menu items allow you to instantly create a container of the entire playlist (or parts thereof) and open it inside an Extra PFL player. This way, you can pre-listen to the segues that the automation will (or would) play later.

Mixdown

You can export arbitrary playlist items (and also container items created on the fly from the playlist, or parts of the playlist) as WAV, MP3 or OGG files.

For MP3 and OGG export, you need lame.exe and lame.dll (from the LAME for Windows package) or oggenc.exe (from the Vorbis Tools), respectively, and copy these files to your mAirList program folder. You also need to copy the following lines to your mAirList.ini file (a configuration page will be added to the config dialog later):

[MP3Mixdown]
Encoder=lame.exe
ProfileName0=192kps stereo
ProfileParameters0=-m s -b 192 - "$FILENAME"
[OggMixdown]
Encoder=oggenc.exe
ProfileName0=default
ProfileParameters0=-o "$FILENAME" -

(You can add more profiles if you wish.)

Shoutcast/Icecast Stream Relaying

You can load and playback remote Shoutcast/Icecast streams. They are handled just like ordinary playlist items. You can manually specify the "virtual" duration of the stream (to make it look like a audio file with that duration), or set the duration to 0 in order to play the stream for an unlimited time (until script or user interaction).

Extra PFL and Properties merged

Extra PFL and the Properties dialog have been merged into a single window. (Extra PFL is now a tab in the Properties dialog.) However, there is still a distinct 'Extra PFL' item in the context menus, which opens the Properties dialog with the PFL tab focused and starts PFL playback immediately.

The new Properties dialog has also been merged into mAirListTag.

Playlist

The playlist GUI class has undergone a complete rewrite. It is now based on Virtual Treeview by Mike Lischke.

There is a new column at the left hand side which will be used to display status icons (not yet implemented as of mAirList 2.1.6).

Although the playlist still looks and works like a regular table/grid, it has some tree-view-like functionality. In particular, if you have specified a comment on a playlist item, that comment will be displayed as a child node to the playlist item, and can be expanded or collapsed as needed. You can use the MainColumn setting in skin.ini to specifiy the column in which the +/- buttons will appear. For example,

MainColumn=2

will move the +/- buttons to the "title" colum. You can also choose to hide certain colums

HideColumns=0,6

or rearrange them by specifying the new order. For example,

ColumnOrder=0,1,4,2,3,5,6

will make the "duration" column appear between the "time" and "title" columns. By default, the "title" column will adjust its size automatically to fit the playlist width. You can change the auto-size colum by

AutoSizeColumn=<column index>

Playlist Skin

Colors and Fonts

As of mAirList 2.1.38, the user has full control over the colors and fonts used in the playlist. Colors and Fonts can be picked according to three criteria:

  1. The state of the player the item is loaded in (if applicable):
    • Loaded
    • Playing
    • Fade
    • EOF
    • Stopped
    • Error
    • Paused
    • PFL
    • Next
    • Empty (= not loaded into any player)
  2. The type of the playlist item:
    • File
    • Stream
    • Break
    • Command
    • Container
    • Dummy
    • Other
  3. The column/part of the playlist (for fonts only)
    • PlayerName
    • Backtiming
    • Title
    • Artist
    • Duration
    • Ramp
    • Ending
    • Comment

Each entry in the Playlist section of skin.ini is composed by picking one identifier of each group, followed by "RowColor", "FontName", "FontSize", "FontColor" or "FontStyle". For example,

PlayingFileTitleFontColor=#FF0000

determines that the "title" column of all file playlist items which are currently playing should be displayed in red.

You can also omit one or more identifiers. For example, use

PlayingRowColor=#0000FF

will make all rows with playing items blue (regardless of the type of the item), and

RowColor=#FFFF00

will set the default background color for alle items to yellow.

By default, all entries refer to items which are in the "active" part of the playlist, i.e., not in the playlist history. You can adjust the appearance of the history items by prefixing an entry with "History", for example

HistoryFileRowColor=#000000

will make all file items in the playlist be displayed on a black background.

When determining the color or font for a specific item, mAirList will process skin.ini line by line (first the global "Playlist" section, then the specific "Playlist0" etc. section) and look for entries which match the properties of the item under consideration. The last line which matches the item will have priority. This way, you can choose which settings should have priority.

Overlay Settings

For the overlay ramp countdown, use the font settings

OverlayFontName
OverlayFontSize
OverlayFontColor
OverlayFontStyle

By default, the overlay will be centered, but you can specify an orientation (combination of "N", "E", "S" and "W"). For example, to make the overlay appear in the upper left corner, use:

OverlayPosition=NW

In order to establish a margin to the playlist border, use:

OverlayPaddingX=20
OverlayPaddingY=10

You can also change the background color of the overlay (it's transparent by default):

OverlayBackgroundColor

Special Colors and Virtual Treeview Settings

Due to limitations of the GUI component used, the selected row has a fixed font color (default: white):

SelectedFontColor

The following internal color settings of the Virtual Treeview component can be customized (as of mAirList 2.1.1):

BorderColor
DisabledColor
DropMarkColor
DropTargetBorderColor
DropTargetColor
FocusedSelectionBorderColor
FocusedSelectionColor
GridLineColor
HeaderHotColor
HotColor
SelectionRectangleBlendColor
SelectionRectangleBorderColor
TreeLineColor
UnfocusedSelectionBorderColor
UnfocusedSelectionColor

Torben is not sure which of these colors are actually used and in which situations, but at least you can customize them now ;)

If you prefer a solid grid line instead of a dotted one (available from v2.1.39), use

GridLineStyle=solid

Notification Scripts

Writing notification scripts is much easier than in mAirList 2.0. Instead of fetching notifications with GetNotification, you simply implement a number of pre-defined procedures which are called by mAirList when the respective condition is met.

There is a template provided with the distribution of mAirList. Use that template to create your own scripts. Do not change any of the parameters, or unpredictable errors will result. Delete any procedures which you don't use, as this will improve performance. The code between the final begin and end. will be called when the script is initially loaded by mAirList.

Here are some examples for the new procedures:

procedure OnStartUp;
begin
end;

procedure OnPlayerStart(PlayerControl: IPlayerControl; Item: IPlaylistItem);
begin
end;

procedure OnPlayerStop(PlayerControl: IPlayerControl; Item: IPlaylistItem; Duration: int64);
begin
end;

procedure OnPlaylistEmpty(PlaybackControl: IPlaybackControl; Playlist: IPlaylist);
begin
end;

Minor changes

  • The former PFL CLOSE and PFL SAVE ... commands new names:
    • EXTRAPFL SAVE
    • EXTRAPFL SAVE TAG
    • EXTRAPFL SAVE DATABASE
    • EXTRAPFL CLOSE
  • Some configuration options have been renamed inside mAirList.ini, so the respective settings are lost when you import your v2.0 ini file. Make sure to check these settings in the configuration dialog after upgrading.
    • EOF Warning

Linking Items

Items can now be linked and are automatically chained within the same player. This allows you to "automate" the playback of certain items while still operating in assist mode.

In order to activate a link, click the rightmost column of the respective item, and a small arrow will appear. Clicking that arrow again will disabled the link.

Regional Containers

A single playlist item, holding 2 or more separate lists of audio with each list output to a different sound device. Please see the Regional Container article for more information.


To be continued …

More features will follow. Give Torben some time, he's working hard :)

Personal tools