Автоплейлист

Список разделов Аудиоплеер foobar2000 Секреты foobar2000

Описание: Кнопочки, конфиги, секреты, советы.

Сообщение #1 Anatoly » 07.05.2006, 08:07

Вообщем не знаю можно ли это сделать или нет, но хотелось бы! Вопрос по сортировке файлов!

Хочу сделать своего рода ТОП самых поигруемых песен на плеере! т.е. сортировка по количеству проигранных раз! При этом это нужно сделать динамически... чтобы был плей лист где отображалось к примеру самые популярные комозиции набравшие больше 50 проигрований!

Проблема в том чтобы эту информацию собирал сам плеер!из своей базы! типа пененка набрала больше 50 балов и добавляется в этот плей лист!а в нем сортировка по количеству проигранных раз!
Изображение
Anatoly M
Автор темы, Бывалый
Возраст: 34
Откуда: Краснодар
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #2 Elzor » 07.05.2006, 08:16

autoplaylist тебе в помощь.
Скрипт (Query) для него будет выглядеть примерно так:

Код: Выделить всё
%PLAY_COUNTER% GREATER 50 OR %PLAY_COUNT% GREATER 50
Люди не знают, что лисы умеют лазить по деревьям, если очень сильно захотят. Вот белки - те знают.
(с) П.Бигл
Elzor M
Мастер
Аватара
Возраст: 35
Откуда: г. Орск
Репутация: 1
С нами: 10 лет 8 месяцев

Сообщение #3 Anatoly » 07.05.2006, 08:19

2Elzor ммм... туповат все же я! А по подробнее? как мне сделать для начало autoplaylist??? чет я не нашел! :(

ВСЕ НАШЕЛ!!!! ...пасибо!! РАБОТАЕТ!!!!
Последний раз редактировалось Anatoly 07.05.2006, 08:25, всего редактировалось 1 раз.
Изображение
Anatoly M
Автор темы, Бывалый
Возраст: 34
Откуда: Краснодар
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #4 Elzor » 07.05.2006, 08:32

Забираешь плагин autoplaylist здесь. Устанавливаешь его. Затем создаешь какой-нибудь плейлист. Потом идешь в главное меню->Library->Autoplaylist, откроется форма настройки. В запросе пишешь, то, что я выше привел. ВPlaylist to take over выбираешь свой плейлист. Нажимаешь Add autoplaylis и радуешься жизни.
ЗЫ: Медиабаза должна быть включена.


Ну вот пока писал ответ, сам разобрался...
Люди не знают, что лисы умеют лазить по деревьям, если очень сильно захотят. Вот белки - те знают.
(с) П.Бигл
Elzor M
Мастер
Аватара
Возраст: 35
Откуда: г. Орск
Репутация: 1
С нами: 10 лет 8 месяцев

Сообщение #5 Decard » 04.06.2006, 07:19

Мне вдруг пришла идея сделайть автоплейлист, из которого будут исключены песни проиграные за последние, например, 7 дней.
Решение нашел быстро. В foo_playcount, в том, что неофициальный, кроме накрученых разов проигрывания песни есть еще функция LAST_PLAYED.
Выходит такое значение для автоплейлиста, например для плейлиста, где песни прослушались 1 или больше раз - %play_counter% GREATER 0 AND %last_played% [glow=red,2,300]LESS ???  :o
Формат записи last_played такой - гггг-мм-дд чч:мм:сс, например - 2006-06-05 12:07:16
Вот я и не разберусь какое занчение поставить, пробывал простые числа, подошла толька 1 и то видимо это год или месяц, т.к. песни не появились через 1 день  %)
Может кто подскажет чего убрать/добавть?
Изображение
Decard M
Бывалый
Аватара
Возраст: 32
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #6 maxfl » 04.06.2006, 07:57

выдери оттуда построку mm, dd. И сделай так что бы получился номер дня с начала года. Если без геморроя, но с небольшой ошибкой mm*30+dd. Можно сравнивать :)

времени нету сейчас string писать. Так что прими совет ;)
maxfl M
Бывалый
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 7 месяцев

Сообщение #7 Decard » 04.06.2006, 08:29

Что-то не выходит, а как выдернуть сегодняшнюю дату, тогда можно было бы сравнивать ее с last_played.
Последний раз редактировалось Decard 04.06.2006, 08:39, всего редактировалось 1 раз.
Изображение
Decard M
Бывалый
Аватара
Возраст: 32
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #8 maxfl » 04.06.2006, 09:33

да, что-то я не подумал что foobar2000 не дает текущую дату.
А если ее вручную подставлять?

AND $substr(%last_played%,9,10) LESS $sub("число",7)
или
AND $add($mul($num($substr(%last_played%,6,7)),30),$num($substr(%last_played%,9,10))) LESS $sub($add($mul("месяц",30),"число"),7)

типа того :)
maxfl M
Бывалый
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 7 месяцев

Сообщение #9 Decard » 04.06.2006, 12:46

2maxfl
Спасибо конечно, но зачем все это высчитывать? Число я и руками могу поставить, например, %play_counter% GREATER 0 AND %last_played% LESS 2006-06-10, в таком случае в этом нет смысла.
Неужели никак нельзя выдернуть число?
Изображение
Decard M
Бывалый
Аватара
Возраст: 32
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #10 Dr.Death » 04.06.2006, 14:27

тут где то в теме про рейтинг в скирипте были переменные месяца и дня, но у меня они не работают 8))
Dr.Death M
Мастер
Аватара
Возраст: 33
Откуда: Тюмень
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #11 Mishail » 04.06.2006, 14:45

Эти переменные работают в Columns UI при включенной опции Make date info available
Последний раз редактировалось Mishail 04.06.2006, 14:48, всего редактировалось 1 раз.
Mishail M
Мастер
Аватара
Возраст: 37
Репутация: 5
С нами: 10 лет 8 месяцев

Сообщение #12 Dr.Death » 04.06.2006, 14:55

2Mishail хех, пасиб 8)
ну вот и делайте свои скрипты, ничего не мешает 8)
Dr.Death M
Мастер
Аватара
Возраст: 33
Откуда: Тюмень
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #13 Decard » 04.06.2006, 16:08

Стринг не могу сделать, пишу это
Код: Выделить всё
%play_counter% GREATER 0 AND $add($mul($right($left(%last_played%,7),2),30),7) LESS $add($mul(%_system_month%,30),%_system_day%)
В консоли отвечает - "ERROR : Invalid query."
Что надо, не пойму, все проверил 10 раз.
Изображение
Decard M
Бывалый
Аватара
Возраст: 32
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #14 Mishail » 04.06.2006, 16:18

2Decard
Я же написал, это работает в Columns UI, и только там, а не в Auto Playlist.
Mishail M
Мастер
Аватара
Возраст: 37
Репутация: 5
С нами: 10 лет 8 месяцев

Сообщение #15 Decard » 04.06.2006, 16:43

2Mishail
Тогда как быть-то?
Иные способы есть?
Изображение
Decard M
Бывалый
Аватара
Возраст: 32
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #16 Decard » 05.06.2006, 03:03

Может в Columns UI есть какая-то переменная, которая действительна во всем Фубаре? Тогда можно было бы в нее прописать дату, а в автоплейлисте дергать ее через эту переменную?
Изображение
Decard M
Бывалый
Аватара
Возраст: 32
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #17 Dr.Death » 05.06.2006, 08:24

2Decard ну если только $set_global() но не факт что везде работает
Dr.Death M
Мастер
Аватара
Возраст: 33
Откуда: Тюмень
Репутация: 0
С нами: 10 лет 8 месяцев

Сообщение #18 Mishail » 05.06.2006, 08:33

$set_global - это, опять же, работает только в Columns UI.
Mishail M
Мастер
Аватара
Возраст: 37
Репутация: 5
С нами: 10 лет 8 месяцев

Сообщение #19 Decard » 05.06.2006, 12:40

2Mishail
Попробывал, действиетльно хоть и "глобал", а работает только в Колумнсах.
Жаль, что не получается, так хотелось :(
Всем спасибо, может позже появится такая возможность.
Изображение
Decard M
Бывалый
Аватара
Возраст: 32
Откуда: Иркутск
Репутация: 0
С нами: 10 лет 8 месяцев

Заблокированные Пустые Автоплейлисты

Сообщение #20 Deathmaster » 16.12.2006, 14:49

Прочел на wiki.foobar2000.ru как создавать разделители между плейлистами в меню Playlist Switcher
Там был вот такой код :
$if($greater($len(%title%),0),
$if($strcmp(%title%,-),
$rgb(232,232,232,178,181,190)
$repeat($char(8212),100),
$if($strcmp($left(%title%,1),-),
$rgb(144,144,144)
$substr(%title%,2,$len(%title%)),
%title%
$tab()
$rgb(144,144,144)
%length%)))
Что надо добавить в него чтобы создать заблокированные плейлисты ,скажем используя модель NOT %filename% HAS “.”.Я хочу сгруппировать по стилям все плейлисты и разделители хочу сделать заблокированными .Можно ли вообще сделать так ,чтобы разделители не являлись плейлистами и вообще на них нельзя было кликать и нажимать ,т.е при переключении при помощи клавиатуры между ними чтобы выделение на них не попадало а тутже шло к последующему плейлисту ,чтобы он пропускался ,если можно так выразиться .
Deathmaster
Новичок
Репутация: 0
С нами: 10 лет 8 месяцев

След.

Вернуться в Секреты foobar2000