Wie jetzt? Das ist KEIN Notification Script, sondern ein “normales”, das du manuell starten musst. Also nix von wegen “anbleiben” …
Wenn du das in der Config als Aktions-Script angibst, müsstest du in der Toolbar einen neuen Button namens “Aktionen” erhalten. Dahinter verbirgt sich dann dein Script.
Und bei mir funtzt es nicht. Hab das Script in ne .txt datei eingefügt und diese in .mls umbenannt, dann probiert obs geht und … siehe da: NEIN! hmm jetzt is die frage: wo ist der fehler? … HolGer hat das gleiche prob, haben wir gerad im ICQ festgestellt. Dachte zuerst, das es geht, dann habe ich aber mal bei nicht gecuten files geschaut und … fehlanzeige.
Hab den Fehler bei mir gefunden. Bei den Playern muss die Option “Zeit automatisch abschneiden” aktiviert sein. Danke an flashlighter für den Gedankenblitz.
Würde mich dennoch interessieren, wie man das wieder rückgängig machen kann.
@d4d4: Den Gedanken hatte ich auch schonmal. Das Problem ist, dass es oftmals verschiedene Versionen eines Titels gibt (also jetzt nicht Single, Maxi, …, sondern auch verschieden geschnitten). Also bei einer CD ist vielleicht noch ein wenig Stille hinten dran, eine fängt anders an, …
@Alle: Ich habe unter Linux ein Script geschrieben, dass “von hinten nach vorne” die durchschnittliche Songlautstärke prüft und mir einen sinnvollen Fadeout-Punkt liefert. Den trage ich dann in meine Datenbank ein.
Vielleicht kann man sowas unter Windows auch bauen ? Ich verwende dafür mpg123 (gibts auch für Windows) mit der Option “Skip”, gebe die Ausgabe davon in sox (gibts auch für Windows), welches ich anweise, die Lautstärke auszugeben und parse die Sox-Ausgabe. Das mache ich solange in einer Schleife die von der Titellänge sekundenweise rückwärts springt, bis ich x % der Durchschnittslautstärke des Titels (ebenfalls via sox ermittelt) erreiche. Damit klingt die Blende dann wie bei Winamp mit SQRSoft-Plugin und harte und weiche Enden werden gleichermassen berücksichtigt.
GetDuration gibt - wie der Name schon sagt - die (absolute) Länge der Datei zurück.
Mit den -50000000 liegst du aber falsch. Die 0 steht nämlich nicht für das Ende des Liedes. Es ist lediglich so, dass ein Cuepunkt gelöscht wird, wenn man seinen Wert auf 0 setzt. Beim Fade Out hat das halt den gleichen Effekt, wie wenn man ihn auf das Ende setzt.
begin
for i := 0 to CurrentPlaylist.GetCount - 1 do begin
pi := CurrentPlaylist.GetItem(i);
if pi.GetFadeOut.GetValue = 0 then
pi.GetFadeOut.SetValue(pi.GetDuration - 200);
end;
end.
[/code]
Jetzt ist mir gerade aufgefallen, dass es nichtmehr bei allen Tracks in der Playliste einen Fadeoutpunk setzt.
kannst du da evtl mal nachschaun was da los ist bzw ob das bei dir auch so ist?
Ja okay… die 200 sind vielleicht ein bisschen zu kurz:)…
Aber mAirList müsste trotzdem den Fadeoutpunkt setzen, egal wie kurz die Zeit eingestellt ist
[code]var
i: integer;
pi: IPlaylistItem;
begin
for i := 0 to CurrentPlaylist.GetCount - 1 do begin
pi := CurrentPlaylist.GetItem(i);
//if pi.GetFadeOut.GetValue = 0 then
pi.GetFadeOut.SetValue(pi.GetDuration - 50000000);
end;
end.
[/code]
auch dieses Script setzt bei mir nicht bei allen Tracks einen Fadeoutpunkt…
Okay, jetzt klappts. Das Script wird ja oben utner Aktionen eingeblendet. Reicht es jetzt für eine Sitzung, dass ich das einmal anklicke und dann führt er es für alle Lieder aus, bis das Programm das nächste mal beendet wird?
EDIT: Hmm, der machts nicht, wenn ich das Script ausführe (einmalig). Eine Fehlermeldung kommt nicht in der Konsole, allerdings wird da auch nicht vermerkt, dass das Script gestartet wurde. Ist das richtig?