- Код: выделить все
global prelist
if (winamp.running && prelist == 1) Do
winamp.shuffle(0)
If (winamp.trackinfo("status_i") === "1") Do
local tlength = (winamp.trackinfo("length")*1000.0)
If (tlength>90000) Do
local tpos = winamp.trackinfo("pos")
local tpercent = 100*(tpos/tlength)
global tempdisable
If (tempdisable !== winamp.trackinfo("title", "noindex", "nostatus")) Do
If (tpercent>80.0 && tpercent<=85.0) Do
; winamp.playback("next")
*Window SendMessage WM_COMMAND 40048 0 c=winamp v1.x
; winamp.playback("fw")
; *Window SendMessage WM_COMMAND 40060 0 c=winamp v1.x
winamp.playback("seek", 5000)
ElseIf (tpercent>=20 && tpercent<=25) Do
winamp.playback("seek", ftos(tlength)/100*60)
Endif
Endif
Endif
Endif
Endif
Что делает - после прослушивания первых 20% песни пропускаем часть песни и продолжаем воспроизведение с отметки 60%. Дойдя до отметки 80%, покидаем песню, переходим к следующей, начиная ее воспроизведение не с начала, а с 5 секунд, куда обычно входит вступление, для оценки "тела" песни ненужное.
Скрипт помещается в таймер, запускаемый каждые 4 секунды (чаще запускать не нужно, реже - тоже).
Управляется двумя глобальными переменными: prelist и tempdisable
prelist = 1 - включить режим предварительного прослушивания
prelist = 0 - отключить
tempdisable позволяет выключить режим предварительного прослушивания для текущей песни. Для этого нужно выполнить:
tempdisable = winamp.trackinfo("title", "noindex", "nostatus")
Скрипт позволяет управлять не только собственно Winamp'ом, но и другими плеерами, которые маскируются под него. У меня работает под AIMP2. Именно из-за аимпа в скрипте присутствуют комментированные строчки - потому что под ним эти команды не работают.
Осталось добавить, что с помощью этого скрипта удалось разгрести большую кучу песен более чем в 2 раза быстрее, чем обычно. (как обычно, 99,9% ушло в трэш:))
Благодарность dAnIK SeNT за отличный плагин.