0 Members and 1 Guest are viewing this topic.
procedure Execute(var State: Integer);var PL: TComponent; begin PL:= FindObject('Playlist'); PL.Set('Resources.ItemLine1Fonts.Normal.Name', 'Arial'); PL.Set('Resources.ItemLine1Fonts.Normal.Color', $FF0000); PL.Set('Resources.ItemLine1Fonts.Normal.Height', 14); PL.Set('Resources.ItemLine1Fonts.Normal.Style', '[fsBold, fsItalic]');end;
procedure Execute(var State: Integer);var N: Integer; begin with FindObject('prvEqualizer') do for N:= 1 to 18 do Set('BandValue' + IntToStr(N), 0);end;
procedure Execute(var State: Integer);begin FindObject('Panel').Set('Color', HSLToColor(State / 360, 1, 0.5))end;
procedure Execute(var State: Integer);const Step = 10; begin FindObject('Panel').Set('Color', HSLToColor(State * Step / 360, 1, 0.5))end;
PS:= FindObject('prvPlayerState'); Pt:= PS.Get('Position'); - текущая позиция в треке Pm:= PS.Get('PositionMax'); - продолжительность трека
case PS.Get('State') of 'opsStop': begin {Ваш код для обработки этого состояния} end; 'opsPlay': begin {Ваш код для обработки этого состояния} end; 'opsPause': begin {Ваш код для обработки этого состояния} end; end;
procedure Execute(var State: Integer);begin FindObject('prvTempo').Set('Position', 1); FindObject('prvSpeed').Set('Position', 1); FindObject('prvReverb').Set('Position', 0); FindObject('prvFlanger').Set('Position', 0); FindObject('prvPitch').Set('Position', 0); FindObject('prvTrueBass').Set('Position', 0); FindObject('prvEcho').Set('Position', 0); FindObject('prvEnhancer').Set('Position', 0); FindObject('prvChorus').Set('Position', 0); FindObject('prvBalance').Set('Position', 0)end;
... жаль не проект
...ни у кого интереса не вызвало...
Переключение темы по расписанию.
У на с же есть в распоряжении провайдер prvSystemTime
Изменять время лучше всего вращением колеса над меткой.
... Да, я потому и спрашивал ранее про SliderMasked, просто тут не стал уже делать.
Очень хотелось бы возможность менять тему на светленькую ( а если совсем наглеть то и настройки фонового цвета и цвета шрифта)
- Change the color of album groupe name ? Actually the grey is very simlilar to the background and make hard to read the name. Maybe an option in pannel option of skin ?
Обложка очень нравится, жаль до идеала не дотягивает по нескольким пунктам:1. Нельзя растянуть по ширине (см. скрин)2. Показывается мало плейлистов3. Хотелось бы уменьшить вертикальные зазоры
3. 4.
Приветствую! Спасибо за обложку!И такая просьба. У меня ноут, экран небольшой и название 3-го по списку плэйлиста постоянно обрезается
Здрасти. А можно сделать что-то типа компактного режима? Пикрелейтед.
It would be nice if the next version had these features!1. Visualization of the waveform of the track in execution and of the following trace, of large dimensions as well as possibility of zooming of the waveform;
- Custom image for background of top header is possible ? Or if is too long or difficult, more choice of background. But i like actual girls.
Пример использования новых элементов AIMP5 и немного "хитрого" биндинга.
Этот эффект в своих скина я назвал "Радугой", использовался для подсветки индикаторов в УМ. В данном примере панель меняет циклически свой цвет, проходя все оттенки цветового круга.Code: [Select]procedure Execute(var State: Integer);begin FindObject('Panel').Set('Color', HSLToColor(State / 360, 1, 0.5))end;Таймер с периодом 100 мс подключен к скриптовому счётчику с модулем 360. Весь цикл при этом занимает 36 с. Кому-то, возможно, это покажется слишком долго, тогда можно уменьшить модуль счёткика.В этом примере модуль = 36Code: [Select]procedure Execute(var State: Integer);const Step = 10; begin FindObject('Panel').Set('Color', HSLToColor(State * Step / 360, 1, 0.5))end;
procedure Execute(var State: Integer);var Vol, Bal: TComponent; VL, VR: Integer; begin Vol:= FindObject('prvVolume'); Bal:= FindObject('prvBalance'); VL:= FindObject('VolumeLeftCounter').Get('Position'); VR:= FindObject('VolumeRightCounter').Get('Position'); Bal.Set('Position', Round(VR-VL)/100); If VL > VR then begin Vol.Set('Position',(VL/100)) end else begin Vol.Set('Position',(VR/100)) endend;
Давно мозг сверлила мысль: а как бы разделить регулировку громкости на два регулятора ...
... но вот как организовать "обратную связь", чтобы положение ползунков соответствовало состоянию prvVolume и prvBalance, регулируемыми штатными средствами?
Молодец! +1Завести связи с prvVolume.Progress и prvBalance.Progress на тот же коммутатор, только надо модуль срипт. счётчика увеличить воизбежание недоразумений при суммировании.Это просто заблокирует действия пользователя при попытках изменить громкость и баланс. Скрипт немного причесал.Собственно, самих регуляторов громкости и баланса в скине может и не быть, в примере оставлены для наглядности.
Не совсем понял. Общий скролл громкости от мыши тоже блокирован, на слайдерах Л и П он работает.
Вариант с блокировкой неприемлем, поскольку, как я думаю, громкость чаще всего регулируют именно скроллом.
А, по-моему, для реального аппарата, где два раздельных регулятора, самое то. Для скинов Hi-Fi тематики это вполне приемлимо, зачем тогда изображать эти регуляторы, если их никто не будет таскать мышкой.
Если ты хочешь скроллом регулировать общую громкость, то надо ещё обрабатывать и такие ситуации, когда в одном из каналов уровень упрётся в максимум, а во втором будет меньше, баланс тоже надо соблюдать.
Давно мозг сверлила мысль: а как бы разделить регулировку громкости на два регулятора, что имеет место быть в некоторых магнитофонных скинах.Разделить-то ума хватило, может и коряво,но вот как организовать "обратную связь", чтобы положение ползунков соответствовало состоянию prvVolume и prvBalance, регулируемыми штатными средствами?
Логично, но предвижу жалобы, что скролл на громкость не работает.
Расчет громкости и баланса немного поправил, там получалось, что ползунок левого канала немного менял громкость и в правом канале (и наоборот). Но при логарифмической громкости всё равно будет работать не совсем корректно.Добавил расчет значения счетчиков, блокировку от зацикливания сделал на таймерах - вроде работает.
Ну, никто же не жалуется, что та же перемотка от клавиатуры не работает.
Спасибо! Принцип, насколько я успел понять, совсем иной. Буду вникать.
Есть еще вариант без таймеров - разделить каждый слайдер на два слайдера: прозрачный, который будет управлять громкостью и балансом, а под ним видимый, но недоступный пользователю, для "обратной связи". Но там свои загвоздки могут быть.
Хот-кеи по умолчанию Ctrl+Стрелки. Сам трек перематывается, бобины не крутятся.
Да, есть такой косяк.
Правда, я хоткеями пользуюсь крайне редко (в основном включение/выключение шаффла)...
... о перемотке даже не помышлял, за ненадобностью.
А зачем тогда вообще надо было реализовывать перемотку? А если дальше рассуждать, то тогда зачем изобретать подобные скины? Поставь обои на рабочий стол со всякой аудиотехникой, запусти плеер с дефолтным скином - то же самое удовольствие получишь.
Думаю, в OnLoadedScript надо прописать что-то типа обновления этих данных...
Поправил