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
С нами: 15 лет 2 месяца


Сообщение #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
С нами: 15 лет 2 месяца

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

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

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

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

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
С нами: 15 лет 2 месяца

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

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

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

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

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
С нами: 15 лет 2 месяца

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

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

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

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

Сообщение #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
С нами: 15 лет 2 месяца

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

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

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

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

Сообщение #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
С нами: 15 лет 2 месяца

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

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

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 у меня в системе нет))
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 10 лет 4 месяца

Пред.След.

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