0 Members and 3 Guests are viewing this topic.
Это к тому, что надо ещё и колонки сюда добавить? Боюсь, что в таком масштбе весь этот гарнитур и на UHD не войдёт.
... однако очень не хватает навигации по треку. Или она там есть?
Не, не дело это превращать развлекушку в ЦУП, никто не захочет крутить эти регуляторы, да ещё наобум. Надо набрать статистику по разным трекам по границам диапазонов, по уровням, найти что-то среднее и оставить минимум регулировок, раз уж не добиться нам хорошего разделения каналов.Ты так и не ответил - удалось что-то конкретное накрутить?
... вот что у меня получилось.И это именно о такой цветомузыке я мечтал! Спасибо, Александр!
А мне-то за что? Ты же трудился, а я только тренажёр и собрал, а там думать особо ничего не надо.
Это диво у меня проц загрузило, как ни один другой скин, по ядрам даже не понять, страшные скачкИ, общая нагрузка на процесс до 45% доходит! Скорее всего из-за большой перерисуемой площади.Я так и не понял: ты использовал гауге или аниматоры, что-то перемещается в зависимости от уровня?
... Я в твоём-то скрипте не понимаю откуда ты взял GetMaxValue и все его параметры, и как они меж собой складываются ли, перемножаются - влияя на прозрачность панелей...
Если честно, то про загрузку ЦП я вообще не думал. Посмотрел сейчас - монитор показывает для AIMP в среднем 30%.
Перед основным скриптом объявлена локальная функция:function GetMaxValue(Level, Channel, FirstIndex, LastIndex: Integer): Integer;Level - значение счётчика, связанного с соответствующим регулятором;Channel - канал: левый, правый или общий;FirstIndex, LastIndex - начальный и конечный индекс массива спектрума, функция по ним ищет максимальное значение. Они определяют диапазон частот.Результат функции - значение прозрачности для панелей.Делается это для того, чтоб не повторять несколько раз один и тот же код, а вызывать в нужном месте эту функцию.Кстати, если ты выкинул все регуляторы, то функцию можно упростить: Level (если он для всех диапазонов одинаковый) и Channel (он равен 2) выкинуть.
V:= V * Level * ...
Так вот и странно, если нет никакой анимации, то почему твой проект так грузит проц? В тренажёре размер окна не намного меньше, но с ним нагрузка практически никакая, лишь изредка выскакивают 3%.
Level для каналов всё же разный. Синий канал на максимуме, зелёный и красный = 3, но значения для компрессированного варианта выше - 11.
Ну, тогда у тебя упростится обращение к той функции, можно просто подставить конкретные значения: FindObject('Panel_Red').Set('BlendingModeOpacity', GetMaxValue(3, 2, 50, 100));
Только раделение: зелёный /синий сместил на 130, мне показалось, так лучше.