ok, also dann hier mal ein “notstands-behelfs-script”
[code]procedure OnPlayerStart ( PlayerControl : IPlayerControl ; Item : IPlaylistItem );
var playlistCount: Integer;
begin
playlistCount:= CurrentPlaylist.GetCount
if playlistCount <5 then
CurrentPlaylist.Insert(playlistCount, Database(0).CreatePlaylistItem(Random(<anzahl der songs in der db>),0,0,0));
end;
begin
end.[/code]
wenn weniger als 5 songs in der Playlist sind, soll mAirList einen nachschmeissen.
mit der anzahl ersetzen.
Achtung:
das Script hat folgende voraussetzungen:
es darf nie ein song aus der db gelöscht werden
die absolute anzahl der songs in der db darf sich nicht verändern (wenn doch, im script die zahl ändern)…
getestet mit mAirList 2.1.35 und eldoDB.
anmerkung: dieses Script ist ein notification script
warum arbeitet ihr eigentrlich nicht mit playlists? ich erstelle einmal in der woche meine (zufallsplaylisten), und wenn eine bestimmte zahl an items in der Playlist unterschritten wird, schmeisst mairlist die nächste ladung nach.
Ich bräuchte eure Hilfe. Und zwar möchte über einen Midi Befehl den IMixer ansprechen, nur bring ich das irgendwie nicht zam.
Genau: Mit meinem Midicontroler schicke ich einen Midi Befehl an den IMixer und der soll den Mikrofonkanal öffnen(unmute).
Wobei, da fällt mir ein: Ich wollte schon seit langem mal die Notification Scripts um die Möglichkeit erweitern, die Befehle abzufangen, die von den Fernsteuerungsschnittstellen geschickt werden. Dann könntest du dir im MIDI-Interface einen neuen Befehl ausdenken (MIXER AN), und im Script entsprechend drauf reagieren.
[code]procedure OnExecuteCommand(Command: string);
begin
if Command = ‘MIXER AN’ then begin
(irgendwas mit IMixer anstellen, siehe entsprechende Beispiele)
end;
end;
begin
end.[/code]
Dann musst du in mAirListConfig einstellen, dass der entsprechende MIDI-Befehl in das Faderstart-Kommando “MIXER AN” umgewandelt wird. Fertig.
EDIT: Der aktuelle Snapshot hat das schon mit drin, kannst du ja mal ausprobieren.
Super, danke. Jetzt klappt das automatische Nachladen der nächsten Playlist auch mit Leeren der alten, um ein versehentliches Neustarten eines Titels während des AOT-Elements zu vermeiden. Sehr cool.
seit längerem gab es Diskussionen um Voicetracking mit mAirList (Sinn und Unsinn etc.).
Da es für mich aufgrund von immer weniger Zeit für immer mehr zu produzierende Sendungen wichtiger wurde, Voicetracking effektiv durchführen zu können, habe ich heute ein Script dafür geschrieben.
Funktionsweise:
Trockene Moderation an die gewünschte Stelle und ins Kommentarfeld “MTMOD” eintragen
Musikbett dahinter und ins Kommentargeld “MTBED” eintragen.
So für alle weiteren Moderationen verfahren
Script starten - es werden Cue-Punkte so gesetzt, dass Bett und Moderation parallel starten und das Bett rechzeitig zur Ramp des nachfolgenden Musikstücks ausgeblendet wird.
Hier das Script:
[code]// mAirTracking - Script to ease Voicetracking with mAirList
// written by Christoph Rothe and released under GPL
//
// v1.0 - initial Release
// v1.01- Bugfix
//
// USAGE:
//
// 1. Insert your Voice-File (Moderation) into Playlist and add Comment MTMOD (exactly written that way, NO CARRIAGE RETURN etc.)
// 2. Insert your Musicbed into Playlist and add Comment MTBED (exactly written that way, NO CARRIAGE RETURN etc.)
// 3. Add Music to playlist and set Cue-Points (especially Ramp)
// 4. Do the same for all breaks in your playlist
// 5. Start Script, it will set Cue-Points of Moderation+Bed (and colour the elements it found) so that you will have a Bed + perfect Ramptalk
//
// ATTENTION: The Voice-File must be 3-5 dB louder than music and bed
//
// LIMITATIONS:
// - Only Breaks with one Voicefile, one Bed and one music track (in this order!) are supported
// - You have to assure that the Bed is at least as long as the Voicefile - Ramp of Track, or your automatic Ramptalk will fail
//
// TODO:
// - Do not use “Comment” Field, use User Defined Fields (ask Torben how to use those in mAirListScript)
// - Write scripts to set Player volume so that Voice will be louder than music automatically
// - Include Icons instead of colouring the Tracks found
var
i: integer;
moderation: integer;
bett: integer;
musik: integer;
begin
moderation:=-1;
bett:=-1;
for i := 0 to CurrentPlaylist.GetCount - 1 do
begin
if CurrentPlaylist.GetItem(i).GetComment = ‘MTMOD’ then
begin
SystemLog(‘Found Item:’+inttostr(i)+’ Comment:’+CurrentPlaylist.GetItem(i).GetComment);
CurrentPlaylist.GetItem(i).SetColor(clRed);
CurrentPlaylist.GetItem(i).SetColored(true);
moderation:=i;
end else
if CurrentPlaylist.GetItem(i).GetComment = ‘MTBED’ then
begin
SystemLog(‘Found Item:’+inttostr(i)+’ Comment:’+CurrentPlaylist.GetItem(i).GetComment);
CurrentPlaylist.GetItem(i).SetColor(clYellow);
CurrentPlaylist.GetItem(i).SetColored(true);
bett:=i;
end else
begin
if (bett >= 0) and (moderation >= 0) then
begin
CurrentPlaylist.GetItem(moderation).GetCuePosition(ptStartNext).SetValue(100000);
CurrentPlaylist.GetItem(bett).GetCuePosition(ptFadeOut).SetValue(CurrentPlaylist.GetItem(moderation).GetDuration-CurrentPlaylist.GetItem(i).GetCuePosition(ptRamp).GetValue-10000000);
CurrentPlaylist.GetItem(bett).GetCuePosition(ptStartNext).SetValue(CurrentPlaylist.GetItem(moderation).GetDuration-CurrentPlaylist.GetItem(i).GetCuePosition(ptRamp).GetValue);
CurrentPlaylist.GetItem(bett).GetCuePosition(ptCueOut).SetValue(CurrentPlaylist.GetItem(moderation).GetDuration-CurrentPlaylist.GetItem(i).GetCuePosition(ptRamp).GetValue+10000000);
end;
bett:=-1;
moderation:=-1;
end;
Ich benutze ein paar kleine Scripte zum Ansteuern der Ausgänge der IO-Warrior Karte.
Zum Beispiel:
Zum Einschalten:
begin
IOWarrior.SetPort(0,1,true);
end.
Oder zum Ausschalten:
begin
IOWarrior.SetPort(0,1,false);
end.
Mit der Version 2.1.37 funktionierte es noch einwandfrei.
Mit der aktuellen Version 2.1.42 Built 479 tut sich aber Nichts mehr.
Liegt das daran, daß sich in den neuen Versionen die Scripterei geändert hat, oder ist das ein Bug ?
Die IO-Warrior ist in der Configuration angemeldet.
Die Scripterei ist für mich leider noch ein Thema mit - sagen wir mal 6 Siegeln.
ich bräuchte mal wieder eure hilfe für ein script. und zwar habe ich die funktion eingeschaltet. “maximale anzahl der gespielten elemente: 1”
das heißt wenn alle lieder abgespielt sind steht dann noch ein gespieltes element in der playlist. das hätte ich gern, dass das auch gelöscht wird.: D.H. wenn sich kein spielbares Element mehr in der Playlist befindet, dass das einzige als markierte element gelöscht wird, so dass meine playlist leer ist. Ist das möglich?