CoRnsilk

Список разделов foobar2000 Сборки Архив

Описание: Архив выпусков предыдущих сборок.

Сообщение #1 macarych » 18.07.2013, 22:53

cornsilk_logo.jpg


CoRnsilk v 25.11.2014

Двухпанельная организация интерфейса - выбор папок в библиотеке и плейлист, библиотеку можно менять на инструмент для скачивания и отображения обложек.
Нижняя панель, включаемая отдельно - выбор в библиотеке по обложкам.
Два размера окна, переключение - соответствующей "системной" кнопкой.
Панель регулировки громкости вызывается кнопкой.
Левый клик по строчке с метаданными - включение и выключение режима "полный экран".

скриншоты
Изображение

компоненты
foo_albumlist.dll (2014-10-28 22:48:24 UTC) Album List 4.5
foo_cdda.dll (2014-10-28 22:48:16 UTC) CD Audio Decoder 3.0
foo_converter.dll (2014-10-28 22:47:54 UTC) Converter 1.5
foo_cuefilter.dll (2014-10-30 12:52:06 UTC) CUE Playlist Filter 0.1.7.0
foo_dsp_eq.dll (2014-10-28 22:48:30 UTC) Equalizer 1.0
foo_dsp_std.dll (2014-10-28 22:48:16 UTC) Standard DSP Array 1.3
foo_fileops.dll (2014-10-28 22:47:16 UTC) File Operations 2.2.1
foo_freedb2.dll (2014-10-28 22:47:10 UTC) Online Tagger 0.7
foo_input_monkey.dll (2014-10-30 12:52:06 UTC) Monkey's Audio Decoder 2.1.6
foo_input_sacd.dll (2014-10-30 12:52:06 UTC) Super Audio CD Decoder 0.5.10
foo_input_std.dll (2014-10-29 13:50:36 UTC) Standard Input Array 1.0
foo_playcount.dll (2014-10-30 12:52:06 UTC) Playback Statistics 3.0.2
foo_rgscan.dll (2014-10-29 08:42:46 UTC) ReplayGain Scanner 2.2.1
foo_ui_columns.dll (2014-10-30 12:52:06 UTC) Columns UI 0.3.8.8
foo_ui_hacks.dll (2014-10-30 12:52:06 UTC) UI Hacks 2013-02-19
foo_ui_std.dll (2014-10-29 13:50:36 UTC) Default User Interface 0.9.5
foo_uie_albumlist.dll (2014-10-30 12:52:07 UTC) Album list panel 0.3.5
foo_uie_panel_splitter.dll (2014-10-30 12:52:07 UTC) Panel Stack Splitter 0.3.8.3(alpha)
foo_uie_wsh_panel_mod.dll (2014-10-30 12:52:07 UTC) WSH Panel Mod 1.5.6
foo_unpack.dll (2014-10-28 22:47:28 UTC) ZIP/GZIP/RAR Reader 1.7.1
foo_vis_vumeter.dll (2014-10-30 12:52:07 UTC) VU Meter 2013-02-16

CoRnsilk v 25.11.2014

Тема на cdpos.biz
Скачать foobar2000 RU CoRnsilk 07.11.2014
Последний раз редактировалось macarych 30.11.2014, 21:40, всего редактировалось 44 раз(а).
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев


Сообщение #41 macarych » 02.11.2014, 09:35

Yurnikos, формат информационной строки, думаю, сам поправишь? если понадобится.

Код: Выделить всё
// Flags
var DT_CENTER = 0x00000001;
var DT_VCENTER = 0x00000004;
var DT_SINGLELINE = 0x00000020;
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)); }
var g_font = gdi.Font("Segoe UI Semilight", 14);
var tf_string = ('[%artist% —] [%title%] $ext(%path%) [%playback_time%]');
var g_titlefmt = fb.TitleFormat("$if(%ispaused%,Paused  '//'  ,)[%artist% —] [%title%] %playback_time%  /  %length%");
var g_fileinfo = null;
var g_colors = new Array(RGB(214,214,190), RGB(214,214,190), RGB(139,136,120), RGB(139,136,120));
var g_drag = 0;
var g_drag_seek = 0;
var g_hover;
var g_bar = 0;
var Tooltip = window.CreateTooltip();
var start = true, stopped = false;
function TimeFmt(t){
    var zpad = function(n){
    var str = n.toString();
    return (str.length<2) ? "0"+str : str;
    }
    var h = Math.floor(t/3600); t-=h*3600;
    var m = Math.floor(t/60); t-=m*60;
    var s = Math.floor(t);
    if(h>0) return h.toString()+":"+zpad(m)+":"+zpad(s);
    return m.toString()+":"+zpad(s);
}
//
function on_paint(gr){
   var ww = window.Width;
   var wh = window.Height;
   var spos = 0;
   var length = fb.PlaybackLength;
   var volume = fb.Volume;
   var vpos = (window.Width / 5) * ((100+volume)/100);
   var stxt = fb.IsPlaying ? fb.TitleFormat(tf_string).Eval() : (stopped ? "STOP" : "Cornsilk")
   var vtxt = "Volume " + (Math.ceil(volume)) + " %";
   if(length > 0) {
        if ( g_drag && g_drag_seek && g_bar == 1) {
            spos = (window.Width - window.Width/5) * g_drag_seek;
         //stxt = fb.IsPlaying ? fb.TitleFormat(tf_string).Eval() : (stopped ? "STOP" : "----=== 1.3.5 ===----");
            stxt = "Seek " + TimeFmt(g_drag_seek * length) + " / " + TimeFmt(length);
        }
        else if ( g_drag && g_bar == 2) {
            vpos = (window.Width / 5) * ((100+volume)/100);
            vtxt = "Volume " + (Math.ceil(volume)) + " %";
        }
        if ( g_bar != 1 ) {
            spos = (window.Width - window.Width/5) * (fb.PlaybackTime / length);
            stxt = g_titlefmt.Eval();
        }
    }
    else if ( fb.PlaybackTime ) {
   }
    gr.FillSolidRect(0, 0, ww, wh, RGB(139,136,120));
    gr.FillGradRect( 0, 0, spos, wh, 90, g_colors[0], g_colors[2]);
    gr.FillGradRect( ww-ww/5, 0, vpos, wh, 90, g_colors[1], g_colors[3]);
    gr.FillGradRect(4*ww/5+vpos, 0, ww-vpos, wh, 90, RGB(139,136,120), RGB(139,136,120));
    gr.GdiDrawText(stxt, g_font, RGB(0,0,0), 0, 0, 4*ww/5, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText(vtxt, g_font, RGB(0,0,0), 4*ww/5, 0, ww/5, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    if( g_hover && !g_drag ) { Tooltip.Text = g_hover; Tooltip.Activate(); }
}

function on_size(){
}

function on_focus(focused){
   //fb.trace("focus " + focused);
}

function on_key_down(key){
   //fb.trace("key " + key);
}

function on_mouse_lbtn_down(x,y){
    g_drag = 1;
    if ( x <= 4*window.Width/5) g_bar = 1;
    else if ( x > 4*window.Width/5 ) g_bar = 2;
    on_mouse_move(x,y);

}

function on_mouse_lbtn_up(x,y){
    if( g_drag ) {
        if ( g_bar == 1 ) {
            g_drag = 0;
            g_drag_seek = x / (4*window.Width/5);
            g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
            fb.PlaybackTime = fb.PlaybackLength * g_drag_seek;
            g_bar = 0;
        }
        else if (g_bar == 2) {
            on_mouse_move(x,y);
            g_drag = 0;
        }
    }
}

function on_mouse_move(x,y) {
    if(g_drag) {
        if ( g_bar == 1 ) {
            g_drag_seek = x / (4*window.Width/5);
            g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
            window.Repaint();
        }
        else if ( g_bar == 2 ) {
            var v = x / (window.Width/5);
            v -= 4;
            v = (v<0) ? 0 : (v<1) ? v : 1;
            v = -100 * (1-v);
            if(fb.Volume != v)
            fb.Volume = v;
           }
        }
        else { if ( x <= 4*window.Width/5) {
            g_hover = x / (4*window.Width/5);
            g_hover = (g_hover<0) ? 0 : (g_hover<1) ? g_hover : 1;
            g_hover = TimeFmt( g_hover * fb.PlaybackLength );
        }
        else if ( x > 4*window.Width/5 ) {
            var v = x / (window.Width/5);
            v -= 4;
            v = (v<0) ? 0 : (v<1) ? v : 1;
            v = -100 * (1-v);
            g_hover = Math.ceil(v) + " dB";
        }
        window.Repaint();
    }

}

function on_mouse_leave() {
   Tooltip.Deactivate();
}

function on_mouse_wheel(delta){
    if(delta<0)
        fb.VolumeUp();
    else
        fb.VolumeDown();
}
//
function on_playback_starting(cmd, paused){
}

function on_playback_new_track(info){
   window.Repaint();
}

function on_playback_stop(){
   window.Repaint();
}

function on_playback_seek(time){
   window.Repaint();
}

function on_playback_pause(state){
   window.Repaint();
}

function on_playback_edited(){
}

function on_playback_dynamic_info(){
}

function on_playback_dynamic_info_track(){
}

function on_playback_time(time){
   window.Repaint();
}

function on_volume_change(val){
   window.Repaint();
}

//EOF




phpBB [media]
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Сообщение #42 kgena_ua » 02.11.2014, 11:21

macarych, исходя из того, что многие пользователи используют плейлисты, которые сами создают, может есть смысл добавить панель Playlist switcher, дав возможность запускать или из библиотеки или из списка плейлистов.
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Аватара
Возраст: 59
Откуда: Украина, Днепр
Репутация: 504
С нами: 10 лет 5 месяцев

Сообщение #43 macarych » 02.11.2014, 12:11

kgena_ua, может и имеет, только сначала придется разбираться, я с ней не знаком.
Время нужно, а я для русской версии диалоги меню в WSH-плейлисте все еще никак не закончу переводить.
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Cornsilk

Сообщение #44 Yurnikos » 02.11.2014, 12:13

macarych:Yurnikos, формат информационной строки, думаю, сам поправишь?
Сначала опять "спасибо", попытаюсь . . .
Если будем "дорабатывать" - то:
Для радио, опять-же,
Верхняя панель, после "черепа" - три знака " ? " - напоминают defoult-вариант от Создателя,
при отсутствии заполненных тегов = те-же знаки " ? " вместо Артист - Название.
Где, которая панель "отвечает" за этот вывод?
Мои "наработки":
Радио: %artist%="?" %album artist%="?" %title%=Имя станции %discid%=?
%filename%=Имя станции %_filename%=Имя станции %filename_ext%=Имя станции
Для АудиоСд:
%filename%=%filename_ext%=Serial#=0143234C; {это %discnumber%}
%discid%="?", %disckid%=CDDB="?" {9811590A} ,
где "0143234C" - реальный АудиоСд {%discnumber%}, который выводит даже "Far"
Yurnikos
Гость

Сообщение #45 macarych » 02.11.2014, 12:43

Yurnikos:Где, которая панель "отвечает" за этот вывод?
ПКМ, например, по черепу и открываешь скрипт PSS, красным выделил:

//Cornsilk 26.10.2014 by macarych
//
$set_ps_global(img_path,%ps_foobar2000_path%\themes\cornsilk)
$textbutton(0,0,1,1,,,COMMAND:Справка/О программе)
$drawrect(0,0,%ps_width%,28,238-232-205,0-0-0)
$drawrect(0,27,%ps_width%,$sub(%ps_height%,27),238-232-205,0-0-0)
$fillrect(1,28,$sub(%ps_width%,2),$sub(%ps_height%,29),139-136-120)
$drawrect(8,60,$sub(%ps_width%,16),$sub(%ps_height%,86),238-232-205,0-0-0)
$drawimage(2,2,24,24,%img_path%\foo.png,nokeepaspect,,)
//
$if(%isplaying%,
$drawtextex([%length% %artist% - %tracknumber% %title%.$ext(%path%)],32,0,$sub(%ps_width%,36),28,0-0-0,vcenter end_ellipsis If you clip text),
$drawtextex(foobar2000,32,0,$sub(%ps_width%,36),28,0-0-0,vcenter end_ellipsis If you clip text)
)

$drawimage($sub(%ps_width%,112),0,107,21,%img_path%\sysb.png,nokeepaspect,,)
//


Мне времени не хватило поправить в сборке, я лишь дал тебе скрипт что просил.
Когда все изменения, большей частью в русской сборке, будут готовы - будет обновление, синхронно в обоих вариантах.
Вроде бы времени вагон, два дня праздников, но на меня уже жена наезжает "выкинь елку, да выкинь елку, у людей праздник - 8 марта..." "уйди от компьютера, да уйди от компьютера" ))
Последний раз редактировалось macarych 02.11.2014, 12:56, всего редактировалось 1 раз.
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Сообщение #46 freedom1917g » 02.11.2014, 12:55

С 1.3.5 версией плеера ожидается сборка Cornsilk RU?
freedom1917g
Репутация: 2
С нами: 14 лет 9 месяцев

Сообщение #47 macarych » 02.11.2014, 12:58

freedom1917g, само-собой, будет в формате не привязанном к версии ядра - аддон.
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Cornsilk

Сообщение #48 Yurnikos » 02.11.2014, 13:24

macarych:ПКМ, например, по черепу и открываешь скрипт PSS
Премного благодарен!
Получилась такая строка:
Спойлер
$if(%isplaying%,
$drawtextex([%length%] [%artist%] [- %tracknumber%] %filename% $ext(%path%),32,0,$sub(%ps_width%,36),28,0-0-0,vcenter end_ellipsis If you clip text),
Дополнил сик-бар строкой шрифта AGOpus (как раз для рус-версии, не знаю, откуда скрипт его будет брать!
у меня AGOpus установлен и в системе; для верности "загнал" и в папку фу с "Cornsilk"):
var g_font = gdi.Font("AGOpus", 17, 0);
//var g_font = gdi.Font("Segoe UI Semilight", 14);

Добавлено спустя 12 минут 16 секунд:
macarych:ПКМ, например, по черепу и открываешь скрипт PSS
Нормально, нормально, спасибо!

Спойлер
Просто, вычитал про тебе благодарности за "Cornsilk 26.10.2014",
решил помочь вопросами пошлифовать сборку, раз оная понравилась некоторым . . .
Извинения тож принимаю, только . . . тут любого домашние террозируют,
включая меня , "пинзинера 70-ти годов"!
Yurnikos
Гость

Сообщение #49 macarych » 02.11.2014, 13:51

Yurnikos, любой не установленный в системе шрифт подхватится фубаром если положить его в папку foobar2000/fonts

Добавлено спустя 1 час 15 минут:
Русскую версию обновил, займусь английской.

Добавлено спустя 8 часов 3 минуты:
В поисках чем заполнить пустое место замастрячил вот такую "линейку"..... ХЗ :think:

линейка.jpg


Добавлено спустя 1 день 23 часа:
Пока что не нашел ничего лучше чем приделать мелькалку на свободное место.
Может есть пожелания и предложения?
Одно предложение я помню - переключатель плейлистов, ещё?

99.jpg
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Сообщение #50 MC Web » 04.11.2014, 22:57

Изображение
MC Web
Репутация: 248
С нами: 10 лет 1 месяц

Сообщение #51 macarych » 04.11.2014, 23:22

хм, почему бы и нет, в принципе приемлемо
Только от скрипта прогресса-громкости придется избавится, если не получится решить одну проблему: при наведении на него курсора, замерзают другие видимые, в этот момент, визуализации, причем любые.
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Сообщение #52 Yurnikos » 05.11.2014, 00:20

macarych:Только от скрипта прогресса-громкости придется избавится,
. . . а я только что облюбовал этот сик+вол . . .
даж "закрыл глаза" на его цвет "детского . . .", а ты . . . :ill: ,
а про замерзание не заметил, тк у меня всего одна, нет две вш-панели.
а место - бы я, если смог, использовал под доп. кнопы и дефоултную "мелькалку" пятиканала уровня (там от моно до 5 каналов)
Yurnikos
Гость

Сообщение #53 macarych » 05.11.2014, 07:23

Юрий Николаичь, в этом тоже дофига.

2014-11-05_072147.jpg
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Сообщение #54 AHAPXICT » 05.11.2014, 07:44

macarych, вот же я невнимательный, сначала на "девиан арте" нашёл, а потом - ну как всегда короче :smile: . Хорошая работа. Уже установил. Хотел спросить, а зачем функция в PSS - Enable Resizable Border? У себя по отключал, так нечего не изменилось, кроме как при кликах на кнопки стрелочки пропали.
Media Library it's bad - explorer it's good!
AHAPXICT M
Аватара
Возраст: 52
Откуда: Киев
Репутация: 252
С нами: 9 лет 10 месяцев

Сообщение #55 macarych » 05.11.2014, 11:06

AHAPXICT:а зачем функция в PSS - Enable Resizable Border?
Если не ошибаюсь, эта фича у Алекса была задействована (как сейчас не знаю), если ее включить, рядом, в соответствующем окошке указать размер, то в CUI+PSS можно мышой двигать панели, их границы. Как точно там все устроенно не знаю, я только в сборке Алекса раздвигал мышью PSS, реально работает.
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Сообщение #56 Yurnikos » 05.11.2014, 11:38

macarych:Юрий Николаич
И я невнимателен, недопонял как скачать твою последнюю версию "фу-морд
Спойлер
Yurnikos:и дефоултную "мелькалку" пятиканала уровня
- ну это, у тебя, имхо, не дефоултная-же!? :sad: .
И ещё: пропали (или я бестолков настолько!) функции треков плейлиста "Copy","Paste","Crop"
ЗЫ. Извини, без "Ь", плииииззз, мне скоро 71, ежели уж на то пошлО - просто "Николаич",
как-то непривычно, по имени и отчеству,
как правило, от тех, кто меня по имени-отчеству, - жду "подвоха"! :eek: :silenced:
как-то так.
ЗЫЗЫ. Имя "Макарыч" = мне очень "импонирует!"
и я фубаром увлёкся c версии 0.8.3 . . .
Yurnikos
Гость

Сообщение #57 macarych » 05.11.2014, 13:10

Yurnikos:не дефоултная-же!
Нет, Николаич, я только планирую ее добавить.

Добавлено спустя 8 часов 17 минут:
Пока что промежуточный вариант для тестирования.

Изображение

test.zip
macarych M
Автор темы
Аватара
Репутация: 417
С нами: 14 лет 8 месяцев

Сообщение #58 AHAPXICT » 06.11.2014, 01:43

macarych, спасибо что подсказали, а то бывает снимешь галочку и потом голову ломаешь откуда "траблы" берутся. Раньше так вообще страшно было панели со скриптами открывать, зато теперь сразу лезу настраивать. Это я к чему, расширил панельки CSP и выключил в них псевдо прозрачность и всё получилось в "колоре".
Код: Выделить всё
$movepanel_c(CSPL,4,3,296,19)
$movepanel_c(CSPR,302,3,296,19)
Хотя это у вас всё равно тестовый вариант :smile:
Media Library it's bad - explorer it's good!
AHAPXICT M
Аватара
Возраст: 52
Откуда: Киев
Репутация: 252
С нами: 9 лет 10 месяцев

Cornsilk

Сообщение #59 Yurnikos » 06.11.2014, 02:51

AHAPXICT:зато теперь сразу лезу настраивать
А если ещё, в сик баре, вставишь код:
Код: Выделить всё
var g_font = gdi.Font("AGOpus", 17, 0);
//var g_font = gdi.Font("Segoe UI Semilight", 14);
Получишь русские буковки вместо "кракозябрей" {ежели в Оси, или в папке /fonts будет шрифт "AGOpus"}
Yurnikos
Гость

Сообщение #60 AHAPXICT » 06.11.2014, 03:32

Yurnikos, так там и так русские, Segoe UI light поддерживает кирилицу, а вот AGOpus у меня в системе нет))
Media Library it's bad - explorer it's good!
AHAPXICT M
Аватара
Возраст: 52
Откуда: Киев
Репутация: 252
С нами: 9 лет 10 месяцев

Пред.След.

Вернуться в Архив