Log Format

Hello,
In Version 3.0 there is a Shoutcast login setup.
What is the input by Log format?

greeting
Jeroen

p.s. sorry for my English

See here: http://wiki.mairlist.com/index.php/Logging_Variables

(It’s the same variables as being used by any other logging mechanism.)

Oke thanks,
But how das it works?
I stream my line in whit simpelcast from SpacialAudio.

It doesn’t matter which software you use for streaming the audio, as mAirList communicates directly with the Shoutcast server via HTTP admin calls.

Just enter your stream URL (the same URL at which you see the Shoutcast status page in your web browser) and admin password into the config. “Mount” should be left blank (actually I don’t know why I put this field there anyway, so just ignore it for the moment).

In the Log Format field, enter e.g. “%a - %b” to have the current song displayed as “Artist - Title”.

Is it only possible with the admin password?
Not a normal user?

[quote=“Torben, post:4, topic:5713”]It doesn’t matter which software you use for streaming the audio, as mAirList communicates directly with the Shoutcast server via HTTP admin calls.

Just enter your stream URL (the same URL at which you see the Shoutcast status page in your web browser) and admin password into the config. “Mount” should be left blank (actually I don’t know why I put this field there anyway, so just ignore it for the moment).

In the Log Format field, enter e.g. “%a - %b” to have the current song displayed as “Artist - Title”.[/quote]

Torben… I hope you find this helpful:

“mount” could relate to Mountpoint

I discovered this terminology when setting up an Edcast streamer…

This is taken from the Edcast help file

Mountpoint
Mountpoints are appropriate ONLY for icecast2 server types. They are a unique identifier for your stream (icecast2 can handle multiple simultaneous streams). Most listening clients rely on the extention of the mountpoint to choose the correct decoder for your stream. This means, that Ogg Vorbis streams must end in .ogg (i.e. /stream.ogg), AAC streams must end in .aac (/stream.acc), and (by convention) MP3 may or may not need an extension (/stream). Note that all mountpoints MUST start with a ‘/’.

Like I said, hope this helps

That’s the point. I wonder why I put that field into the Shoutcast logging dialog in the first place. I probably copied the dialog from the Icecast one and forgot to delete the edit box.

Note that there are now two distinct “logging interfaces” for Shoutcast and Icecast, respectively. The both have their own config dialog (however the Icecast one seems to be broken in the current build, I’ll fix that).

Jeroen, I’m not quire sure, but I believe you need the admin password. Perhaps you can try it and tell us what you’ve found out.

Too bad it didn’t work whitout a admin password.
Which i don’t have.

Thanks for the support

Hello,
I have try a free server (www.freeshoutcast.com) to test the log but it still not work.

Maybe there is someone who can try it.

For now i use the log items to file script but i must change the script because it not over write
the last track. But that don’t work.

I can’t get it to work via the SHOUTcast Logging options, either…

[LogInterface0] Type=Shoutcast URL=http://localhost:8000 Mount= Password=password Format=%a - %b

Perhaps Torben can tell us if he’s put &mode=updinfo&song= inside his logging code or whether we need to specify it as part of the mountpoint ? I’ve tried a few variations and cannot get it to work.

I still prefer the scripting for this kind of thing because you can be more picky about what updates :slight_smile:

[quote author=Charlie link=topic=3470.msg23622#msg23622 date=1233183867]

[LogInterface0] Type=Shoutcast URL=http://localhost:8000 Mount= Password=password Format=%a - %b

Is this script wat i need??
If i load this i see a error
Error (1:2) Unknown indentifier "

It’s not a script - that’s my logging.ini file

That’s not a script but a quote from Charlie’s logging.ini file. Note that you don’t need to edit that file manually. All configuration can be made from mAirListConfig. Posting your ini files is just a convenient way to show your config.

Regarding Charlie’s question, of course you don’t have to write “mode=updinfo” etc. - mAirList will construct the URL for you.

The “mount” parameter is totally superfluous for Shoutcast logging. I will remove it in the next version.

I will also perform a few tests with my home Shoutcast server to see if it works.

Any joy with this?

I cannot get the now playing to update either on a shoutcast server (using edcast to encode).

Kind regards tony

Try try again.

Success (but not in version 3 as this generates an error when using GETARTIST in the nowplaying script)

As Chris states Edcast will only read a single line so this script still needs editing to tidy the display up.

Edit the nowPlayinghtml.mls to this:

[code]procedure OnPlayerStart(PlayerControl: IPlayerControl; Item: IPlaylistItem);
var sl: TStringList;
begin
sl := TStringList.Create;
sl.Add(’’ + Item.GetArtist + ’ ’ + Item.GetTitle + ‘’);
sl.SaveToFile(‘c:\NowPlaying.txt’);
sl.Free;
end;

begin
end.
[/code]

Change the location of the txt file to somewhere easy to find - inside the edcast folder is good.

Now in edcast, click edit and select to use external metadata further selecting file and type in the location of the Nowplaying text file. Change the refresh rate to about 15 seconds time enough for the server to respond (which is likely to be refresh every minute unless you changed it).

Works for me at least.

Kind regards tony

From v3, there can be more than one artist per item. This is why there is a multi-row edit box in the Properties dialog now. The first artist can be retrieved by GetArtists.GetItem(0) and so on. But note that this call will fail with a “list index out of bounds” error if there is no artist set at all. For your convenience, you can use a helper function:

function ArtistOf(iItem: IPlaylistItem);
var 
  i: integer;
begin
  Result := '';
  for i := 0 to iItem.GetArtists.GetCount - 1 do begin
    if i > 0 then Result := Result + '/';
    Result := Result + iItem.GetArtists.GetItem(i);
  end;
end;

(untested)

Then, replace “Item.GetArtist” by “ArtistOf(Item)”.

Can someone tell my what’s whole script for version 3?