Feature requests

Hi Torben, I hope you can add these to the TO DO and feature list.

When hot folders are assigned and inserted into the screen, I would like for them to still be visible should you stop, close and re-open mAirList.

The ability to add a command in playlists to stop/start audio by player,players or group of players.

Thanks for your consideration. Tony

Tony,
I bet Torben is having his work cut-out with us 2 coming-up with ideas all day long :wink: I agree that commands in the break-notes (very StationPlaylist!) will be a welcome addition, and certainly push mAirList towards a wider market.

I’m trying to think off the top of my head how many “cheap” playout packages actually handle command cuts in the playlist. SPL, BCX3 (home licence-only)… and err… That’s it, I think.

Tony,

can you please give an example scenario for your start/stop command idea?

The hot folder thing can be achieved like this:

  • Start a new file, open your favorite folders and save this setup as “standard.mlt” in your mAirList program folder. This file will be loaded each time you start mAirList.

  • If you want your hot folders to stay open when loading a new file, you can disable the “load browsers with …” options on the Browser page of the config dialog.

Torben
(who has just done some more implementation, will now upload 1.5.17, and then share a nice bottle of wine with his wife)

Torben,
I think Tony means (and to be honest, I could also do with this feature) - To send mAirList commands via a breaknote - ie: “C:\Program Files\mAirList\mAirListCommand.exe” http://studio2:9300/PLAYER 1-1 START or something. This would allow the main playout machine (if properly scheduled) to play split breaks from a 2nd networked mAirList machine, and for it to return to the main playlist when told to do so.

So, main playout has this on the playlist (I’ve made this very very basic):

SONG
JINGLE
SONG
JINGLE
http://splitads:9300/AUTOMATION 1 ON;AUTOMATION 2 ON;AUTOMATION 1 PLAY;AUTOMATION 2 PLAY
BREAK
JINGLE
SONG

…and the split players look like this:

ADVERT
ADVERT
ADVERT
http://studio:9300/AUTOMATION 1 PLAY
BREAK

As both split playlists would be running the same amount of audio, only 1 list would need the command-trigger to re-start the studio machine. That’s how I’d see my solution working - Tony may be thinking differently, but hopefully, Torben - you can see what I’m getting at.

Enjoy the wine!

That would be 1 instance of a break note.

Thanks Charlie, when I can get mine to make sense will post some more.

Tony

Ok, guys, 1.5.19 is out with the Command items introduced. You can add them through the Insert menu or M3U files (#mAirList COMMAND <command(s)>).

There’s also a new kind of command for sending SOAP commands to other instances:

RPC <command(s)>

for example:

RPC http://theotherhost:9300/BIN AUTOMATION 1 OFF

Looking forward to your feedback.

Torben
(now away from home for a couple of hours)

Torben,
Thanks for the update - It works fairly well. However, I have a few critiques which I think may be relevant:

1.Although the commands appear in the Repository - The exact command does not, so if you drag it back to the list - You are left with a blank command. ie: you cannot quickly re-run the last command-cut without typing it in again.

  1. I can’t get the a dual RPC command to run. This one works fine: RPC http://split1:9300/BIN AUTOMATION 1 PLAY … But this doesn’t:
    RPC http://split1:9300/BIN AUTOMATION 1 ON;AUTOMATION 1 PLAY .

I use this to ensure that the machine is put into auto. Nor does AUTOMATION 1 PLAY;AUTOMATION 2 PLAY work - this is essential as it would’t be a “split” otherwise :wink: So, in essence - I need 4 commands to run on 1 playlist command - My split-button via the game port works fine (AUTOMATION 1 ON;AUTOMATION 2 ON;AUTOMATION 1 PLAY;AUTOMATION 2 PLAY)

A quick note to others: If you wish to name the command with an easy reference for your presenters (such as “SPLIT ADS” or “PLAY NEWS ON REMOTE PC”) then change the Artist/Title of the command to whatever text you want it to show.

  1. Is there any way of putting a text-note into the playlist (no actions, just for reference)… Maybe I missed that one.

Otherwise OK :wink:

1.Although the commands appear in the Repository - The exact command does not, so if you drag it back to the list - You are left with a blank command. ie: you cannot quickly re-run the last command-cut without typing it in again.

Confirmed. Will be corrected in 1.5.20.

2. I can't get the a dual RPC command to run.

I’ll check that. In the mean time, you can work around this issue by placing two Command items in a row.

3. Is there any way of putting a text-note into the playlist (no actions, just for reference).. Maybe I missed that one.

Sure. Insert->Dummy. Or simply drag a .txt file into the playlist. Lines starting with “#ARTIST”, “#TITLE” or “#DURATION” (in seconds or h:mm:ss format) will be imported as the respective fields:

#ARTIST Torben #TITLE Weather Forecast #DURATION 0:00:30 Cold and rainy today, as expected

Torben

Sure. Insert->Dummy. Or simply drag a .txt file into the playlist.
Excellent - That's a clever way of doing it.

But can you do it via the scheduler ? #mAirList COMMENT Promote Quiz - or something similar ?

Ah, now I know what’s the problem about the dual RPC commands. Of cource, a single Command item can contain multiple, semicolon-separated commands. So when you execute

RPC http://split1:9300/BIN AUTOMATION 1 ON;AUTOMATION 1 PLAY

mAirList sees this semicolon and splits the command into two parts:

RPC http://split1:9300/BIN AUTOMATION 1 ON
AUTOMATION 1 PLAY

I will try to find a solution, perhaps using quotation marks.

Torben

PS: Dummy import via M3U will work as of 1.5.20, syntax is “#mAirList DUMMY [title]”. Duration can be 0 if unknown.

Still considering my original feature request for commands within a playlist, in the meantime Torben had you thought about writing a scheduler. Something similar to station playlist creator would be ideal as it doesnot rely on a database.

I only ask as I have struggled with your own musicliste software. Or rather getting mysql to install on XP Home as it keeps complaining about open ports to connect to during installation.

Tony,

the Command items are now implemented as of 1.5.19 (with the restrictions discovered by Charlie) - or did I miss something else you requested?

A music database/playlist scheduler, “mAirListDB”, will be the big next thing to do after mAirList 2.0 is finished. However, this will be database-based again (but this time PostgreSQL instead of MySQL, as it has a closed-source compatible license, and is much easier to install under Windows). For, in a radio station with more than one PC, you will always need some sort of distributed system.

cevou from the German forums is working on a similar project already, “radiodb”, available from www.radiodb.de, but still in very early beta stage.

The old eldoDB/Musikliste is no longer maintained. You can still use it, but it lacks a number of features. And I will never be able to add them, as the project won’t compile anymore. It depends on a very early set of mAirList source files which are not compatible to the current versions anymore.

Torben

Hi Torben, sorry about dragging these out but wanted to make sure of my thoughts.

Additions to mAirList i feel will be of immediate benefit are:

1.Command to insert a cut from a dir and rotate this cut at random. A rot file. Some form of artist and song separartion would be a bonus.

2.Command to mute/unmute line-in to allow news feeds from a tuner during automation. It would also need to pause players. Automation players would be going through a single soundcard.

3.Command to load assigned playlist template at either the point the command occurs or at a specifed time via an event scheduler (more about this later).

4.Command to load a pre-scheduled playlist via a third party scheduler at a defined time.

These last 2 commannds require an event scheduler which would carry the tasks out at a defined time, very much like zararadio.

Finally (for now) to move mAirList toward being a total solution, an integrated CD Ripper/format convertor which looks up artist info etc from the internet. A neat trick would be for it also to compare with audio already in the library to prevent adding duplicate tracks (very much audioenhance dps).

Most of these features exist in software packages already but few offer all together.

Hope there is not too much work here.

kind regards Tony

an integrated CD Ripper/format convertor which looks up artist info etc from the internet.
Tony, I use ExactAudioCopy - another free bit of software (and German!)... http://www.exactaudiocopy.de/ Great CD ripper, and gets titles from CDDB... Been using it for 6yrs.

There is an event scheduler already, although I must admit that it’s hidden quite well :wink: Activate the automation, and a new rectangle will occur in the tool bar next to the playlist length/duration fields. Click that rectangle, and there you are.

The basic event types include at the moment:

  • Insert a file.
  • Insert a file and it play immediately.
  • Execute a command.
  • Run a script.

The latter refers to “mAirListScript”, a scripting language I’m currently working on (when not implementing other feature requests all day long g). It will offer an interface to all of mAirList internals, playlist manipulation and so on. Some of the interfaces are ready to use by now. For example, you can create a script like this (the file extension should be .mls):

begin CurrentPlaylist.Clear; CurrentPlaylist.Load('c:\temp\test.mlp'); CurrentPlaylist.AutomationNext; end.

This will clear the current playlist (except for any item playing at the moment), load a different one and fire an automation-next event.

The syntax is Pascal-like (it’s implemented with Pascal Script from RemObjects Software, www.remobjects.com). Many Delphi built-in functions can be used from within the scripts. For example, if your scheduler generates playlist files with a certain name scheme (e.g., yyy-mm-dd-hh.m3u), you can use Pascal functions to determine the current time and thus the current playlist file to be loaded.

Some examples can already be found in this thread.
I will add a whole lot more functions and interfaces soon. For example, the ability to run external programs. So just create an “unmute-linein.exe” and a “mute-linein.exe”, and you’re done :wink: (I once had a mixer application which could save and restore Windows mixer settings, maybe I will recall its name.)

I think these scripts will be a powerful addition to mAirList’s feature set. Of course, it takes a little programming skills and also some time to get familiar with the script language, but you can implement all of the custom functions you ever wished for.

By the way, scripts can also be run manually by the faderstart command "RUNSCRIPT " for testing.

Concerning your other suggestions: All of them would be nice. Over time, mAirList will grow and eventually become a full featured package. As mentioned earlier, the next application of the “mAirList family” will be a database/scheduler software which I will start to work on as soon as mAirList 2.0 is released.

However, I consider mAirList, i.e. the playout component as available today, as a purely passive component. For example, I think that music scheduling should take place in external scheduling software, and mAirList should only process the ready-made playlist files, but not care about rotations itself (unless the user decides to create a mAirListScript which does so). This scheduling software might be mAirList’s own one day, but for now, we depend on third-party tools.

Torben

By the way, Charlie, does the workaround for issue #2 (multiple RPC commands in one Command item) work? Because I haven’t come up with a solution for that yet.

Torben

Torben, many thanks for your prompt reply, as you indicate much of what I suggest is already in mind.

Hopefully we can give you sometime to bring it all to fruition by leaving future requests to the next development stage following the release of a stable vrsion 2.

Kind regards Tony

btw:Thanks also to the pointer to the other thread and the google translation tool.

Hopefully we can give you sometime to bring it all to fruition by leaving future requests to the next development stage following the release of a stable vrsion 2.

Yes, that’s indeed a problem. All of these nice ideas you have (I’m not only referring to you and Charlie here, but also any other user from the forums).

I think, I will make a final call for urgently needed features in a few days. Thereafter, the feature set will be frozen for version 2.0, and I will concentrate on bug fixing.

Anyway, it has been a nice weekend. Receiving feedback is always a huge motivation, and I don’t know if I have ever been as productive as in these two days. It’s been fun. Thank you all!

Torben

By the way, Charlie, does the workaround for issue #2 (multiple RPC commands in one Command item) work? Because I haven't come up with a solution for that yet.

Yes, 2 commands works fine :wink:

EDITED I will add a whole lot more functions and interfaces soon. For example, [b]the ability to run external programs[/b].

This is a most welcome and exciting feature, and will be a tremendous advantage. Thank you for the most excellent work you are putting into your software