Список разделов › foobar2000 › Сборки › Релизы сборок
freedom1917g:)Если ещё сделать к нему имитацию стекла будет просто сказка.
Хорошая идея.macarych:в режиме "stop" окно плеера становится "черно-белым".
Верно, так лучше, поправил.freedom1917g:Чуть по ярче подсветку надписей при наведении курсора можно сделать и было бы замечательно.
Это я забыл свои настройки убрать. Исправил, файл перезалил.freedom1917g:По умолчанию в dsp стоит прогрессивный ограничитель.Какие функции он выполняет?
Для достижения максимального качества установите плагин SoX Resampler и выставьте в его настройках максимальную частоту дискретизации, которую аппаратно поддерживает Ваша звуковая карта. После плагина SoX resampler в список активных плагинов обязательно добавьте Advanced Limiter - этот плагин позволит предотвратить клиппинг, «на лету» занижая уровни участков звукового потока которые в результате ресемплинга сигнала (или другой обработки) могут оказываться выше максимального уровня.
нет, не буду.freedom1917g:Да можно вам ещё попробовать сделать сборку в стиле винтажной техники.Сборка ретро на opk неплохое цветовое решение подобрано и аналоговые vu-метры весьма к стати придутся.
// @author "VU Meter component/object by DRON, jscript by Br3tt aka Falstaff >> http://br3tt.deviantart.com"
// @adapted - San_dr
window.MaxHeight=window.MinHeight=25;
ColorTypeCUI = {
background: 1,
textcolor: 0
};
function RGB(r, g, b) { return (0xff000000 | (r << 16) | (g << 8) | (b));
};
function RGBA(r, g, b, a) { return ((a << 24) | (r << 16) | (g << 8) | (b));
};
// VUMeter Object
VUMeter = new ActiveXObject("VUMeter");
VUMeter.RegisterWindow(window.ID);
// Globals
var ww = 0, wh = 0;
var g_backcolor = 0;
var g_textcolor = 0;
var g_syscolor = 0;
var COLOR_BTNFACE = 15;
var tooltip_timer = false;
function get_colors() {
g_backcolor = RGB(0,0,0);
g_syscolor = utils.GetSysColor(COLOR_BTNFACE);
g_textcolor = window.GetColorCUI(ColorTypeCUI.textcolor);
}
get_colors();
function on_size() {
ww = window.Width;
wh = window.Height;
};
function on_paint(gr) {
D=(ww-43)/21
N=wh/12;
L=VUMeter.LeftLevel;
R=VUMeter.RightLevel;
LM = VUMeter.LeftPeak;
RM = VUMeter.RightPeak;
// create draw area
// fill bgcolor
gr.FillSolidRect(0, 0, ww, wh, g_backcolor);
// Draw Peak
// left peak
var i = -D;
while (i < ww*LM+1) {
var g_leftcolor = ( i>14*D+28 && i < 16*D+32) ? RGB(225,150,20) : (i > 16*D+32 && i <18*D +32 ) ? RGB(225,150,20) : (i > 18*D +32) ? RGB(255,55,0) : RGB(225,150,20) ;
gr.FillSolidRect(i, 0, D, 5*N+1, g_leftcolor);
i = i +D+2;
}
// right peak
var k = -D;
while (k < ww*RM+1) {
var g_rightcolor = ( k>14*D+28 && k < 16*D+32) ? RGB(225,150,20) : (k > 16*D+32 && k <18*D +32 ) ? RGB(225,150,20) : (k > 18*D +32) ? RGB(255,55,0) : RGB(225,150,20) ;
gr.FillSolidRect(k, 7*N-1, D, 5*N+1, g_rightcolor);
k = k +D+2;
}
// left level
gr.FillGradRect(0, 0, ww*L, 5*N+1, 0, RGBA(0,0,0,177), RGBA(225,150,20,227), 1);
gr.FillSolidRect(ww*L-3, 0, 4, 5*N+1, RGB(255,55,0));
// right level
gr.FillGradRect(0, 7*N-1, ww*R, 5*N+1, 0, RGBA(0,0,0,177),RGBA(225,150,20,227), 1);
gr.FillSolidRect(ww*R-3, 7*N-1, 4, 5*N+1, RGB(255,55,0));
// background
gr.DrawRect(0, 0, ww, wh,4, g_backcolor);
}
function on_colors_changed() {
get_colors();
window.Repaint();
}
Чтобы слишком не мельтешило, можно совместить твой компактный тонкий вольюмбар с пикметром суммы каналов в нем же, в той же полоске. Должно по идее смотреться неплохо. По глазам уж точно бить не будет.macarych:Мне, лично, сомнительно, излишне мельтешит.