foobar2000
Инструменты пользователя
Инструменты сайта
Содержание
Создание цветовой схемы
В этой главе мы добавим цветовую раскраску к нашей текстовой информации. Мы разработаем структуру нашей цветовой схемы таким образом, чтобы упростить добавление дополнительных наборов цветов. В результате для добавления нового цветового набора будет достаточно определить все необходимые цвета лишь в одном месте.
В первую очередь мы определим начальный набор цветов. Конечно же, от Вас не требуется определить каждый цвет до того, как Вы начнете создавать цветовой скрипт. Мы же не можем знать заранее абсолютно все, что нам понадобится. Мы рассмотрим полное определения цветов в одном месте, что позволит нам избежать постоянных возвращений к началу скрипта при определении новых цветов
Определение цветов.
Перейдите к вкладке Globals в разделе Playlist view настроек Columns UI и выберите вкладку Variables. Здесь уже есть несколько наших строчек: код для определения альбомных трэков. Теперь добавьте туда эти строки:
Вам уже должна быть знакома функция $set_global , которая определяет глобавльные переменные для всего дизайна. Для того чтобы определить наши цвета, мы используем эту функцию в сочетании с $rgb() . $Rgb() в качестве аргументов принимает 3 числа, соответствующие красному, зеленому и синему компонентам цвета. Это обычный метод определения цветов в модели RGB. Внизу окна ввода, возле кнопки Tools, есть кнопка … , которая вызывает стандартный диалог Windows для выбора цветов.
Теперь давайте взглянем на каждый цвет в отдельности.
cTxtStd : Цвет обычного текста. Т.к. 255 это максимальное возможное значение для каждого из цветовых компонентов, то (255,255,255) означает ярко-белый цвет.
cTxtSel : Цвет выделенного текста. Используется для отображения выделенных в плэйлисте строк.
cTxtTrk : Цвет текста в столбце Track . Черный. Для этого столбца будет использоваться светло-серый цвет фона (см. ниже), поэтому белый цвет текста здесь неуместен. Так же мы будет использовать этот цвет для первых пяти строк в столбце Album/Artist .
cTxtVA , cTxtVA1 , cTxtVAPlay : Цвет текста для имен исполнителей в столбце Track . Мы будем использовать его при отображении сборников различных исполнителей, когда столбец Track будет содержать так же и имя исполнителя. Этот цвет будет служить для визуального различения имени исполнителя и названия композиции. Как Вы уже заметили, в этих строках функции $rgb() имеют шесть аргументов, не пугайтесь, это обычный способ определения двух цветов за один раз. Первые три аргумента определяют цвет текста, вторая тройка аргументов определяет цвет выделенного текста. В нашем случае это темно-красный для обычного текста и ярко-красный для выделенного текста. В следующих главах мы рассмотрим различия между этими тремя переменными.
cTxtDim : Светло-серый цвет текста для неяркого отображения нулей в столбце с номером трэка.
cTxtPlay : Цвет текста, используемый для подсветки текущей проигрываемой композиции. Он понадобится нам только в следующей главе.
Это следующая часть нашего скрипта, определяющая цвета фона. Также вставьте эти строки в окно Variables.
cBgStd : Стандартный цвет для фона. Черный.
cBgSel : Цвет фона для выделенных строк. Тот же темно-красный что и cTxtVA .
cBgTrk : Это уже упомянутый нами выше светло-серый цвет фона для столбца Track .
cBgAlt : Альтернативный темно-серый цвет фона. Мы будем использовать его для одной фишки, по которой сходит с ума очень много народу: чередование цветных строчек в плэйлисте, на манер iTunes.
cBgPlay : Умеренно-серый цвет фона для подсветки текущей проигрываемой композиции. Так же как и cTxtPlay понадобится нам только в следующей главе.
Эта строка задает умеренно-красный в качестве цвета рамок, которые являются границами ячейки плэйлиста. Если Вы разделите строки плэйлиста столбцами, то получите набор из ячеек, подобный тому что Вы видите в программах табличной обработки (напр. Excel). Каждая сторона такой ячейки может иметь цветную рамочку. Мы будем использовать эту возможность для рисования границ между альбомами.
Создание глобального цветового скрипта
Переключитесь на вкладку Style. Здесь мы введем цветовой скрипт, который будет применяться ко всем столбцам.
Команда для установки цветов называется $set_style() . В первую очередь определим с помощью нее цвета текста.
pre class = «code» > $set_style( b > text / b > ,$get_global(cTxtStd), b > $get_global(cTxtSel) / b > ) / pre >
Параметр text сообщает Foobar2000 о том что эти цвета нужно использовать в качестве цветов для текста. Затем мы используем наши глобальные переменные для получения значений цветов для обычного (cTxtStd) и выделенного текста (cTxtSel). В следующем шаге мы устанавливаем цвета фонов.
pre class = «code» > font color = «#808080» > $set_style(text,$get_global(cTxtStd),$get_global(cTxtSel)) / font > $set_style(back ,$ifequal($mod(%_playlist_number%,2),0,$get_global(cBgStd),$get_global(cBgAlt)) ,$get_global(cBgSel) ) / pre >
Принцип такой же как и в предыдущем примере. Мы используем back для того чтобы указать, что мы устанавливаем цвета фонов, и затем указываем значения цветов, по аналогии с предыдущим примером, это цвета фона для обычного и выделенного текста. Будьте внимательны при разбивке команд $set_style() на несколько строк, как в этом примере. Запятая обязательно должна находиться в начале строки!
C помощью длинной строки, включающей в себя выражение $ifequal() , мы достигаем эффекта чередующихся цветных строк a-la iTunes в плэйлисте. Посмотрим на нее более внимательно.
pre class = «code» > font color = «#808080» > $set_style(back / font > ,$ifequal( b > $mod(%_playlist_number%,2) / b > ,0, $get_global(cBgStd), $get_global(cBgAlt)) font color = «#808080» > ,$get_global(cBgSel) / font > ) / pre >
Мы не может узнать цвет фона предыдущей строки из-за того, что Tagz работает по принципу «строчка за строчкой». Поэтому единственный способ идентифицировать определенную строку в плэйлисте это использовать %playlist_number% , который просто считает строчки сверху вниз.
Вместо того чтобы сказать Используй другой цвет, нежели на предыдущей строке мы используем номер строки и говорим Используй черный для всех строк с четными номерами и темно-серый для строк с нечетными номерами. Результат получаем идентичный.
Мы можем определить четность или нечетность номера строки, используя функцию $mod(x,y) , которая делит x на y и возвращает остаток от деления. Например, 11 поделенное на 2 равно 5 и остаток равен 1, поэтому $mod(11,2) вернет 1. Деля номер строки на 2 и смотря на остаток, мы можем сказать четная строка или нет.
$Ifequal() сравнивает равен ли остаток от деления нулю — что справедливо для четных чисел — и устанавливает цвет фона в cBgStd (черный). В противном случае (для нечетных строк) цвет фона будет темно-серым ( cBgAlt ).
И этим мы завершаем наш глобальный цветовой скрипт. Все остальное будет сделано с помощью корректировок в отдельно взятых столбцах. Но перед этим нам нужно установить несколько других глобальных значений.
Перейдите на вкладку Colours and Fonts и измените оба шрифта в секции Fonts на Franklin Gothic Medium, 9pt (или на любой другой, который Вас больше устраивает). Затем поставьте галочку Use custom colours и для Background установите черный. Это гарантирует нам что когда в плэйлитсте будет всего несколько трэков, то цвет остальной части плэйлиста будет черный.
Здесь же установите галочку Use custom active item frame и установите этот цвет в черный. Этот значение определяет цвет рамки вокруг текущего выбранного элемента плэйлиста, и обычно (если явно не определено) это инвертированный цвет фона, что смотрелось бы очень некрасиво в нашем дизайне.
Столбец Artist/Album
Вернитесь на вкладку Columns, выберите столбец Artist/Album и активируйте вкладку Style. Это место для определения цветового скрипта, так же как и вкладка Globals, но скрипт определенный здесь будет применятся только к указанному столбцу. И снова нам не нужно полностью определять цветовую схему, потому что Fooobar2000 автоматически применяет глобальные значения для всех значений цветов которые мы не указали явно.
С первого взгляда цветовой скрипт для этого столбца кажется достаточно сложным. И, конечно же, нам предстоит много чего сделать в этом столбце. Снова посмотрим на скриншот законченного дизайна. Вот что нам нужно реализовать в столбце Artist/Album :
Первая часть скрипта позаботиться от цветах текста и фона.
Сейчас Вам уже должны быть знакомы используемые здесь функции, поэтому я буду краток. $Ifgreater() берет заботу о альбомных трэках начиная с 5-го. Часть иначе этого выражения содержит вызов функции $ifequal() для определения первого трэка. Значения цветов одинаковые для обоих случаев, что в общем то делает возможным реализовать это в одном выражении $if() , но приведенный здесь вариант легче читать и редактировать.
Ну и завершение последние два вызова $set_style() задают серый цвет фона для трэков со второго по четвертый
Вторая часть скрипта определяет все необходимые рамки.
pre class = «code» > font color = «#808080» > $if($get_global(isAlbum), i > [. ] / i > / font > // Рамка сверху и снизу $ifequal(%tracknumber%,1, $set_style(frame-top,1,$get_global(cFrmStd)), $ifequal(%tracknumber%,5, $set_style(frame-bottom,1,$get_global(cFrmStd)), $ifequal(%tracknumber%,%album tracks%, $set_style(frame-bottom,1,$get_global(cFrmStd)), ))) // Рамка справа $ifgreater(%tracknumber%,5, $set_style(frame-right,1,$get_global(cFrmStd)) ,) ) / pre >
Три первые $ifequal() определяют первый, пятый и последний трэк альбома и устанавливают цвет рамки. Используемый здесь вызов $set_style() немного отличается оттого, что мы использовали ранее для задания цвета текста и фона. В общем виде он выглядит так:
pre class = «code» > $set_style( i > часть рамки / i > , i > вклвыкл / i > , i > цвет / i > ) / pre >
Часть рамки — указывает на положение границы и может принимать одно из этих значений: frame-left , frame-right , frame-top или frame-bottom .
Вклвыкл равен либо 1, что для показа этой стороны рамки, либо 0, в этом случае сторона рамки не рисуется и следующий параметр (цвет) пропускается.
Цвет — конечно же определяет цвет рамки.
Как Вы помните, мы не определили цвета рамок в глобальном цветовом скрипте, поэтому нам не нужно явно выключать ненужные нам рамки (т.к. они не указаны в глобальном скрипте, то они выключены по умолчанию). Поэтому нам достаточно просто включить те рамки, которые нам необходимы. Выражение $ifgreater() рисует рамку справа для всех трэков, начиная с 5-го
Наконец-то мы закончили с альбомами. Последняя строка задаст цвета для одиночных трэков. Вот скрипт целиком:
pre class = «code» > font color = «#808080» > $if($get_global(isAlbum), // Цвет текста/фона $ifgreater(%tracknumber%,4, $set_style(text,$get_global(cTxtStd),$get_global(cTxtStd)) $set_style(back,$get_global(cBgStd),$get_global(cBgStd)) , $ifequal(%tracknumber%,1, $set_style(text,$get_global(cTxtStd),$get_global(cTxtStd)) $set_style(back,$get_global(cBgStd),$get_global(cBgStd)) , $set_style(text,$get_global(cTxtTrk),$get_global(cTxtTrk)) $set_style(back,$get_global(cBgTrk),$get_global(cBgTrk)) )) // Рамка сверху и снизу $ifequal(%tracknumber%,1, $set_style(frame-top,1,$get_global(cFrmStd)), $ifequal(%tracknumber%,5, $set_style(frame-bottom,1,$get_global(cFrmStd)), $ifequal(%tracknumber%,%album tracks%, $set_style(frame-bottom,1,$get_global(cFrmStd)), ))) // Рамка справа $ifgreater(%tracknumber%,5, $set_style(frame-right,1,$get_global(cFrmStd)) ,) / font > , // — для одиночных трэков $set_style(frame-right,1,$get_global(cFrmStd)) ) / pre >
Источник
Как изменить цвет фубара
О программе:
foobar2000 – абсолютно бесплатный аудио-плейер для ОС Windows.
1. Установка foobar2000:
Скачайте дистрибутив программы с оф. сайта плейера — foobar2000.org . На выбор пользователя 2 типа установки: Standard и Portable .
Первый тип — для «стационарного» использования — по умолчанию он рассчитан на несколько юзеров и настройки сохраняются в их собственных профилях (если Вы хотите, чтобы настройки сохранялись в папке с установленной программой, то удалите файл «user_profiles_enable» в папке плейера ).
Второй – предназначен для размещения foobar2000 на съемном носителе (например, внешний хард или флешка): все настройки хранятся непосредственно в папке с программой, а медиа библиотека содержит пути к папкам с музыкой. Т.к. в этом режиме никакая информация не вносится в реестр, то, конечно, недоступны ассоциации типов файлов с плейером.
2. Настройка:
2.1 Компоненты
Дополнительные компоненты можно взять с официального сайта или любого другого, их немало . При установке нужно осознавать, что чем меньше всего установлено – тем быстрее и стабильней работает программа!
После появления папки user-components плагины стало возможным устанавливать не только вручную, создавая отдельную папку и копируя туда файлы dll с сопутствующими файлами, но и через интерфейс плейера (Preferences -> Components). Изначально можно было перетащить файл foo_*.dll в список компонентов и он автоматически устанавливался в отдельную папку в user-components (в папке пользователя, или в папке плейера — в зависимости от режима установки плейера). Там же появилась кнопка Install, по которой открывался проводник — для выбора dll файла.
2.2 Работа с обложками
2.2.1 Отображение
Формат вывода обложек настраивается в разделе настроек Display . Первое что я рекомендую сделать, это сменить заданное по-умолчанию расширение файлов с jpg на * (пример: front.*) — э тим Вы снимите ограничение на загрузку только jpg формата, минус: не будут загружаться картинки из архивов. Указать нужный приоритет загрузки между вшитым, внешним или бОльшим по размеру изображением можно в Advanced -> Display -> Album art . Там же можно ограничить размер изображений в Мб.
2.2.2 Зашитые обложки
Для работы с зашитыми изображениями воспользуйтесь контекстным меню Tagging -> Edit attached pictures или же подменю Attach \ Remove pictures .
2.2.3 Загрузка
Что делать, если в папке с альбомом нет обложки? Конечно, можно зайти на сервис вроде images.google.com и поискать вручную. Но если найти нужно обложки для великого множества )) альбомов? Придут на помощь:
2.3 Медиа-библиотека
Важным моментом работы с плейером является медиа-библиотека, поэтому при создании темы я настоятельно рекомендую найти место в оформлении под элемент Album List . Этот компонент наглядно отображает Вашу медиа библиотеку в древовидной структуре и предоставляет широкие возможности по её сортировке. Его использование позволяет избавиться от хранения плейлист-файлов (*.m3u, *.fpl, . ).
Добавить файлы в медиа-библиотеку возможно в разделе настроек Media Library . Нажмите кнопку Add и укажите каталог или каталоги с музыкой. Поиск файлов в Вашем компьютере займет какое-то время (зависит от количества файлов и мощности ПК). Сделать это нужно будет только один раз, база всегда будет обновляться сама в фоновом режиме. Открыть ее можно командой Library -> Album List (если Album List является частью оформления, то эта команда укажет его).
2.4 Звук \ DSP
Самый простой (и предпочтительный) способ настройки, это указать в разделе настроек Playback -> Output Вашу звуковую карту и её разрядность.
Более детальная настройка предполагает использование альтернативных интерфейсов вывода и DSP .
DSP ( digital signal processing ) – цифровая обработка звука. Настройки DSP несложно найти в разделе Playback -> DSP Manager . Активизируются путем перемещения доступных DSP с правого поля в левое.
Необходимо понимать, что все «примочки» DSP отдаляют звучание музыки от оригинала и чем их больше — тем дальше ))
2.5 Последние штрихи.
Если Вы хотите, чтобы курсор «следовал» за текущим треком в плейлисте, отметьте в главном меню Playback -> Cursor Follows Playback . Если нужно, чтобы следующим проигрывался тот трек, который выделен курсором – отметьте Playback -> Playback Follows Cursor .
3. Оформление:
При первом запуске плейера (foobar2000.exe) откроется диалог Quick Appearance Setup , в котором возможно изменить тему оформления. В будущем Вы всегда сможете вернуться к этому диалогу, нажав в главном меню View -> Layout -> Quick Setup .
Обратите внимание на скриншот выше – темы разделены на три типа: Main Layout , Colors и Playlist Layout . Все они хранятся в папке ..\foobar2000\themes\ и имеют расширение *.fth.
В установочный файл уже включено какое-то количество тем, но далее мы научимся создавать и свои. Это не совсем то, что в других плейерах называют скинами (skins), но, в отличии от них, создать свою уникальную тему для foobar2000 довольно просто.
3.1 Создание и редактирование тем
Работать с темами оформления можно двумя способами – создать «с нуля» через View -> Layout -> Create Scratchbox , или в Режиме редактирования текущей темы, поставив галку в View -> Layout -> Enable Layout Editing Mode . Общее для них – контекстное меню, через которое осуществляется управление элементами интерфейса. Кроме обычных команд, вроде Cut или Copy в нем есть Add New и Replace UI Element , которые вызывают окно выбора элемента интерфейса. Для лучшего понимания того, каким образом они организованы, разделим их условно на две категории: Контейнеры и Панели.
На скриншоте выше — 5 контейнеров в начале списка, а все остальное ниже – панели. Что и в каком порядке расположить Вы можете решить сами. Посмотреть какие темы создают другие пользователи, Вы можете на различных сторонних сайтах и форумах (вбиваем в поиск «Темы для foobar2000«).
После того, как Вы закончите редактировать, выберите Edit -> Apply Layout , если находились в режиме создания новой темы или же снимите галку с View -> Layout -> Enable Layout Editing Mode для выхода из режима редактирования текущей темы.
Количество элементов для Ваших тем можно легко расширить за счет выложенных на официальном сайте сторонних компонентов.
3.2 Элементы интерфейса.
Playlist View – стандартный плейлист. Вы сами можете выбрать, какую информацию будет отображать стандартный плейлист. Кликните правой клавишей мыши по заголовкам колонок – откроется меню с двумя пунктами: Columns и Groups .
В подпунктах первого — Columns — Вы можете добавить или убрать нужные Вам колонки. Если отметить пункт Auto-scale Columns with Windows Size , то колонки будут автоматически менять размер при изменении ширины окна.
В Groups можно задать правило сортировки для файлов в плейлисте. Удобный вариант — By Artist/Date/Album .
Общий пункт для этих меню – More . Он открывает раздел настроек Display -> Default User Interface -> Playlist View , где Вы можете добавить свои колонки и схемы сортировки.
SimPlaylist \ EsPlaylist – альтернативные плейлисты. Кроме прочего, могут отображать обложки альбомов непосредственно в самом плейлисте.
Lyric Show Panel 3 – панель с текстом песни. При каждой смене трека автоматически ищет, грузит и отображает тексты на определённой панели.
Splitter – стандартный контейнер. Элементом Splitter вы можете разделять объекты в окне, а если выставить в свойствах всех сплиттеров Lock (клик правой клавишей мыши по Splitter -> Lock Left \ Right и/или Top \ Bottom ), то тем самым Вы запретите изменение размеров окна.
3.3 Цвет и шрифт
Изменить цвет и шрифт Вашего оформления можно в окне File -> Preferences -> Display -> Default User Interface -> Colors and Fonts . Если их не указывать, берутся системные значения.
3.4 Импорт\Экспорт тем
Сохранить тему можно в Preferences -> Display -> Default User Interface (поле Theme Management ). Нажмите кнопку Export Theme и в открывшимся окне снимите все галки кроме Main Layout . Нажмите OK , набейте произвольное имя и покажите каталог:
Так же можно сохранить цветовой шаблон, оставив Colors и убрав остальные галки.
Теперь если выбрать View -> Layout -> Quick Setup , то Ваша тема и цветовой шаблон появятся на своих местах.
Разберёмся с Playlist Layout. В режиме редактирования (Enable Layout Editing) кликните правой клавишей мыши на плейлисте и в открывшимся меню выберите Copy UI Element. Откройте Проводник в ..\foobar2000\themes\ и нажмите Вставить (Ctrl+V) – появиться файл Playlist View.fth (его можно переименовать на свой вкус), который теперь тоже будет доступен в окне Quick Setup.
При экспорте темы можно оставить любые элементы – Цвета \ Шрифты \ Шаблон \ Строку состояния \ Панель инструментов, но чтобы использовать такую тему, придётся пользоваться кнопкой Import Theme .
4. Использование:
4.1 Конвертация аудиофайлов:
И наоборот, при конвертировании из одного lossless формата в другой – качество никак не изменяется . Lossless энкодеры — по сути, архиваторы — всё равно сначала файл распаковывается в несжатый WAV-файл, а затем снова пакуется в другой формат.
Источник