SinglePlayer - музыкальный плеер SingleMenu - Обсуждение | Автомагнитола и устройство на WinCE, WM



Реп: (462)
SinglePlayer - мощный аудиоплеер для консолей под управлением WINCE 6.0.
Сделан под альтернативную оболочку SingleMenu и NewMenu

Изображение
Прошивки и оформление | SingleMenu | Обсуждение ММС

Разработчик: alex208210
Скачать: SinglePlayer Bin, SinglePlayer Src
Yandex Disk: SinglePlayer Bin, SinglePlayer Src
OS: WINCE 6.0
Совместимость: SingleMenu, NewMenu 8.2, ГУ Incar, SUPRA SCD-3163

Внешний вид
Прикрепленное изображение


Правила поведения в теме
Полные правила 4PDA

1) Перед тем как задать вопрос прочтите FAQ. Большинство ответов Вы найдете именно там.
2) Перед тем как задать вопрос в теме, обязательно прочтите ее от начала до конца! Много читать? Я же читал, почему Вы не должны?
3) Перед тем как задать вопрос, обязательно воспользуйтесь поиском, на большинство вопросов уже отвечено.
4) Если Вы все прочитали и нашли ответ на свой вопрос, но ничего не поняли, не задавайте вопрос снова. Напишите в личку автору ответа с просьбой уточнить и объяснить
5) Вопросы должны относиться непосредственно к программному обеспечению SinglePlayer. Вопросы о альтернативных оболочках или консолях обсуждаются в других темах.
6) Не правильно писать что нужно сделать, правильно указать причину, вызывающую неудобства или проблемы. ПРИЧИНУ!
7) Те люди которые Вам отвечают и помогают, будут рады получить плюс в профиле больше чем "спасибо" в ответе темы.
8) Если у вас нет возможности поставить плюс в профиле, попросите об этом любого участника этой темы, они согласятся.
9) Запрещено выкладывать посты с открытыми скринами и неверной структурой BB кода. Такие посты никто править не собирается, они просто будут удалены.
10) Дублирование вопросов запрещено!
11) Вопросы и комментарии не по теме запрещены!
12) Посты с вопросами, уже освещенными в шапке, будут удаляться! Я знаю наизусть все что находится в шапке и поэтому сразу пойму что Вы ее не прочитали.


Очень важно!!! Если вы заметили проблему в плеере, обязательно пришлите скриншот экрана или фотографию, а лучше видео!
Используйте для этих целей cайт rghost.ru. В противном случае Вам ответят что то вроде "А у меня все нормально"


Доступна версия 2.8.3
Плеер работает в консоли на автомобилях Lada люксовых комплектаций. ОС WINCE 6.0.
Плеер является прямым наследником альтернативного меню ItelmaMenu - ItelmaPlayer, которое переросло в самостоятельное дополнение альтернативной оболочки SingleMenu от CrazyDron. Проект написан на Lazarus 1.4 FPC 2.6.4
Выполнен в виде подключаемого модуля, встроенного в исходный код альтернативного меню, что делает плеер цельной частью бинарного файла SingleMenu. На данный момент плеер так же сделан отдельным приложением, которое можно запускать на устройствах с WINCE. Плеер не использует штатных контролов и элементов форм, полностью состоит из нарисованной графики и иконок. Не имеет аналогов в своем классе по функционалу и исполнению под WINCE.
Плеер использует библиотеку bass.dll для создания звукового канала и его воспроизведения. Bass.dll является лучшим условно-бесплатным звуковым движком, который также используется в плеере Aimp, и большом количестве игр.
Также плеер использует дополнительные библиотеки, которые позволяют расширить его функционал:
bass_fx - библиотека позволяет использовать множество звуковых процессоров, эффекты и эквалайзер.
bassflac - библиотека позволяется проигрывать треки высокого качества в формате FLAC со степенью сжатия потока выше 1000 кбит/с.
bass_aac - библиотека позволяет проигрывать формат m4a, сжатые кодеком aac. Данный формат используется в магазине ITunes. Аналог mp3.
bass_alac - библиотека позволяет проигрывать формат m4a, сжатые кодеком alac. Данный формат используется в магазине ITunes. Аналог FLAC.
bass_mpc - библиотека позволяет проигрывать формат треков mpc, сжатые кодеком musepack. Данный формат является качественной альтернативой mp3.
tags - библиотека позволяет считывать теги с FLAC файлов.
MP3FileUtils 6 от Daniel Gaussmann - модуль позволяет считывать с мр3 файлов теги id3v2.
На выходе канала плеер выдает 32 битный сигнал с частотой дискретизации 44100 гц.
Возможности плеера
- Высокая производительность и скорость работы
- Пальце-ориентированность
- Мощный движок оформления, позволяет делать любые скины
- 13 полосный эквалайзер. Тонкая настройка параметров эквалайзера.
- Эффекты: реверберация, эхо, хоррус, фланжер, темпо, питч, compressor, distortion, phaser, freeverb, autowah. Тонкая настройка эффектов.
- Фильтры: high, low, bandpass, peakingEQ, notch. Тонкая настройка фильтров.
- Антибаннер-корректор
- Полноценный плейлист (добавление, перемещение, сортировка, удаление с диска, воспроизведение, навигация, очистка)
- Поиск треков, позволяет искать треки в текущем или всех плейлистах, в названиях и тегах.
- Встроенная клавиатура, поддержка до 10 раскладок.
- Очередь воспроизведения, позволяет формировать список треков, которые будут играть независимо от плейлиста.
- Поддержка нескольких плейлистов, до 20
- Поддержка тегов id3v1, id3v2, vorbis(flac)
- Перемотка треков
- Избранные треки в плейлисте
- Избранные треки в отдельную папку
- Переключение проигрывания треков по альбомам
- Множественный выбор каталогов и треков для добавления в плейлист
- Сохранение позиции и номера трека для каждого плейлиста и автоматическое воспроизведение при переключении на нужный плейлист
- Свайпы по проводнику и плейлисту
- Поиск USB дисков и быстрое проигрывание их содержимого
- Проигрывание форматов mp3, flac, wav, ogg, aiff, m4a(aac, alac), mpc
- Вывод обложки альбома и лого Интернет-радио в заставку/плеер
- Добавление в плейлист одного трека, каталога, подкаталогов.
- Сортировка плейлиста методом быстрой сортировки
- Сохранение позиции трека при выходе
- Проигрывание треков в разброс, подряд, один трек.
- Проигрывание плейлистов в разброс или по очереди.
- Удаление трека сразу с диска
- Интернет-радио
- Плавное затухание звука при остановке воспроизведение и нарастание при начале проигрывания
- Быстрая и удобная навигация по файловой системе, отображение файлов и папок сеткой или списком
- Проигрывание треков согласно установленному жанру в эквалайзере. Жанр считывается с тегов и если соответствует текущему стилю эквалайзера, проигрывается.
- Автоподстройка эквалайзера под жанр трека
- Вывод визуализации, в виде спектрума, в заставку и главное окно плеера
- Поддержка скинов (задается через меню)
- Отображение нагрузки на процессор
- Широковещательная рассылка и прием управляющих сообщений

Информация для пользователей консолей не Итэлма или альтернативных меню
Для корректного отображения плеера на весь экран, необходимо завершать процесс проводника wince. Иначе снизу будет отображаться панель задач, а так же при работе в полноэкранном режиме, лишний процесс только отъедает лишнюю память и, как было выявлено, уменьшает скорость работы плеера. Так же при сворачивании или закрытии плеера необходимо запускать процесс проводника, иначе рабочий стол wince не появится. Для решения этих проблем в конфиге настроек плеера playersettings.ini был добавлен ключ altmenu. Этому ключу необходимо указать имя процесса вашего меню. например так: altmenu=NewMenu.exe Где NewMenu.exe это ваше альтернативное или штатное меню. В результате, если ключу присвоено значение, при запуске плеера если он увидит этот процесс меню запущенным, плеер не будет закрывать проводник (потому что он уже наверняка закрыт вашим меню) а так же не будет запускать проводник при сворачивании или закрытии плеера, так как проводник или рабочий стол отображать не нужно.

FAQ
Почему при запуске проигрывания трека из плейлиста, играет всегда первый трек?
Включена опция "Проигрывать треки согласно жанру эквалайзера". Так как, скорее всего, жанры в тегах вы не прописали, плеер не может найти текущий жанр в тегах треков в плейлисте и возвращается к первому треку.

Почему после добавления треков в плейлист, автоматически не закрывается проводник?
Начиная с версии 2.1 опция автоматического закрытия вынесена в настройки плеера, выберите нужный вам режим работы с проводником.

При проигрывании трека в эмуляторе, выходит ошибка, и плеер не работает
Плеер расчитан на работу в консоли автомобиля, а не прослушивания музыки в эмуляторе. В консоли такой проблемы нет.

Почему после переключения трека или паузы плеер тормозит?
Включена опция загрузки обложки альбома, но не всем хватает компетенции разместить в тегах правильный размер этой обложки, в результате плееру приходится загружать очень большой файл, во время чего и происходит притормаживание плеера.

Почему я не могу найти в поисковике плеера добавленный трек в плейлист?
После добавления трека в плейлист, необходимо обновить базу тегов трека в поисковике

Как мне сделать свой скин для плеера?
Возьмите штатный скин плеера и отредактируйте картинки в редакторе. Изучите конфиг скина, все ключи в нем подписаны. Измените под себя нужные ключи и скин готов!

Мне нравится скин ItelmaPlayer, могу ли я использовать его в SinglePlayer?
Нет, конфиги скина различны, скин нужно полностью переделывать, попросите автора скина переделать его под новый плеер.

Какие форматы проигрывает SinglePlayer?
Форматы, которые понимает плеер: mp3, flac, wav, ogg, aiff, m4a(aac, alac),mpc

Сколько всего может быть треков в плейлисте?
10 000

Почему так долго считывает теги в поисковике?
Время считывания тегов зависит от скорости считывания и количества треков в плейлисте или всех плейлистов. Посмотрите с какой скоростью считываются теги у вас на компьютере, а потом подумайте чего вы хотите от нашей консольки.

Как добавить радиопотоки в плеер?
В плеере можно добавить радиопотоки двумя способами:
1) Создать иконку в скине, добавив новую секцию и указав в параметрах этой секции ключи exec=playurl execopt=адрес интернет потока
2) Зайти в папку с плеером и если вы уже создавали плейлист треков, окрыть его и заменить содержимое адресами поток радиостанций. Если плейлист небыл создан, создайте его плеером или вручную, создав файл playlist_1.pls
Далее в плеере зайдите в плейлист и 2 раза нажмите на нужную строку интернет потока. Подробнее о первом способе в посте от pleseck

Почему при сворачивании или закрытии плеера, запускается проводник?
Если вы запускаете плеер через альт-меню или штаное меню вам необходимо указать ключ altmenu=имя процесса альтменю, в файле настроек плеера playersettings.ini

Почему не работают аппаратные кнопки с плеером?
Для работы аппаратных кнопок необходимо создать альтернативное меню для вашей консоли, которое сможет ловить события нажатий на аппаратные кнопки и передавать их плееру

Почему я не вижу свой диск в проводнике плеера?
Стандартные диски и карты уже должны отображаться в плеере, но если вы не видите свой диск, то проверьте его видимость в тоталкоммандере, если тоталкомандер его видит, запомните название этого диска. Вам нужно добавить иконку этого диска в скин плеера. Создайте новую секцию в конфиге скина, на подобии уже существующей секции другого диска. Замените caption= на название вашего диска. Например так: caption=myflashdisk.jpg, где myflashdisk это имя вашего диска в тоталкоммандере. Укажите координаты размещения иконки этого диска. Создайте иконку myflashdisk.jpg в папке icons вашего скина

Я встроил плеер в альтменю, и при закрытии плеера, он повисает
Для корректного выключения плеера через альтменю, нужно использовать кнопку выключения плеера. Если вам необходимо убить процесс плеера не нажимая на кнопку, делайте это командой удаления файла PID в папке с плеером. Если удалить этот файл, плеер корректно выключится.

Почему я не читаю FAQ и задаю дурацкие вопросы?
Я прочитал, Я молодец!


Список вопросов будет пополняться по мере их появления.

Инструкции
Так как плеер имеет гибкие возможности в плане скиностроения, внешний вид и расположение элементов может отличаться или отсутствовать в разных скинах. Поэтому для наглядности будет использоваться штатный скин G52 от Fear32.

Главное окно плеера

Прикрепленное изображение


В главном окне плеера вы можете управлять процессом воспроизведения музыки следующими элементами:
1) Кнопки переключения треков по каталогам. Если в плейлисте добавлены несколько папок с музыкой то при переключении трека, следующим будет играть из отличной от текущей папки.
2) Кнопка вызова окна программного эквалайзера плеера.
3) Кнопки переключения режимов, последовательности проигрывания треков. Вы можете выбрать один из трех режимов: Играть один трек циклично, Играть треки по очереди в плейлисте, Играть треки в разброс.
4) Кнопка переключения проигрываемого трека - назад. Если вперед были переключены уже треки, то назад будут переключаться ранее игравшие треки. При нажатии и удержании кнопки происходит перемотка трека назад (если в Настройках активирован переключатель "Включить перемотку трека")
5) Кнопка переключения проигрываемого трека - вперед. При нажатии и удержании кнопки происходит перемотка трека вперед (если в Настройках активирован переключатель "Включить перемотку трека")
6) Кнопка воспроизведения текущего трека и постановка на паузу.
7) Кнопка сворачивания плеера, скрывает окно плеера для отображения окон меню.
8) Кнопка вызова окна настроек плеера
9) Кнопка выхода из плеера. Закрывает плеер и освобождает ресурсы звукового движка bass.dll.
10) Кнопка вызова окна поиска треков. Она же позволяет дойти до окна очереди треков.
11) Обложка альбома проигрываемого трека
12) Кнопка вызова плейлиста плеера
13) Кнопка быстрого создания нового плейлиста с выбором папки через проводник и последующим автоматическим проигрыванием выбранных треков
14) Прогресс бар. Визуально показывает текущую позицию проигрывания трека и позволяет установить новую.
15) Информация о текущем, выбранном плейлисте.
16) Информация о текущем номере проигрываемого трека в плейлисте и их количество.
17) Информация о артисте и исполнителе проигрываемого трека.
18) Информация о текущем каталоге, из которого проигрывается трек.
19) Системное время консоли.
20) Информация о текущей степени сжатия звукового потока, выраженная в килобитрейте.
21) Текущее время проигрывания трека, текущая позиция.
22) Общее время трека.

Окно управления плейлистами

Прикрепленное изображение


В этом окне у вас есть возможность управлять списками и плейлистами плеера, выбирать нужный плейлист, управлять строками плейлиста и формировать его. Для выхода в плейлист "Избранное" перейдите с плейлиста 1 назад в плейлист 0.
1) Кнопка перемещения списка треков вверх
2) Кнопка перемещения списка треков вниз
3) Кнопка переключения текущего плейлиста на предыдущий.
4) Информация о номере текущего плейлиста
5) Кнопка переключения текущего плейлиста на следующий.
6) Информация о количестве треков в текущем плейлисте.
7) Кнопка выхода в главное окно плеера.
8) Кнопка очистки текущего плейлиста. Удаляет все треки из плейлиста и плейлист с диска консоли.
9) Кнопка добавления треков в текущей плейлист.
10)Кнопка вызова окна поиска треков. Она же позволяет дойти до окна очереди треков.
11)Кнопка добавления выбранного трека в плейлист избранных треков или туда же, но с копированием трека в отдельную папку.
12)Кнопка удаления выбранного трека из плейлиста.
13)Кнопка удаления выбранного трека из плейлиста и диска консоли.
14)Список треков в плейлисте.
15)Строка выбранного трека в плейлисте.

Проводник плеера

Прикрепленное изображение


Проводник позволяет выбирать папки и треки для добавления их в плейлист. Может отображать структуру дисков в виде списка или сетки. Данный проводник поддерживает отображение следующих дисков:

StaticStore
SDMMC
SDMMC2
SDMMC3
SDMMC4
Usb Disk
Usb Disk2
Usb Disk3
Usb Disk4
Usb Disk5

1) Кнопка переключения режимов количественного добавления треков. Позволяет выбрать один из трех режимов:
Прикрепленное изображение - Добавлять один трек
Прикрепленное изображение - Добавлять одну папку без вложений
Прикрепленное изображение - Добавлять папку с ее подпапками.
2) Кнопка переключения режимов навигации по проводнику. Позволяет выбрать один из двух режимов:
Прикрепленное изображение - При нажатии на папку - войти в нее.
Прикрепленное изображение - При нажатии на папку - добавить ее в плейлист.
3) Кнопка включения функции множественного выбора каталогов и треков. Позволяет выбрать нужные папки или треки и добавить их в плейлист за раз.
4) Кнопка добавления выбранных папок и треков в плейлист, работает для множественного выбора папок и треков.
5) Информация о названии текущего каталога.
6) Кнопка перемещения списка папок и треков вверх.
7) Кнопка перемещения списка папок и треков вниз.
8) Кнопка возврата в предыдущую папку.
9) Кнопка выхода в главное окно плеера.
10)Кнопка переключения режимов отображения папок и треков в проводнике. Позволяет переключать отображение структуры папок и треков в виде списка или сетки
11)Иконка трека в проводнике
12)Иконка выбранного трека при включенной функции множественного выбора.
13)Иконка выбранной папки при включенном режиме множественного выбора.
14)Информация о количестве страниц и текущей странице проводника для отображения содержимого текущего каталога.

Программный эквалайзер плеера

Прикрепленное изображение


Окно эквалайзера и эффектов позволяет выполнить программную постобработку звука проигрываемого плеером.

1) Переключатель уровня эффекта Реверберации.
2) Переключатель уровня эффекта Эхо.
3) Переключатель уровня эффекта Хоррус.
4) Переключатель уровня эффекта Фланжер.
5) Переключатель уровня эффекта Питч.
6) Переключатель уровня эффекта Темп.
7) Кнопка выбора предыдущего пресета эквалайзера.
8) Название выбранного пресета эквалайзера.
9) Кнопка выбора следующего пресета эквалайзера.
10)Кнопка включения и выключения программного эквалайзера.
11)Кнопка выхода в главное окно плеера.
12)Кнопка применения значений эквалайзера и сохранения их на диск консоли.
13)Информация о текущей громкости проигрывания плеера, громкость не системная.
14)Кнопка увеличения громкости плеера.
15)Кнопка уменьшения громкости плеера.
16)Переключатели уровня усиления частот эквалайзера.

Поиск треков

Прикрепленное изображение


Окно поиска треков позволяет искать и добавлять найденные треки в очередь воспроизведения. Поиск может осуществляться по названию файла и названию трека из тегов, Поиск может быть выполнен в текущем плейлисте или во всех существующих плейлистах.

1) Клавиатура для ввода строки поиска.
2) Кнопка печатающая пробел в строке поиска.
3) Кнопка переключения раскладок клавиатуры.
4) Кнопка очистки строки поиска.
5) Кнопка перемещения списка найденных треков вверх
6) Кнопка перемещения списка найденных треков вниз
7) Кнопка удаления последнего символа в строке поиска.
8) список найденных треков.
9) Строка выбранного трека в списке найденных треков.
10)Поле ввода строки поиска.
11)Кнопка переключения режима типа поиска. Позволяет выбрать один из двух режимов:
Прикрепленное изображение - искать строку поиска в тегах треков.
Прикрепленное изображение - искать строку поиска в названиях файлов треков.
12)Кнопка переключения режимов, места поиска треков. Позволяет выбрать один из двух режимов:
Прикрепленное изображение - искать в текущем плейлисте.
Прикрепленное изображение - искать во всех существующих плейлистах.
13)Кнопка позволяет обновить базу треков или тегов для поиска строки.
14)Кнопка отображения окна очереди проигрываемых треков.
15)Кнопка добавления найденных и выбранных треков в очередь проигрывания.
16) Кнопка выхода в главное окно плеера или плейлист в зависимости от того откуда был выполнен вход в окно поиска.

Очередь проигрывания

Прикрепленное изображение


Окно очереди проигрывания позволяет отобразить список очереди проигрывания, проигрывать с него выборочно или очистить его.

1) Кнопка перемещения списка очереди треков вверх
2) Кнопка перемещения списка очереди треков вниз
3) Список очереди треков
4) Строка с выбранным треком в списке очереди треков.
5) Кнопка выхода на страницу поиска треков.
6) Кнопка очистки списка очереди треков.
7) Кнопка выхода в главное окно плеера или плейлист в зависимости от того откуда был выполнен вход в окно поиска.

Настройки плеера: Страница "Основные настройки"

Прикрепленное изображение


Основные настройки плеера задают общие настройки для всего плеера.

1) Переключатель страницы настроек плеера на страницу "Основные настройки"
2) Переключатель страницы настроек плеера на страницу настроек плейлиста
3) Переключатель страницы настроек плеера на страницу настроек звука
4) Переключатель страницы настроек плеера на страницу настроек производительности плеера
5) Переключатель страницы настроек плеера на страницу настроек внешнего вида плеера
6) Переключатель страницы настроек плеера на страницу выбора скина плеера
7) Кнопка выхода в главное окно плеера
8) Кнопка сохранения настроек плеера
9) Переключатель "Сохранять позицию трека" позволяет включить функцию сохранения текущей позиции и номера трека в плейлисте на диск, и начать воспроизведение трека из сохраненных значений
10)Переключатель "Плавное затухание звука" позволяет включить функцию уменьшения звука при постановке проигрывания на паузу и увеличение звука при снятии плеера с паузы
11)Переключатель "Отображать загрузку ЦП" позволяет включить отображение нагрузки на центральный процессор библиотекой bass.dll
12)Переключатель "Возврат к началу после 10с" позволяет включить функцию возврата к началу трека при переключении трека назад, если время текущего проигрывания трека менее 10 секунд, если время проигрывания больше 10 секунд, то трек переключается на предыдущий.
13)Переключатель "Закрывать проводник после добавления" позволяет автоматически закрывать проводник после операций добавления треков в плейлист
14)Переключатель "Включить перемотку трека" позволяет включить функцию перемотки трека при нажатии и удержании кнопок переключения треков. При удержании кнопки переключения трека - вперед осуществляется быстрая перемотка трека вперед, назад аналогично
15)Переключатель "Воспроизведение при старте" позволяет включить функцию автоматического воспроизведение трека при запуске плеера
16)Переключатель "Диалог для USB" позволяет включать функцию определения вставленных usb дисков с последующим вопросом выполнения действия с найденным диском: Добавить найденные треки в плейлист, Создать новый плейлист с найденными треками или отменить действие.
17)Переключатель "Включить свайпы" позволяет включить функцию управления жестами перемещения списка треков в плейлисте и списка/сетки файлов и папок в проводнике.

Настройки плеера: Страница "Плейлист"

Прикрепленное изображение


1) Переключатель страницы настроек плеера на страницу "Основные настройки"
2) Переключатель страницы настроек плеера на страницу настроек плейлиста
3) Переключатель страницы настроек плеера на страницу настроек звука
4) Переключатель страницы настроек плеера на страницу настроек производительности плеера
5) Переключатель страницы настроек плеера на страницу настроек внешнего вида плеера
6) Переключатель страницы настроек плеера на страницу выбора скина плеера
7) Кнопка выхода в главное окно плеера
8) Кнопка сохранения настроек плеера
9) Переключатель "Отображать файлы списком" позволяет переключать отображение файлов и папок в проводнике на список или сетку.
10)Переключатель "Сортировка по алфавиту" позволяет автоматически отсортировывать плейлисты при добавлении в них треков.
11)Переключатель "Играть один текущий трек" позволяет включить режим воспроизведения одного трека (LOOP), который играет в данный момент.
12)Переключатель "Играть треки вразброс" позволяет включить функцию случайного переключения треков при проигрывании
13)Переключатель "Добавлять треки с подкаталогами" позволяет добавлять выбранные папки в плейлист с ее подпапками.
14)Переключатель "Играть треки согласно жанру" позволяет включить функцию поиска и проигрывания трека из плейлиста, если в тегах этого трека указан текущий выставленный жанр (пресет) эквалайзера.
15)Переключатель "Цикличный плейлист" позволяет включить функцию возврата к проигрыванию первого трека если достиг конец плейлиста.
16)Переключатель "Двигать по № треков" позволяет изменить количество строк для перемещения плейлиста при перемещении списка жестами.
17)Переключатель "Играть трек при смене плейлиста" позволяет включить функцию автоматического воспроизведения трека из плейлиста при смене плейлиста

Настройки плеера: Страница "Звук"

Прикрепленное изображение


1) Переключатель страницы настроек плеера на страницу "Основные настройки"
2) Переключатель страницы настроек плеера на страницу настроек плейлиста
3) Переключатель страницы настроек плеера на страницу настроек звука
4) Переключатель страницы настроек плеера на страницу настроек производительности плеера
5) Переключатель страницы настроек плеера на страницу настроек внешнего вида плеера
6) Переключатель страницы настроек плеера на страницу выбора скина плеера
7) Кнопка выхода в главное окно плеера
8) Кнопка сохранения настроек плеера
9) Переключатель "Включить эквалайзер" позволяет включать и отключать программный эквалайзер проигрывателя
10)Переключатель "Авто жанр эквалайзера" позволяет включить функцию автоматического выставления жанра (пресета) эквалайзера в зависимости от жанра указанного в тегах проигрываемого трека.
11)Переключатель "Применять значения eq сразу" позволяет применять значения эквалайзера сразу же при изменении любого его значения.

Настройки плеера: Страница "Нагрузка"

Прикрепленное изображение


Страница настроек нагрузки позволяет ограничить время занимаемое процессором и увеличить быстродействие консоли.

1) Переключатель страницы настроек плеера на страницу "Основные настройки"
2) Переключатель страницы настроек плеера на страницу настроек плейлиста
3) Переключатель страницы настроек плеера на страницу настроек звука
4) Переключатель страницы настроек плеера на страницу настроек производительности плеера
5) Переключатель страницы настроек плеера на страницу настроек внешнего вида плеера
6) Переключатель страницы настроек плеера на страницу выбора скина плеера
7) Кнопка выхода в главное окно плеера
8) Кнопка сохранения настроек плеера
9) Переключатель "Если больше № выкл эквалайзер" позволяет включить порог ограничения нагрузки на процессор и указать этот порог в процентах занятия процессорного времени библиотекой bass.dll
10)Переключатель "Если меньше № вкл эквалайзер" позволяет включить порог включения эквалайзера и указать этот порог в процентах занятия процессорного времени библиотекой bass.dll
11)Переключатель "Изменить интенсивность визуализации" позволяет изменить степень всплесков баров визуализатора и указать это значение. По умолчанию оно равно 500, если функция выключена, если включена можно указать от 100 до 2000.

Настройки плеера: Страница "Внешний вид"

Прикрепленное изображение


Страница настроек внешнего вида плеера позволяет изменить активное оформление плеера и его компонентов.

1) Переключатель страницы настроек плеера на страницу "Основные настройки"
2) Переключатель страницы настроек плеера на страницу настроек плейлиста
3) Переключатель страницы настроек плеера на страницу настроек звука
4) Переключатель страницы настроек плеера на страницу настроек производительности плеера
5) Переключатель страницы настроек плеера на страницу настроек внешнего вида плеера
6) Переключатель страницы настроек плеера на страницу выбора скина плеера
7) Кнопка выхода в главное окно плеера
8) Кнопка сохранения настроек плеера
9) Переключатель "Обратное время трека" позволяет изменить отображение в главном окне плеера времени проигранного трека на оставшееся время.
10)Переключатель "Прокрутка названия трека" позволяет включить перемещение названия трека по главному окну плеера, если оно не входит в его размеры.
11)Переключатель "Прокручивать короткие названия" позволяет включить перемещение названия трека по главному окну плеера, даже если они входят в размеры окна. Для работы этой функции должна быть включена функция "Прокручивать названия трека".
12)Переключатель "Антибаннер-корректор" позволяет включить функцию очистки названия трека и тегов от ненужных символов и слов, слова можно указать в каталоге с настройками плеера в файле nobanner.txt
13)Переключатель "Считывать обложку альбома" позволяет включить функцию загрузки и отображения обложки альбома проигрываемого трека из тегов или если их нет, то из каталога с проигрываемым треком из файла cover.jpg
14)Переключатель "Включить визуализацию" позволяет отобразить в главном окне плеера визуализатор.
15)Переключатель "Название трека в 2 строки" позволяет разделить название трека на артиста и название трека и разместить их на разных строках в главном окне плеера.

Настройки плеера: Страница "Скин"

Прикрепленное изображение


На странице скин вы можете просмотреть список доступных скинов, их внешний вид и представление, а так же возможность их установки в плеер.

1) Переключатель страницы настроек плеера на страницу "Основные настройки"
2) Переключатель страницы настроек плеера на страницу настроек плейлиста
3) Переключатель страницы настроек плеера на страницу настроек звука
4) Переключатель страницы настроек плеера на страницу настроек производительности плеера
5) Переключатель страницы настроек плеера на страницу настроек внешнего вида плеера
6) Переключатель страницы настроек плеера на страницу выбора скина плеера
7) Кнопка выхода в главное окно плеера
8) Кнопка сохранения настроек плеера
9) Список доступных скинов, которые находятся в папке плеера в каталоге Skins. Здесь можно изменить текущий скин плеера выбрав нужный из списка.

Настройки плеера: Страница "Скин - выбран скин"

Прикрепленное изображение


1) Переключатель страницы настроек плеера на страницу "Основные настройки"
2) Переключатель страницы настроек плеера на страницу настроек плейлиста
3) Переключатель страницы настроек плеера на страницу настроек звука
4) Переключатель страницы настроек плеера на страницу настроек производительности плеера
5) Переключатель страницы настроек плеера на страницу настроек внешнего вида плеера
6) Переключатель страницы настроек плеера на страницу выбора скина плеера
7) Кнопка выхода в главное окно плеера
8) Кнопка сохранения настроек плеера
9) Информация о названии выбранного скина
10)Информация об авторе выбранного скина
11)Информация о версии выбранного скина и ее соответствии плееру.
12)Предварительный просмотр выбранного скина
13)Кнопка "выбор" позволяет применить выбранный скин
14)Кнопка "отмена" позволяет отказаться от применения выбранного скина

Диалог удаления трека

Прикрепленное изображение


1) Название выбранного трека для удаления
2) Удалить выбранный трек с диска консоли безвозвратно
3) Отменить удаление трека.

Диалог добавления трека в избранное

Прикрепленное изображение


1) Название выбранного трека для для добавления в избранное
2) Добавить выбранный трек в плейлист "Избранное"
3) Добавить выбранный трек в плейлист "Избранное" и скопировать в указанный каталог путь к которому указан в ключе favoritfolder в конфиге плеера playersettings.ini

Техническая информация
Плеер имеет внешние элементы управления, средствами отсылки и приема wm сообщений sendmessage. Это позволяет использовать внешние ресурсы для работы с плеером, например благодаря стараниям Akhmed_d реализовано управление меню и плеером с пульта на руле.
Управляющая команда для плеера WM_IMCOMMAND, ее можно отсылать всем окнам с необходимыми параметрами.

Плеер поддерживает следующий список команд:
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',0,0) - переместить окно плеера по координатам left=0 top=0
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',0,1) - закрыть окно плеера
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,1) - играть следующий трек
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,2) - играть предыдущий трек
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,3) - пауза/проигрывание
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,4) - свернуть плеер
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,5) - закрыть плеер
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,6) - показать плеер
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,7) - установить следующий плейлист
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,8) - установить предыдущий плейлист
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,9) - запросить общее время трека, ответ в wm_copydata в виде tracktime:63
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,10) - запросить текущее время трека, ответ в wm_copydata в виде trackpos:10
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,11) - задать позицию проигрывания +5 сек
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,12) - задать позицию проигрывания -6 сек
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',3,N) - перемотка трека вперед на N секунд
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',4,N) - перемотка трека назад на N секунд

Список формировался по мере надобности, большинство возможностей плеера еще не добавлено в механизм управления внешними командами. Но в будущем список будет пополняться.

При выходе из плеера всем окнам рассылается сообщение SP_Exit

Скиностроительство
SinglePlayer имеет гибкий механизм создания оформления, большое количество настраиваемых переменных, динамических значений и управляющих команд.
Скины плеера должны лежать в каталоге который указан в конфиге плеера playersettings.ini в ключе skindir. По умолчанию это каталог плеера + папка Skins\

Скин состоит из:
1) папки, название которой является названием скина и отображается в менеджере скинов плеера
2) Конфига скина skcfg.cfg который находится в папке с названием скина
3) папки icons которая находится в папке с названием скина, в которой находятся все иконки скина
Иконки плеера должны быть ТОЛЬКО в формате JPG. Данный формат был выбран чисто из-за практических соображений. Достоинства данного формата в легковесности картинки, высокой скорости загрузки и отрисовки картинки, а так же отличным и достаточным параметром качества картинки. К минусам можно отнести только отсутствие прозрачности, но на консоли ММС 2190 использовать прозрачность проблематично в связи со слабым железом, любые динамические действия отрабатываются очень медленно, что полностью убивает оправданность использования прозрачности и форматов с их поддержкой.
В конфиге скина skcfg.cfg находятся все его настройки и параметры в виде ini файла, который имеет секционную структуру:

[секция]
ключ=значение
ключ2=значение

[секция2]
ключ=значение
ключ2=значение

Для каждой иконки указана своя секция с параметрами этой иконки. Так же есть секции базовых настроек скина. Подробнее о каждой секции:
Начнем с главного элемента любого скина: Иконка. Секция иконки имеет заголовок в виде icon + порядковый номер иконки и имеет следующие возможные ключи влияющие на конкретную иконку

[icon1] - название секции для иконок имеет порядковый номер, что позволяет считывать параметры иконок в цикле
caption - имя файла иконки, находящейся в папке icons. Пример fon.jpg
height - высота области иконки при нажатии на которую будут выполняться действия связанные с иконкой, нужно указывать равным высоте иконки.
width - ширина области иконки при нажатии на которую будут выполняться действия связанные с иконкой, нужно указывать равным ширине иконки.
left - положение области расположения иконки, левый край
top - положение области расположения иконки, верхний край
transparent - псевдо прозрачность для jpg, работает на программном уровне, не очень хорошо.. Принимает значения true и false. По-умолчанию false
typeicon - название страницы, на которой рисовать иконку (названия всех страниц будут написаны ниже)
exec - параметр для запуска команд плеера (названия всех команд будет указано ниже) и внешних программ
visible - ключ отвечающий за отображение иконки, принимает значения true или false. Если значения false, то иконка не выполняет команды и не видна.
execopt - дополнительный параметр запуска команд, передает значения, параметры для команды exec
clickiconcaption - имя файла иконки, которая отобразится на месте текущей иконки в момент нажатиия на нее
Zpriority - ключ передает повышенный приоритет отображения иконке. Принимает значения 1 или 0. Если значение 1, то иконка будет прорисована поверх текста, примитивов и иконок без приоритета.
text - принимает значение подписи иконки
textleft - положение подписи иконки слева
texttop - положение подписи иконки сверху
textsize - размер текста подписи иконки
textcolor - цвет текста подписи иконки
textcolorclick - цвет текста подписи иконки, который отобразится при нажатии на иконку
textautosize - автоматически выставляет размер текста если при текущем размере длинна подписи не входит в границы между textleft и maxright или между textleft и minleft
maxright - максимальная правая граница подписи если подпись выровнена по левому краю
minleft - минимальная левая граница подписи если подпись выровнена по правому краю
textbold - делает текст подписи жирным
textitalic - делает текст подписи курсивом

С иконками разобрались, далее переходим к секциям:
[mainform] - В этой секции указана базовая информация о скине, которая отображается в менеджере выбора скинов в плеере
[singleplayer] - В ней указаны параметры расположения элементов строк или примитивов во всех окнах кроме плейлиста, эквалайзера и поисковика.
[playlist] - Здесь указаны параметры элементов и примитивов плейлиста
[eq] - Здесь указаны параметры элементов и примитивов эквалайзера
[keqboard] - Здесь указаны параметры элементов и примитивов поисковика
[words] - В этой секции расположен языковой пакет плеера
Далее идут секции раскладок клавиатуры в виде [keymode1] [keymode2] [keymode3] и так далее до 10. В каждой секции раскладок может находиться от 1 до 40 ключей, которые принимают значения символов. ВАЖНО все символы в раскладках должны быть заглавными! выглядит это так:
[keymode1]
1=G
2=L
3=I

Подробное описание всех ключей этих секций Вы сможете найти в конфиге штатного скина. Ключей ОЧЕНЬ много и нет смысла выписывать их здесь. Все ключи подписаны и доступны.

Команды exec
Команды, принимаемые ключом exec, позволяют выполнять действия в плеере по нажатию на иконку.
Полный список команд:
halt - выход из плеера
playerexit - выход из плеера
singleplayer - запуск плеера и отображение главного окна
iradio - отображение окна Интернет-радио
singlestopplay - пауза/воспроизведение
minimize - свернуть окно плеера
iradioexit - закрыть окно Интернет-радио и вернуться в главное окно плеера
playurl - Запустить проигрывание Интернет-потока адрес которого прописан в ключе execopt
explorer - открыть проводник с последующим созданием нового плейлиста и добавлением в него треков
exploreradd - открыть проводник и добавление треков в текущий плейлист
dirback - вернуться на папку вверх, в проводнике
explorerexit - закрыть проводник
disktree - открыть проводник и перейти в каталог указанный в ключе caption без расширения. Например, если caption=usbdir.jpg то откроется проводник и отобразится содержимое каталога usbdir если он существует.
nexttrack - проиграть следующий трек, либо включить перемотку вперед если нажатие удерживается
prevtrack - проиграть предыдущий трек, либо включить перемотку назад если нажатие удерживается
nextfolder - найти следующий трек из плейлиста каталог которого отличен от каталога текущего проигрываемого трека, воспроизвести найденный трек
prevfolder - найти предыдущий трек из плейлиста каталог которого отличен от каталога текущего проигрываемого трека, воспроизвести найденный трек
exptree - включить отображение папок и треков списком в проводнике
expsetka - включить отображение папок и треков сеткой в проводнике
nextpls - установить следующий плейлист текущим
prevpls - установить предыдущий плейлист текущим
shuffle - включить режим случайного выбора трека при проигрывании
playone - включить режим проигрывания одного трека
nonerej - включить режим проигрывания треков по очереди
timetracknap - переключить отображение текущего времени проигрывания трека на оставшееся время проигрывания и обратно
volup - увеличить громкость плеера
voldown - уменьшить громкость плеера
muteon - отключить звук плеера
muteoff - включить звук плеера
cicleplson - включить функцию цикличного проигрывания плейлиста
cicleplsoff - выключить функцию цикличного проигрывания плейлиста
folderaddon - выключить режим навигации по проводнику и включить режим добавления каталогов при нажатии на них
folderaddoff - выключить режим добавления каталогов и включить режим навигации по проводнику
wheeloneon - включить управления жестами
wheeloneoff -выключить управление жестами
manyaddon - включить режим множественного выбора папок и треков в проводнике
manyaddoff - выключить режим множественного выбора папок и треков в проводнике
manyaddstart - запустить добавление выбранных папок и треков в плейлист
plssort - отсортировать текущий плейлист по алфавиту
plsclear - очистить текущий плейлист
keyboardmodesw - переключить раскладку клавиатуры
eq - открыть окно эквалайзера и эффектов
playlistexit - закрыть окно плейлиста
plsnextpage - переместить список треков в плейлисте вверх
plsforwpage - переместить список треков в плейлисте вниз
playlist - открыть окно плейлиста
playersettings - открыть окно настроек плеера
keyboard - открыть окно поисковика
keyboardexit - закрыть окно поисковика
keydel - удалить последний символ в строке поиска
searchclear - очистить строку поиска
probel - вставить пробел в строку поиска
searchalltrack - обновить базу треков или тегов для поиска строки
searchinallpls - включить режим поиска строки во всех плейлистах
searchinonepls - выключить режим поиска во всех плейлистах и искать в текущем плейлисте
addtonext - добавить выбранный трек в очередь треков
tagsearchon - включить режим поиска трека по тегам
tagsearchoff - выключить режим поиска трека по тегам и искать строку в названии трека
shownexttrackpls - отобразить окно очереди треков
closenexttrackpls - закрыть окно очереди треков
clearnexttrackpls - очистить список очереди треков
generalsetpl - выбрать вкладку основных настроек плеера
playlistset - выбрать вкладку настроек плейлиста
soundsetpl - выбрать вкладку настроек звука плеера
plsetperf - выбрать вкладку настроек производительности плеера
plsetskin - выбрать вкладку менеджера скинов плеера
playerfaceset - применить выбранный скин
curplsup - переместить выбранный трек вверх, в проводнике
curplsdown - переместить выбранный трек вниз, в проводнике
findsfup - переместить список найденных треков или список очереди вниз
findspdown - переместить список найденных треков или список очереди вверх
curplsdel - удалить выбранный трек из плейлиста
curplsdeldisk - задать вопрос об удалении выбранного трека с плейлиста и диска
curplsfav - задать вопрос о добавлении выбранного трека в избранное или избранное с копированием в отдельную папку
playersettingsexit - выход из страницы настроек плеера
eqexit - выход из страницы эквалайзера и эффектов
eqapply - применить значения эквалайзера
genrel - выбрать предыдущий пресет эквалайзера
genrer - выбрать следующий пресет эквалайзера
eqsave - применить и сохранить значения эквалайзера и эффектов
exponefolder - включить режим добавления в плейлист одной папки без подпапок
eqvk - включить эквалайзер и эффекты
eqoff - выключить эквалайзер и эффекты
expmanyfolder - включить режим добавления треков из папки и ее подпапок
exponefile - включить режим добавления одного трека
plsetapply - применить настройки плеера
plsetwrite - сохранить настройки плеера
startsaver - запустить заставку меню
nextpage - отобразить следующие папки и треки в проводнике
forwpage - отобразить предыдущие треки и папки в проводнике
virtualpage - создает виртуальную страницу с названием, которое указано в execopt. Для размещения иконок на этой странице в параметрах typeicon укажите значение этого execopt.
randomizepls - Перемешать текущий плейлист
sysvolup - Увеличить уровень системной громкости
sysvoldown - Уменьшить уровень системной громкости

Значения typeicon
Ключ typeicon принимает названия страниц, на которых нужно отобразить иконку. Вы можете придумать свою страницу и разместить на ней иконки. Для этого создайте иконку в существующей странице, например в главном окне плеера и укажите иконке параметры exec=virtualpage, а execopt=mypage. В результате при нажатии на эту иконку отобразится страница mypage с расположенными на ней иконками ключ, у которых typeicon = mypage.
Полный список страниц
singleplayer - главное окно плеера
eq - окно эквалайзера и эффектов
disktree - проводник плеера
explorer - окно выбора дисков проводника
playlist - плейлист плеера
iradio - окно Интернет-радиостанций
playersettings - окно настроек плеера
keyboard - окно поисковика

Выравнивание текста
Для значений textleft и всех строк конфига, отвечающим за положение строки слева доступны выравнивания. По середине, по правому краю и в пределах указанных левой и правой границы.
Для выравнивания строки по центру между двумя точками ключу левого края нужно указать значения textleft=1:center:800. Это выровняет строку по середине в промежутке между точками 1 и 800. В нашей консоли это будет по середине экрана. Если указать textleft=1:center:300 строка будет выровнена в промежутке между 1 и 300 точкой
Если значению положению слева указать выравнивание справа textleft=right:400 правый край строки будет находиться на 400 точке.
Совместно с ключами выравнивания можно использовать авторазмер строки textautosize=true, который позволяет уменьшать размер букв строки, если строка не вмещается в границы выравнивания.

maxright и minleft в секции иконки
maxright задает максимальную правую границу при которой текст начинает уменьшаться если выходит за его пределы. minleft указывает минимальную левую границу начала текста при пересечении которой, например при выравнивании от правого края, текст начнет уменьшаться. Если ключи не планируется использовать или они мешают размещать текст как было раньше, указывайте maxright=800, minleft=0. Либо удалите эти ключи из секции.

Динамические переменные
Позволяют скиноделу разместить переменную(в секции иконки) указав текстовую строку в виде text=%time% В результате в меню в месте размещения строки отобразится время.
полный список динамических переменных
%track% - Артист + название трека проигрываемого в данный момент
%playervol% - текущий уровень громкости плеера
%playfolder% - текущий каталог проигрываемого трека
%curbitrate% - текущий уровень сжатия потока, битрейт
%cureq% - текущий пресет эквалайзера
%curpos% - текущая проигрываемая позиция трека
%tracktime% - общее время текущего трека
%nomplaytrack% - текущий номер трека в плейлисте
%curplaylist% - текущий плейлист
%kolltrack% - количество треков в текущем плейлисте
%skinname% - текущее названия скина
%curpage% - текущий норм сттраницы в проводнике
%artisttrack% - текущий исполнитель
%titletrack% - текущее название трека
%curentdir% - текущий каталог проигрываемого трека
%playfile% - название файла проигрываемого трека
%curplaylistpage% - текущая страница в плейлисте
%playlistpages% - количество страниц в плейлисте
%SinglePlayerDir% - каталог с плеером
%playerversion% - текущая версия плеера
%time% - текущее время системы
%date% - текущая дата системы
%genreintrack% - жанр трека, указанный в тегах id3v2
%albumintrack% - название альбома трека, указанное в тегах id3v2
%yearintrack% - год трека, указанный в тегах id3v2
%commentintrack% - комментарий трека, указанный в тегах id3v2
%curentsysvol% - Устанавливаемый уровень системной громкости

Список будет пополняться со временем...

С конфигами разобрались, теперь посмотрим как делать иконки.
Для создания иконок лучше всего использовать фотошоп.. нет? я не знаю, фотошоп крутая штука поэтому покупаем фотошоп(а как иначе..)и немного инфы по работе в нем.
Проще всего начать скин с главного общего фона, на котором будут располагаться вспомогательные иконки. Тем самым вы добьетесь минимального размера вашего скина. Делаем холст с черным фоном 800х480 и собираем на нем фоновую картинку... ... ... готово!:

Прикрепленное изображение


Важно понимать, что фоновая картинка в конфиге должна быть прописана как можно выше по номеру секций.. в идеале фоном должна быть секция [icon1]. В результате остальные иконки будут рисоваться на фоне а не под ним. Забыли сделать фон первым? Не беда. .ставим иконке фона ключу Zpriority=1 и фон всегда сверху. Указываем фону параметр typeicon=eq disktree explorer playlist iradio playersettings keyboard singleplayer и вот наш фон на всех страницах. Далее вам нужно будет сделать иконки кнопок и разместить их на фоне. Об это позже, а сейчас еще одна хитрость.
Секциям иконок не обязательно указывать имя картинки, которая будет загружаться в память, достаточно просто указать все параметры иконки без параметра caption. Тогда в месте размещения иконки будет активна область, при нажатии на которую будут выполняться указанные ей действия. Остается лишь нарисовать на фоне эту иконку, прям в фотошопе. Но есть один нюанс, фоновую картинку, полностью нарисованную в фотошопе, придется сделать для каждого окна плеера: главное окно, плейлист, эквалайзер, настройки, поиск, проводник и окно выбора дисков. Зато мы практически вдвое уменьшим количество иконок ,ведь при таком подходе нужно будет нарисовать, помимо фонов, только иконки с подсветкой появляющиеся при нажатии на иконку.

В любом случае хоть будет общий фон и иконки для каждой кнопки+подсветки, хоть несколько фонов + иконки подсветки, нам нужно будет разместить иконки так, что бы они влились в фон и выглядели как родные. Для этого делается заготовка уже сформированного фона со всеми кнопками в фотошопе:

Прикрепленное изображение


Делаем иконку: Выбираем инструмент "Прямоугольная область". Выделяем ею на фоне область нужной кнопки, жмем правой кнопкой по выделенной области, жмем "свободное трансформирование". Сверху в инструментах у вас появились нужные нам значения - Х У Ш В (левый край, верхний край, ширина, высота). На значениях ширины и высоты жмем правой кнопкой и выбираем отображение в пикселах. Запоминаем 4 этих значения, к примеру: X - 301, Y - 375, Ш - 109, В - 73

Прикрепленное изображение


Далее запускам програмку scincor.exe (в посту снизу) и вписываем туда эти значения, там 4 поля подписаны теме же буквами, не перепутайте значения.. Ш пишем в Ш. Жмем "сформировать" и справа в окошке видим результат расчетов, копируем эти строки в конфиг иконки.

Прикрепленное изображение


В результате получится вот так:

[icon1]
caption=fon.jpg
left=0
top=0
width=0
height=0
visible=true
typeicon=eq disktree explorer playlist iradio playersettings keyboard singleplayer

[icon2]
caption=prevtrack.jpg
clickiconcaption=prevtrackPRESSED.jpg
left=247
top=340
width=109
height=73
visible=true
typeicon=singleplayer

Далее жмем ESC в фотошопе, что бы снять функцию свободного трансформирования, видим выделенную иконку, нажимаем Ctrl+C. Далее жмем в панели сверху: Файл - создать. Открывается окно создания новой формы, а так как мы скопировали выделенную область ранее, размеры новой формы автоматически вписались нужные нам. Единственное что проверьте в этом окне значение поля "содержимое поля" Лучше, если бы оно было Черным, если черный выставить не удается, сделайте прозрачным. Жмем ОК. Открывается новая форма в размер нашей иконки, жмем Ctrl+V что бы вставить нашу иконку. Иконка готова, осталось ее сохранить. Нажимаем "Файл" - "сохранить для web". Откроется окно, в котором выбираем формат JPEG, качество "Высокое".
Прикрепленное изображение

Жмем сохранить, указав конечную папку icons в папке со скином под названием prevtrack.jpg. Теперь нам нужно сделать из нее же кнопку подсветки. Я не мастер фотошопов поэтому будем тыкаться наугад, Выбираем инструмент "Волшебная палочка", зажимаем Shift и жмем на внутренний рисунок иконки что бы добиться такого результата выделения:

Прикрепленное изображение


Нажимаем правой кнопкой на выделенной области и выбираем "скопировать на новый слой". Справа в списке слоев появился новый слой, состоящий из нашего выделенного рисунка. Нажимаем два раза на этом слое в списке слоев, откроется окно "Стиль слоя". Ставим галочку внешнее свечение, жмем на строку "внешнее свечение", выбираем в этом окне нужный нам цвет свечения, двигаем ползунок "размер", что бы добиться наилучшего эффекта, главное, что бы свечение не вышло за пределы иконки (в следующий раз выделяйте область иконки больше) как то так:

Прикрепленное изображение


Жмем ОК и сохраняем иконку.. как мы это сделали выше, только изменив ее название на prevtrackPRESSED.jpg. Готово. Теперь у вас будет отображаться фон с кнопкой переключения трека, и при нажатии на нее будет выполняться ее подсветка. А если на фоне уже нарисованы все кнопки, то prevtrack.jpg можно не делать и убрать это название из секции иконки. Результат будет тот же.

Готовые оформления
Здесь представлены ссылки на готовые скины для плеера, проверенные мной.
Скины адаптированы под версию плеера 2.1 авторами скинов.
VESTA
Автор скина Fear32
Скачать
Прикрепленное изображение


Discover
Автор скина Fear32
Скачать
Прикрепленное изображение


R52
Автор скина Fear32
Скачать
Прикрепленное изображение


G52
Автор скина Fear32
Скачать
Прикрепленное изображение


Win7
Автор скина isaev161
Скачать
Прикрепленное изображение


Chromium 2
Автор скина kulagin5
Скачать
Прикрепленное изображение


Chromium 3
Автор скина kulagin5
Скачать
Прикрепленное изображение


Lada_Green
Автор скина greg_b
Скачать
Прикрепленное изображение


HotSammer
Автор скина wwss
Скачать
Прикрепленное изображение


RedGrey, Chromium Grey, Vesta SE
Автор скина qvixxx
Скачать
Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение


S100
Автор скина plastic61
Скачать
Прикрепленное изображение


AppleCarPlay
Автор скина AndrAZ11
Скачать
Прикрепленное изображение


Остальные скины еще не адаптированы под версию плеера 2.1
Скины будут добавляться по мере их появления. Если Вы сделали или адаптировали скин для плеера, сообщите мне в личку, я оформлю его в этой шапке.

Полезное от пользователей

Благодарности
В этом разделе находятся люди, которые помогают или способствуют развитию проекта SingleMenu+SinglePlayer. Им я говорю СПАСИБО!
Разработчики:
TarLink - Автор множества прошивок под наши консоли, все мы его знаем и уважаем.Поднять репутацию
CrazyDron - Автор SingleMenu и активный разработчик альтернативных меню и расширения возможностей консоли. Поднять репутацию
Fear32 - Автор практически всех скинов меню и плеера. Именно на основе его скинов делают скины другие. Поднять репутацию
antonio-dj - Автор библиотек mmc_can и mmc_bt. Благодаря его работе вы можете видеть показания датчиков, поступающих в CAN шину, а так же работать с телефоном в консоли через блютус.Поднять репутацию
magix79 - Этот человек поднял на новый уровень возможности нашей консоли, сделав лучшее альтернативное меню. Благодаря его работе существуют практически все альтернативные оболочки нашей консоли Поднять репутацию
Akhmed_d - Железных дел мастер, кнопки на руле, вход ACC, Микс колонок, вход AUX это все его заслуги. Поднять репутацию
Скиноделы:
vitek_W336
kulagin5
ozhviktor
Basiak87
e.s.oshurkov
nrg161rus
isaev161
greg_b
AlKeen
Отдельная благодарность udarkness за предоставленный хостинг
Сильно не ругать если когото забыл.

Список версий и изменений
2.8.3
2.8.3
f исправлено прокрутка названия треков
f исправлено отображение смены названия трека в заставке
f исправлено отображение обложки в радио
f оптимизирована функция чтения настроек плеера (CrazyDron Mod)
f Исправлена чтение картинок в конвертере скинов, если расширения были заглавными буквами

2.8.2
2.8.2
+ Добавлена поддержка кодека musepack. Треки с расширением mpc
f Время запуска плеера уменьшено в 4 раза. Время запуска плеера равно примерно 3 секундам.
f Потребление оперативной памяти плеером уменьшено в два раза. На данный момент плеер со штатным скином занимает около 4 мегабайт.
f Загрузка процессора в режиме простоя уменьшена вдвое с 12% до 6-7%
f Изменен формат скина, теперь все иконки имеют расширение bmp. Старые скины не подходят.
f Стадартная процедура чтения cfg/ini файлов заменена на написанную CrazyDron. Теперь настройки читаются очень быстро. Fix от CrazyDron.
+ Добавлен конвертер скинов со старых версий в новые.

2.8
2.8
+ Реализован механизм полной локализации плеера. Языковые пакеты вынесены из скина в отдельный файл langs.cfg. В пакете прописаны статические и динамические переменные. Динамические переменные языкового пакета позволяют задать переменную для подписи иконок. Если в скине указать ключу иконки text=#~anytext~# то подпись к иконке примет значение переменной anytext из языкового пакета. Просьба скиноделам, переделать подписи к иконкам под динамические переменные если они хотят иметь возможность локализовать свой скин.
+ Добавлена Английская и Хорватская локализация. Thanks vantufri(tux2609). Выбор языка выполняется в настройках плеера.
+ Добавлена поддержка локальных плейлистов pls и m3u. Их можно добавлять в плейлист плеера. Если в плейлистах будут ссылки на радиопотоки, они так же добавятся в плейлист плеера.
+ Добавлена поддержка cue. Но при добавлении cue в плейлист, не отобразятся названия треков. Они будут все названы общим названием. Переключение по трекам cue работает и из плейлиста и кнопками переключения треков.
+ Автовоспроизведение ранее игравшего радиопотока при включении плеера.
f При включенных свайпах не нажимались кнопки всплывающих диалогов.
f После удаления текущего(проигрываемого) трека не происходила перемотка плейлиста до следующего проигрываемого.
f Исправлено отображение цвета рамки трека в плейлисте. В skcfg.cfg в секцию playlist добавлен ключ recttrackcolor.
f Если трек проигрывался, то не копировался в папку "избранное".
+ Сделано отслеживание номера трека и плейлиста при отсеивании в том числе и для массива тегов. (CrazyDron mod)
+ Сделано отображение номера плейлиста и трека в нём при отсеивании из всех плейлистов. (CrazyDron mod)
+ Долгий тап на папку в проводнике добавляет всё её содержимое в плейлист. (CrazyDron mod)
+ Долгий тап на устройство (SDMMC/USB Disk и т.д.) добавляет всё его содержимое в плейлист. (CrazyDron mod)
+ Поиск трека клавиатурой: для каждого трека запоминается его плейлист и номер трека в нём. (CrazyDron mod)
f Понижен приоритет потока загрузка картинки трека. Картинка может подгружаться дольше, но не затыкая плеер. (CrazyDron mod)
f Максимальное значение радиобуфера увеличено до 3-х минут (180 секунд). Идея pleseck. (CrazyDron mod)
f При работе инет-радио скрываются время трека и прогрессбар. (CrazyDron mod)
f При обрыве потока инет-радио (например, пропал интернет) выполняется реконнект этого же радио. (CrazyDron mod)

2.7
2.7
f Свайпы действуют только в области перемещаемых объектов и не мешают кнопкам интерфейса. В плейлисте так-же не свайпит по выбранному треку.
f Исправлена кодировка в названии трека Интернет-радио
+ Сделано отображение процесса буферизации Интернет-потока
* Изменен алгоритм подключения к Интернет-потоку. Теперь плеер подключается до 1000 попыток, без задержки между попытками. Подключение к потоку вынесено в отдельный программный поток и не влияет на работу плеера, можно во время подключения, управлять плеером, выбирать другой радио-поток, отменять текущие попытки подключения.
f Исправлено невозможность запуска потока Интернет-радио если не учтен регистр символов ссылки на поток.
f Поправлен регистр символов в плейлисте
+ В дефолтный скин добавлена кнопка Интернет-радио и пара радиостанций на 2 страницах.
* Кнопка "перемешать текущий плейлист" перенесена в плейлист
+ В настройки плеера (звук) добавлена возможность вкл/выкл вывода 32 битного сигнала. Если выключено, вывод будет 16 бит.
+ В настройки плеера (Система) добавлена возможность изменения частоты дискретизации. Чем выше частота дискретизации, тем более широкий спектр сигнала может быть представлен в дискретном сигнале. Если параметр выключен, то будет установлено 44100 гц. (PlayerFreq)
+ В настройки плеера (Система) добавлена возможность изменения длинны буфера воспроизведения ПЛЕЕРА. В буфер помещаются данные проигрываемого трека. Чем больше буфер, тем дольше будет играть трек если, например, трек удалить. Если параметр выключен, то будет установлено 200 мкс. (PlayerBuffer)
+ В настройки плеера (Система) добавлена возможность изменения длинны буфера воспроизведения РАДИО. В буфер помещаются данные Интернет-потока радиостанции. Чем больше буфер радио, тем дольше будет играть поток если, например, пропадет Интернет. Если параметр выключен, то будет установлено 10000 мкс (NetBuffer)
+ В настройки плеера (Система) добавлена возможность изменения пребуфера радио. Значение выражено в процентах загруженных данных потока в буфер радио ,при котором поток начнет проигрываться. Если параметр выключен, то будет установлено 75%. (NetPreBuffer)
+ В настройки плеера (Система) добавлена возможность изменения частоты обновления буфера ПЛЕЕРА. Позволяет указать как часто нужно пополнять буфер плеера. Если параметр выключен, то будет установлено 100 мкс. (PlayerUpdate)
+ В настройки плеера (Система) добавлена возможность изменения времени ожидания ответа сервера на запрос соединения. Если параметр выключен, то будет установлено 10000 мкс. (RadioTimeOut)
+ В настройки плеера (Система) добавлена возможность изменения время ожидания для сервера. По истечению времени, поток будет закрыт. Если параметр выключен, то поток не разорвется. Можно установить от 1 минуты до 1 часа в микросекундах (/1000) (RadioTimeRead)
+ В конфиг плеера (playersettings.ini) добавлена возможность указать ключ netagent. Он принимает значение User Agenta Интернет-радио. По-умолчанию User Agent имеет значение SinglePlayer + версия плеера. Пример: netagent=Mozilla Player
+ В прокрутку названия трека добавлена 3 секундная задержка в начале прокрутки.

2.6
+ В настройках плеера - внешний вид, добавлен переключатель отображения/считывания тегов.
+ На странице эквалайзера добавлен переключатель выкл/вкл управления громкостью системы. Команды переключателя: sysvolchangeon sysvolchangeoff
* Эффекты и фильтры отвязаны от эквалайзера, их можно включать и настраивать при выключенном эквалайзере.
* Сохранеие статусов вкл/выкл эффектов и фильтров перенесено в файл eq.conf и завязано для каждого пресета. Теперь при переключении пресетов, будут включаться установленные только для него эффекты и фильтры.
f Эффекты и фильтры не применялись к интернет-радио
f Если в typeicon указано больше одного значения, то иконка не выполняла свой exec.
* Эффекты и фильтры вынесены на отдельную страницу.
+ Для иконок эффектов и фильтров добавлены индикаторы состояния. Можно увидеть включен ли эффект не заходя в тонкую настройку.
+ Библиотека bass.dll обновлена до версии 2.4.12
f Исправлена невозможность проигрывать треки если расширение файла написано большими буквами
+ При нажатии на индикаторы состояния эффектов выполняется включение или выключение эффекта.
+ В эквалайзер добавлены ползунки, значения эквалайзера можно выставлять передвижением ползунков. Общая кривая пресета теперь видна визуально.
+ Сделано считывание битрейта потока Интернет-радио
+ Сделано чтение информации о исполнителе и названии трека в Интернет-радио
f Решена важнейшай проблема, существующая с первых версий плеера. Исправлен перегруз звука в пресетах эквалайзера.
* Скорректированы все пресеты в связи с изменением в ширине захвата полос, да и визуально настроить было проще. Напомню что все пресеты собраны из пресетов плеера Winamp
+ Добавлена поддержка кодека ALAC. Это открытый аудиокодек для сжатия без потерь качества цифровой музыки, разработанный Apple для контейнера M4A. Аналог FLAC.

2.5
+ Добавлена функция проигрывания всех плейлистов. Если включен режим случайного проигрывания треков, то проигрываются случайные треки из случайных плейлистов. Если режим случайного проигрывания выключен, то после проигрывания последнего трека в плейлисте, переключается плейлист на следующий и играет его первый трек. Добавлены переключатели playallplson и playallplsoff, а так же вынесено в настройки плеера.
+ Если переключать плейлисты не на странице плейлиста, то пустые плейлисты будут пропускаться.
+ Добавлены динамические переменные:
%radioconnect% - Принимает значение числа попыток подключения к радиостанции + строку connectiradio из языкового пакета
+ В поисковик добавлена кнопка добавления всех найденых треков в список очереди проигрывания. Команда кнопки addtonextall. В скине добавлена соответствующая иконка.
+ Добавлена поддержка проигрывания формата M4A. Это аудио файлы сжатые кодеком AAC. Данный формат используется в треках магазина ITunes.
F Если выключено сохранение позиции и трека, переключение плейлиста с автовоспроизведением, проигрывало трек с прошлого плейлиста, а не нового.
F Если в плейлисте 1 трек и включен рандом, то после постановки на паузу и возобновлении проигрывания, попытка переключить на следующий трек весила плеер.
F Если создать плейлист, добавлением каталога, то проигрывался первый трек прошлого плейлиста, а не созданного.
* В прокрутке названия трека выставлена задержка после конца строки.
+ Добавлены фильтры в эквалайзере: low, high, bandpass, peakingeq, notch.
+ Добавлены новые эффекты в эквалайзере: compressor, distortion, phaser, freeverb, autowah.
+ Сделана тонкая настройка всех эффектов и фильтров а так же частот эквалайзера с ручным указанием частот пресетов. Для тонкой настройки полос эквалайзера, нажмите на значение громкости полосы.
F При изменении значений эквалайзера и переключения пресетов теперь не требует перезапуска потока воспроизведения, звук не заикается при изменении значений эквалайзера.
F При проигрывании интернет-радио не грузилась обложка радиостанции.

2.4f
F Если создать плейлист, добавлением каталога, то проигрывался первый трек прошлого плейлиста, а не созданного.
+ В скине добавлена кнопка перемешивания текущего плейлиста
+ В скине на странице эквалайзера добавлены кнопки регулировки уровня системной громкости
+ В скине на главной странице плеера добавлены переменные жанра трека, названия альбома, и года альбома.
+ В скине добавлена поддержка usb диска "USBDisk"

2.4
F Исправлено невозможность добавить или зайти в каталог если у каталога имелись атрибуты
+ Добавлена поддержка дисков USBDisk USBDisk2 USBDisk3
+ В настройки вынесена возможность включить сортировку плейлиста по каталогам либо оставить как раньше - весь плейлист
+ Добавлена возможность управлять громкостью системы. включается в настройках. Команды управления громкостью системы sysvolup - увеличить громкость на 10 едениц. sysvoldown - уменьшить громкость на 10 едениц
+ Добавлена динамическая переменная %curentsysvol% которая принимает значение устанавливаемой громкости системы
F Если удалить текущий скин, то плеер не запускался. Теперь будет запускаться с первым найденным скином.
+ Добавлена функция "перемешать текущий плейлист". Вызывается командой randomizepls

2.3
F Исправлено считывание и отображение времени в плеере при постановке проигрывания на паузу
F После перезапуска меню, плеер не проигрывал трек нажатием на кнопку play
F Плеер повисал при попытке проиграть несуществующий трек.
F Исправлено отображение визуализации в итернет-радио
F Убрано отображение битрейта в радио. Показывало неверно.
F Пауза проигрывания интернет-радио не требует переподключения.
F Не удалялась буква "Ж" кнопкой удаления последнего символа в поисковике
+ В бинаной версии плеера, если в каталоге с плеером лежит файл logo.jpg, то он отобразится при загрузке плеера по координатам 0,0
+ Теперь в плейлисте можно запускать интернет потоки. Для этого нужно вручную сделать плейлист в папке singleplayer, создав новый или заменив содержимое в существующем. Добавив в список url адреса потоков, можно будет в плеере запускать их через кнопку "плейлист"

2.2
+ Для ключа иконок exec доступно значение virtualpage. Если exec=virtualpage, то при нажатии на иконке создается виртуальная страница с названием указанным в ключе execopt. На виртуальной странице будут отображаться иконки, typeicon у которых равен значению execopt кнопки создания виртуальной страницы. Например:
exec=virtualpage
execopt=mypage
При нажатии на такую иконку создастся и отобразится страница mypage на которой будут размещаться иконки, typeicon у которых равен mypage.
F После смены скина, если перечитать настройки, считывались настройки прошлого скина и не сохранялся текущий.
F Не запускалось автопроигрывание трека при смене плейлиста, если между плейлистами был пустой плейлист.
F Плеер повисал при переключении плейлиста, если до переключения удален текущий плейлист и выполняется проигрывание музыки.
F При создании нового плейлиста нажатием на трек из каталога, проигрывался не нажатый трек, а первый.
F Статус-текст не всегда пропадал по окончанию информированного действия.
+ Добавлены динамические переменные:
%genreintrack% - жанр трека, указанный в тегах id3v2
%albumintrack% - название альбома трека, указанное в тегах id3v2
%yearintrack% - год трека, указанный в тегах id3v2
%commentintrack% - комментарий трека, указанный в тегах id3v2
F Если в расширении файла присутствовали заглавные символы, проводник их не видел.

2.1
F Исправлено добавление каталога при включенных режимах добавления каталогов без подкаталогов и отключенном множественном выборе.
+ В настройки плеера вынесена возможность закрывать проводник после добавления каталогов при любых режимах работы с проводником.
+ Добавлена возможность в конфиге скина указать произвольное количество раскладок клавиатуры, добавляя или удаляя секции keymode1 keymode2 keymode3 ... До 10.
+ В менеджер скинов встроена проверка на соответсвие версии плеера, значению в конфиге скина: singleplayerversion
+ При переключении плейлистов можно запоминать проигрываемый трек и позицию воспроизведения.
+ На странице поиска реализован поиск по тегам id v2. Как в текущем так и во всех плейлистах.
F При переключении на новый несуществующий плейлист, начинал проигрываться первый трек из предыдущего плейлиста.

2.0
+ В настройках добавлена возможность выключать свайпы
+ Добавлена возможность множественного выбора и добавления каталогов и треков в плейлист.
F Исправлена ошибка опроса структуры проводника
+ Добавлена возможность, при смене плейлиста, автоматически воспроизводить первый трек (галочка в настройках) (tocofi)
F+ Функция "листать страницами" заменена на "свайпить по № треков". Позволяет указать количество смены строк при листании сайпами.
F Исправлено считывание тегов с flac файла при нажатии кнопки пвоспроизведения предыдущего трека (fix от CrazyDron)
+ В настройки производительности добавлена возможность указать интенсивность визуализации.
* Функция изменения скорости воспроизведения (tempo) перенесена из настроек в программный эквалайзер
+ В эквалайзер добавлен новый эффект PITCH
F Эффектам tempo и pitch доступны отрицательные значения (только в консоли)
+ Добавлена 32 битная обработка канала. Сигнал на выходе всегда будет 32 битный, это позволит не нагружать процессор конвертированием 32 битных треков в 16 бит(что делается по-умолчанию), и позволит уменьшить уровень шума у тишины трека, которая усиливается внешними усилками. Но вы этого не услышите, поэтому просто читайте следующий пункт, если интересно то тут подробнее. http://www.tiflocomp.ru/docs/sound/params.php
F Для иконок управления треком в плейлисте сделана проверка на наличие. При их отсутствии плейлист работал неправильно.
+ В секцию иконок добавлен ключ Zpriority. Принимает значения 0 и 1. Если ключ не прописан у иконки, то по умолчанию значение равно 0. Если значение ключа = 1, иконка будет прорисовываться поверх текста, примитивов и иконок без приоритета на страницах плеера. Иконка всегда сверху.
+ Добавлен поиск по текущему и всем плейлистам. Окно поиска позволяет проигрывать найденные треки и формировать очередь воспроизведения.
F Исправлено отображение длинных названий песен и папок в проводнике и плейлисте. (Fear32)

1.0.3
1) Добавлено управление свайпами в плейлистах и проводнике.
2) Исправлена динамическая переменная %track%
3) Оптимизирован процесс отрисовки проводника при переключении страниц, навигации по папкам. Проводник теперь не моргает.
4) Добавлен переключатель для скинов для режима листания плейлиста свайпом: wheeloneon и wheeloneoff. Добавлена настройка на вкладку плейлиста. Режим переключает листание свайпом в плейлисте по одному треку или по странице видимых треков.

1.0.2
2) в конфиге скина singleplayer:
а) ключ programmodeicon не нужен, можно отовсюду удалить
б) в секции singleplayer добавлены переменные statustext которые отвечают за строку статуса действий плеера, например такая строка появляеся при сортировке или сохранении плейлиста. Раньше эта страка появлялась вместо названия трека, что не всегда корректно сочеталось со скином

statustextcolor=$FFFFFF
;размер шрифта сообщения статуса плеера
statustextsize=16
;положение слева сообщения статуса плеера
statustextleft=5
;положение сверху сообщения статуса плеера
statustexttop=52

в) теперь ключу typeicon можно указать несколько страниц размещения иконки, напрмиер что бы задать фон на разных страницах, не обязательно грузить две одинаковые иконки, достаточно у одной из них указать: typeicon=page1 page2 page3
г) конфиг скина отвязан от жесткой привязки к иконке фона eqfon.jpg в связи с пунктом "в"
д) параметр typeicon=itelmaplayer заменить на typeicon=singleplayer
е) в секции singleplayer добавлены ключи отображения списка скинов:

;положение слева списка скинов
skinspisleft=50
;положение сверху списка скинов
skinspistop=80
;вертикальное расстояние межу названиями скинов
skinspisvertsm=20
;ширина столбца списка скинов
skinspishorsm=200
;нижняя граница списка скинов, после которой появляется новый столбец
skinspisbottom=340

3) убран весь код относящийся к itelmamenu и все переменные скина и настроек itelmamenu.
4) добавлена поддеркжа карт памяти sdmmc2 sdmmc3 sdmmc4 в автопоиске и проводнике
5) теперь диски привязаны жестко к координатам ,если диска нет то иконка не отображается, если диск есть то отображается. Например можно нарисовать фон где будут потухшие иконки дисков, а при появлении их, они будут загораться. Нужно указать правильные координаты для дисков в скине. Теперь иконки дисков можно размещать на любой странице.
6) Поправлено листание плейлиста. Спасибо CrazyDron.
7) Поправлена строка прогресса трека в визуализации. Спасибо CrazyDron.
8) Исправлено установка шрифта жирным, после появления сообщения смены скина.
9) При создании плейлиста, если добавляется каталог, проигрывать первый трек.
10) Добавлны функции переключения на следующий альбом/каталог в плейлисте. Спасибо CrazyDron.
11) Исправлено считываение обложек если запускать проигрывание в плейлисте
12) Исправлено сохраненной позиции трека при выходе из меню.

0.3.6
f Исправлено выравнивание по центру в модальном окне
+ В секцию иконки добавлен новый ключ textautosize, который принимает значения true/false. Задает авторазмер текста (уменьшает) если его длинна относительно положения слева, выходит за границы экрана.
+ В секцию иконки добавлен новые ключи выравнивания текста: maxright и minleft. maxright задает максимальную правую границу при которой текст начинает уменьшаться если выходит за его пределы. minleft указывает минимальную левую ганицу начала текста при пересечении которой, например при выравнивании от правого края, текст начнет уменьшаться. Если ключи не планируется использовать или они мешают размещать текст как было раньше, указывайте maxright=800, minleft=0. Либо удалите эти ключи из секции.
f Иконки отображающиеся при нажатии, не отображались если в секции иконки не указана основная иконка отображения.
+ Шрифту установлено качество прорисовки cleartype. Теперь текст выглядит плавно и симпотично.
+ В секцию иконки добавлен новый ключ textbold. Позволяет установить шрифт жирным. textbold=true
f Исправлена ошибка при запуске меню из каталога с русскими буквами в пути
+ В секцию иконки добавлен ключ textitalic. Позволяет делать текст курсивом
f Если кавера нет, то отображался черный квадрат
+ Если в тегах нет кавера, то идет поиск cover.jpg в каталоге с треком
f увеличена скорость переключения между плейлистами
+ добавлены wm команды управления меню/плеером:
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,1) - играть следующий трек
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,2) - играть предыдущий трек
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,3) - пауза/проигрвание
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,4) - свернуть плеер
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,5) - закрыть плеер
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,6) - показать плеер
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,7) - установить следующий плейлсит
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,8) - установить предыдущий плейлсит
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,9) - запросить общее время трека, ответ в wm_copydata
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,10) - запросить текущее время трека, ответ в wm_copydata
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,11) - задать позицию проигрывания +5 сек
sendmessage(HWND_BROADCAST,'WM_IMCOMMAND',1,12) - задать позицию проигрывания -6 сек
+ В конфиг скина добавлены динамические переменные. Это позволяет скиноделу разместить переменную(в секции иконки) указав текстовую строку в виде text=%time% В результате в меню в месте размещения строки отобразится время. Список переменных:
%track% - название трека/радио
%playervol% - громкость плеера
%playfolder% - проигрываемая папка
%curbitrate% - текущий битрейт трека
%cureq% - текущий жанр экварайзера плеера
%curpos% - текущая позиция проигрывания трека
%tracktime% - время текущего трека
%nomplaytrack% - номер текущего трека
%curplaylist% - текущий плейлист
%kolltrack% - количество треков в текущем плейлисте
%playspeed% - скорость проигрывания
%syseq% - системный жанр эквалайзера
%sysvidmode% - системный профиль экрана
%car% - выбранная машина
%skinname% - текущий скин
%curpage% - номер страницы в проводнике
%datetime% - дата и время
%date% - дата
%time% - время
%mmcvolume% - громкость консоли
%artisttrack% - артист трека
%titletrack% - название песни
%curentdir% - текущий открытый каталог в проводнике
%playfile% - проигрываемый файл
%curplaylistpage%- номер страницы плейлиста
%playlistpages% - количество страниц плейлиста
%exedir% - каталог с меню
%curentradio% - текущее радио
%cpuinfo% - загрузка процессора плеером
%programmode% - режим меню
%menuversion% - версия меню
%skinprogvers% - текущая версия скина
%curentfreq% - текущая частота радио
%curentnomfreq% - номер канала радио
%curentnamecity% - город радио
+ При переключении трека рассылается wm сообщение в переменной wm_copydata в виде: IP_info:5|200|01:15|03:52|Lumen|Буря где
IP_info - идентификатор сообщения
5 - проигрываемый трек
200 - количество треков
01:15 - текущее время воспроизведение
03:52 - общее время трека
Lumen - исполнитель
Буря - название трека
+ В скине default добавлено радио, возможно выбирать частоты, указывать картинки частотам из оболочки. Не доделано

0.3.5
+ В плеер добавлена широковещательная рассылка проигрываемого трека (исполнитель + название). При переключении трека, рассылается сообщение wm_copydate со строкой в wparam в которой название трека. В lparam этого сообщения находится хендл окна плеера.
+ Добавлен контрол формы меню pubtracktitle, который при пеерключении трека, принимает значение (исполнитель + название) текущего проигрываемого трека. Значение с контрола можно снять например ahk скриптом при помощи функции ControlGetText по имени контрола static1
+ В заставке возможно прорисовывать любые иконки, например фон. Иконке которую нужно прорисовывать в заставке в параметре typeicon нужно прописать screensaver
+ добавлен нативный диспетчер окон/задач. В гранте вызывается аппаратными кнопками сочетанием mute+mode. В калинет кнопкой menu. Позволяет переключаться между окнами, выключать окна прям из диспетчера. Работает как сенсорное управление диспетчером так и аппаратное. Гранта: Вызывается mute+mode. Закрывается кнопкой mute или выбором окна или нажатием вне области диспетчера. Выбор окон осуществялется перемещением строки выбора вниз кнопкой mode или нажатием на строку окна. Отображение выбранного окна вызывается центральной кнопкой или нажатием на строку окна. Калина: Вызывается кнопкой menu долгим нажатием. Закрывается кнопкой menu долгим нажатием или нажатием вне области деспетчера. Выбор окон осуществляется кнопками переключения треков, сле трек - перемещает выбор вниз, пр трек - перемещает выбор вверх. Отображение выбранного окна осуществляется нажатием кнопки ОК или нажатием на строку окна. Короткое нажатие menu активирует окно itelmamenu, если окно уже активировано, отображает главную страницу. Так же доступны кнопки управления окнами в самом диспетчере. p.s В Гранте если вЫключена перемотка трека, при вызове диспетчера задач, будет переключаться трек на предыдущий.
+ В меню добавлена страница настроек экрана
+ Добавлена кнопка включения/выключения камеры з/в
+ Для калины на кнопку подсветки (быстрое нажатие) добавлено переключение 2 режимов экрана: день, ночь. Долгое нажатие вызывает страницу с настройками экрана.
+ Для калины изменены действия на некоторые аппаратные кнопки, добавлено вызов страницы настроек звука на долгое нажатие кнопки media. Плеер теперь не закрывается при коротком нажатии на media. При нажатии на кнопку menu, выходит только в главный экран не возвращаяся обратно откудого пришли.
+ Добавлено информационное модальное окно(всплывающее). В плеере доступна настройка вкл или выкл модального окна. При переключении трека или паузе/старте появляется сообщение поверх всех окон о текущем треке или событии. Так же в меню для калины при переключении подсветки аппаратной кнопкой, появляется соответсвующее сообщение.
+ Сутки разделены по часам в зависимотси от текущего месяца (спасибо e.s.oshurkov)
f Исправлены кнопки всплывающих сообщение при удалении трека и добавлении в избранное
+ Установка громкости системы на максимум при запуске меню/плеера

0.3.4
f Исправлено зависание в режиме плеера при запуске плеера и в эмуляторе
f Исправлено установка громкости в 0 при выключении плеера, в режиме плеера
f Исправлено зависание меню в эмуляторе из за библиотеки mmc23.dll. Теперь ее можно не удялать.
f Исправлено добавление всех подкаталогов при выборе каталога второго уровня в режиме добавления каталогов. Если в режиме добавления каталогов выбрать каталог второго уровня, добавлялись все найденные треки начиная с корня. Исправлено.
f Поправлены скины BigSimpleDark NewBlack в режиме плеера
+ Добавлены три скина: AAGreen CleanStyle GreenTexture_IM

0.3.3
f В антибаннере сделан поиск всех одинаковых вхождений url сайтов для удаления
f Исправлена ошибка загрузки иконок, если иконок в папке меньше чем секций в конфиге, последние иконки не загружались.. количество загруженых иконок равнялось количеству jpg файлов в папке icons
+ Добавлена возможность указать уровень системной громкости при выключении ммс
f Выход из плеера перенаправляет на страницу с иконкой которая запускает плеер. Возможно по такому принципу будет вся логика возврата на предыдущие страницы.
f Исправлены иконки usb накопителей, они не отображались потому что были прописаны неправильные названия
f В режиме плеера не грузились иконки вкладок главноего меню (хоть и не надо было, а понадобилось)
f Исправлено выравнивание трека в плеере, при включенной прокрутке. Если прокрутка включена, то прокрутка начинается с левой границы зоны выравнивания
+ При запуске меню, в каталоге с программой создается файл PID. В котором вписаны хендл процесса, хендл окна, имя окна. Если этот файл удалить во время работы меню, то меню выполнит корректное выключение.
f Убрано сохранение переключателя режима навигации или добавления каталогов в проводнике. При открытии проводника, режим автоматически будет выставляться в режим навигации по проводнику.
+ Добавлена возможность выбирать когда загружать и показывать обложку альбома. Например в скине где в плеере нет обложки незачем грузить ее каждый раз, нагружая процессор и вызывая затормаживания. Можно отключить обложку(и ее загрузку) в заставке и плеере
+ В заставку выводится номер проигрываемого трека и количество треков
+ В конфиг скина выведены настройки визуализации
f Поправлено отжатие иконок, если мышь не под нажатой иконкой.
f Найдена серьезная утечка памяти в 20 мб. Теперь ядро меню занимает 3 мб памяти. Минимальный скин BigSimpleDark занимает 5 мб памяти, максимальный скин default занимает 12 мб памяти. Общий максимальный объем занимаемой памяти в средней 15-20 мб на меню.
f Найдена еще одна серьезная утечка памяти, имеющая непостоянный характер. При запуске меню, вызов функции загрузки иконок мог осуществляться неограниченное количество раз, из за чего создавалось несколько потоков загрузки одних и тех же иконок.
+ Добавлено убивание mmc.exe при запуске меню
f Если время трека меньше часа, не выводить значение часа во времени и позиции трека
+ Для интернет-радио добавлена возможность проигрывать онлайн-плейлисты m3u и pls
+ Добавлено отображение битрейта текущего трека в окно плеера
+ Добавлено отображение каталога проигрываемого трека в плеере
+ В сообщения об удалении трека или добавлении в избранное выведено названия управляемого трека
f При отображении обложки из mp3 и следующим переключении проигрываемого трека типа flac, отображалась обложка прошлого mp3
f При вызове страницы настроек меню из плеера, сворачивание плеера работало некорректно
+ Добавлена возможность выравнивания названия трека и времени в заставке
+ В меню добавлена страница настроек системного звука. Эквалайзер, частотная настройка, баланс звука, Loud и частотная настройка Loud.
+ Добавлена функция поиска подключенных флешек, при появлении новой флешки, выводится предложение добавить треки с флешки в плейлист, или создать новый плейлист. В сообщении можно выбрать нужный плейлист.
+ Добавлена проверка совместимости версии скина с версией меню.

0.3.1
+ Добавлена поддержка тегов для FLAC файлов, функции автоэквалайзера и проигрывать треки согласно жанру работают теперь и для FLAC файлов (Zet42)
+ Добавлена функция изменения скорости воспроизведения трека, будет полезна тем кто слушает аудиокниги. При изменении скорости воспроизведения звук не искажается.
+ Добавлена функция антибаннера-корректора. Антибаннер ищет в тегах алиасы, домены, протоколы, адреса сайтов и вырезает из названия трека. Корректор правит названия треков убирая лишние пробелы, двойные символы, пустые объединения. В файле \conf\nobanner.txt вписывайте строки рекламных сайтов или слов, которые прописываются в теги. Антибаннер-корректор будет убирать их отображение в плеере и заставке.
+ Добавлена опция "Воспроизводить трек при запуске плеера" (Артем Шипулин)
+ В режиме плеера в настройках заставки добавлена галочка вкл/выкл заставку
+ При добавлении или открытии файла в проводнике, путь сохраняется и при повторнов входе в проводник открывается прошлая папка (Alex-v-k)
+ Реализован механизм выравнивая текста в меню. Выравнивать можно по середине заданного промежутка или по правому краую указанного значения. Для выравнивания текстовых строк, в конфиге скина параметрам отвечающим за левую границу строки указывать текст: datetimeleft=1:center:800 - это выровняет строку даты и времени в промежутке между 1 и 800 пикселом.. тобишь по середине экрана. Выравнивание к правой заданной точки задается так: datetimeleft=right:400 где заданная точка равна 400 пикселам. (e.s.oshurkov)
+ Изменен скроллинг названия трека в плеере, место трека не завязано на иконке, указывается ширина под название. Если название трека длинное, прокручивает трек справо на лево пока не выведет все название. Если короткое, прокручивает слево на право, пока не дойдет до конца области отображения названия. Если скроллинг выключен, то при длинном названии обрезает его в месте конца области названия. (e.s.oshurkov)
+ Добавлена опция "Применять значения эквалайзера сразу". Новые значения эквалайзера применяются сразу же после изменения какой либо частоты или эффекта (Alex-v-k)
+ В конфиг скина добавлены переменные задающие цветовую гамму визуализаций
+ Добавлено отображение общего времени трека в плеер/заставку (e.s.oshurkov)
+ В settings.ini добавлен ключ logmode который отвечает за подробный вывод информации о запуске и работе меню
+ Добавлена возможность отключать отображение секунд во времени (Basiak87)
+ В проводник добавлен переключатель режима добавления папки или навигации и добавления файлов (Basiak87)
+ В плейлист добавлены кнопки управления выбранным/проигрываемым треком, которые располагаются не на строке трека. Кнопки стационарны, что позволяет быстро и удобно управлять текущим треком (Basiak87)
f Исправлено отсутствие переключение треков аппаратными кнопками в режиме перемотки трека.
f Исправлено отображение треков в плейлисте, если треков меньше на один чем строк плейлиста.
f Изменен просмоторщик картинок на xnview. Предыдущий не удавалось закрыть из за неудачного расположения крестика.
f При перемотке отключен таймер прорисовки визуализации, из за нее перемотка в заставке с визуализацией тормозила.
f В инфопанели плеера плейлист избранных треков назывался 20ым, а не избранным
f При остановке воспроизведения, прогрессбар пропадал (e.s.oshurkov)
f Библиотеки mmc21.dll mmc23.dll теперь можно использовать родные, для этого нужно удалить библиотеку из папки с меню. Меню сама найдет вашу родную библиотеку, но если у вас гранта, то ее функции очень ограничены и со свой библиотекой в гранте не будет работать перемотка трека.
f Переменная plsettextcolor меняла цвет палочки вкладки на странице настроек плеера, а не текста настроек. Палочке назначена переменная plsetfillcolor (Poligrafov)
f Для itelmaplayer в сборке altmenu отключена заставка itelmamenu
f Если добавить треки в пустой плейлист(кнопка "добавить"), кнопками плей/mext/prev не проигрывался трек. (EgorDS)
f Когда плейлист не цикличный и заканчивается последняя песня - плеер в паузе. Щелкая по "плей" - он так там и остается. Исправлено.
f Языковой пакет вынесен в скин для более тонкой настройки оформления (e.s.oshurkov)
f Если окно меню не активно (запущена другая программа), не запускать заставку.
f В сборке altmenu плеер не убивается, при запуске других плееров или радио. Эта возможность убрана потому что bass.dll не давала убить плеер, тем самым решена проблема отъедания памяти
f Исправлено зависание потоков добавления файлов в плейлист, из за чего мог повиснуть плеер
f Отображение (видимость) переключателей playone,shuffle,nonerej; eqvk,eqoff; exponefile,expmanyfolder,exponefolder; exptree,expsetka. Завязано на процедуре запуска переключателя. Размещение переключателей отвязано от конкретных страниц и названий иконок. (e.s.oshurkov)
f При смене скина, координаты нажатия на прогрессбар не соответствовали корректным относительно нового размера прогрессбара.
f При нажатии кнопки "добавить" в пустой плейлист, файл плейлиста не создавался.
f Исправлена работа кнопки mute в плеере. При плавном изменении звука при паузе, проигрывании, при изменении громкости, муте сбрасывалось. При постановку на муте и планом изменении громкости, при воспроизведении звук не добавлялся. (e.s.oshurkov)
f В скинах был выставлено неправильный размер окна равный 600, а не 480 пикс по высоте, после изменения на 480 меню стало работать раза в два быстрее. Спасибо e.s.oshurkov.
f Улучшен прогрессбар, теперь позиция трека всегда начинается с начала прогрессбара, а не как раньше могла доходить до 100 пикселов при начале воспроизведения. Убраны мертвые зоны прогрессбара при нажатии на которые позиция трека не менялась. Изменен принцип установки ширины прогрессбара, более точная (но не идеальная) установка ширины.. задается сочетанием количества больших блоков и маленьких.
f При смене скина, не обнулялась переменная количества иконок, и если в прошлом скине иконок было меньше чем в новом, то эти иконки не грузились.
f Исправлена ошибка добавления подкаталогов в плейлист, в плейлист не добавлялись подкаталоги начиная с 3 уровня вложенности.
f В окне плеера на паузе не отображалась обложка альбома (Basiak87)

0.3
f При включенной опции плавного затухания звука, если в основном окне плеера остановить воспроизведение, а потом в плейлисте запустить трек двойным нажатием на строку, звук не добавлялся.
+ Добавлена иконка для второй флешки
+ При нажатии на название область отображения названия трека, открывается плейлист
+ Добавлена возможность менять цвет фона и текста заставки в настройках меню
+ Добавлена возможность выводить или не выводить дату, время, время трека в заставку
+ Вывод позиции трека в визуализацию
+ Вывод обложки альбома в плеер
f убрана информация о загрузке иконок при запуске меню
f К иконкам можно прописать полный путь до программ, а не только оттуда где запущено меню. Если вы запускаете программы из каталога в меню, то можно указать путь начиная от каталога внутри папки меню, а не полный путь. Таким образом при изменении названия каталога меню, путь будет браться всегда правильный. Либо если программа находится не в каталоге с меню, то можно указать просто полный путь до нее.
f Прогрессбар полностью заменен нарисованным. Убран стандартный компонент. У нового прогрессбара появилась возможность указать цвет бара, убрать фон или сам бар
f Убран компонент отображения загрузки иконок. Заменен на прямую прорисовку. Из меню выпилены все компоненты среды разработки, кроме страницы настроек. Избавление от этих компонентов связано с тормознутостью прорисовки их.
+ Добавлена возможность в скине выбирать отображение даты и времени
+ Изменение размера обложки вынесено в настройки скина
+ Реализовано управление меню wm коммандами. Управляющая строка WM_IMCOMMAND. Список команд находится в папке с меню.
+ Запись хендла окна меню при запуске в settings.ini
f Изменен принцип запуска и сворачивания меню в режиме плеера. Решены проблемы невозможности свернуть или выйти из плеера при запуске не из под меню. Улучшен принцип отображения плеера из альменю. Убрано создание темпового файла с хендлом, происходит поиск окон по имени и отображение найденного.
f Можно запустить только одну копию меню, повторный запуск отображает окно запущенного на передний план.
f Исправлено изменение позиции воспроизведения трека при регулировке системной громкости из меню от magix (thx magix)
+ добавлено управление аппаратными кнопками для калины/приоры из меню от magix (thx magix)
+ Отображение регулировки системной громкости в виде цифрового сообщения, графика и горизонтального бара.
f В проводнике прорисовывалось два фона (Tarlink)
f В проводнике общий фон был смещен вверх на уровень футера из за чего не удавалось корректно разместить иконки на рельефном фоне (Tarlink)
+ Реакция на нажатие кнопок можно отобразить другой иконкой. Для указания иконки при нажатии, в секцию иконки нужно добавить ключ clickiconcaption=youicon.jpg (nrg161rus)
+ Добавлена функция треков фаворитов, в плейлисте можно указать трек как фаворит, скопировав в плейлист-фаворит, либо в плейлист-фаворит и отдельную папку. Каталог для копирования треков фаворитов задается в settings.ini (pulsar_85)
f Увеличен приоритет процессорного времени для потока загрузки дополнительных иконок, увеличено время запуска меню.
f Загрузка обложек альбомов выведена в отдельный поток, что решает проблему подвисания меню из за того что слишком умные люди засовывают обложку в трек размером больше чем сама песня (igaryan9)
+ Усовершенствован алгоритм рандомного воспроизведения треков, теперь проигранные треки не будут играть повторно до тех пор пока не останется не игравших треков, либо не переключен плейлист (Xasal)
+ Сделана возможность выбора и перезагрузки скина в настройках меню. Реализовано отображение превью скина и краткой информации о нем.
f Каталог со скинами можно размещать в любом месте. Путь к каталогу со скинами задается в settings.ini. При запуске меню, идет поиск каталога в папке с меню, если его нет, то идет поиск по полному пути вне каталога с меню. Если каталог со скинами не обнаружен, программа выключается.
+ Реализована перемотка трека вперед и назад при длительном удержании кнопки переключения трека вперед или назад.
+ Добавлен первый дизайнерский скин от пользователя Tarlink, благодаря его работе, было найдено много косяков и в общем улучшена система построения скинов. Обязательно ставим плюс за терпение и настойчивость.
+ В эквалайзер добавлена кнопка включения и отключения эквалайзера (e.s.oshurkov)
f Исправлено переключение треков назад при включенной опции перемотки треков и проигрывании треков подряд (jastine)

0.2.9
+ В режиме плеера реализована работа кнопки сворачивания. При соврачивании окно плеера прячется, хендл окна записывается в папку conf. При повторном запуске плеера, окно отображается и выводится на передний план. Хендл удаляется.
+ Выложена сборка Lada_NewMenu7.392PreAlfa с интегрированным itelmaplayer
f Исправлен принудительный вывод окна меню наверх, из за чего внешние программы всегда были снизу
0.2.8
+ Реализован запуск меню в режиме плеера. Запустить плеер можно двумя способами:
1) Создать ярлык до программы с параметром 1
2) В файле конфигурации меню параметру programmode указать значение itelmaplayer
+ Добавлена кнопка переключения отображения файлов и папок в проводнике
+ Сообщение о подтверждении удаления трека с диска
+ Все процедуры и функции обрабатываются ловушками исключений. При некорректной работе itelmamenu проверяйте наличие файла error.txt в каталоге с itelmamenu. При наличии этого файла, сообщайте в личку содержимое этого файла.
f Убрана заставка при отображении плейлиста, эквалайзера, проводника
f Обнуление счетчика заставки при нажатии на прогрессбар
f Изменеа логика работы функции "Возврат к началу трека". Если время проигрывания больше 10 секунд, то возвращать к началу трека. (xasal)
f Исправлено проигрывание трека при включенной опции "листать плйлист", при переключении трека назад.
f Исправлена функция сохранения позиции трека при выходе. Если трек проигрывается, то при выходе, позиция запоминается. Если перед выходом остановить воспроизведение, то после выхода, позиция не сохранится. Если после остановки воспроизведения, не выходя из плеера, начать воспроизведение, проигрывать будет с сораненной позиции. При включенной функции "листать плейлист", после остановки воспроизведения, позиция трека сбрасывается для воспроизведения следующего трека с начала.
f При включенной опции "плавное затухание звука" если остановить воспроизведение и выйти из плеера, звук оставался на 0 после начала воспроизведения трека
f Кривая функция преобразования вещественного числа в строку заменена на корректную (Jallar)
f В проводнике исправлено отображение файлов и папок, файлы расположены после папок (CrazyDron)
f Исправлено отсутствие сортировки плейлиста при открытии (а не добавлении) файла с подкаталогами
f Правильное отображение проигрываемого трека в плейлисте после выбора другого трека и закрытия плейлиста
f Исправлено отображение плейлистов при переключении в момент сортирвки записи, чтения
f Исправлена проблема вылета сортировки при смене плейлиста
f Исправлено отображениепроигрываемого трека если добавлено несколько одинаковых треков
f Исправлно переключение на следующий трек из плейлиста
f Надписи кнопок плеера русифицированы, названия задаются в скине (CrazyDron)
f Отзыв нажатия кнопок плеера реализован подсветкой текста кнопок (Din0)

0.2.7
+ Реализован полноценный плейлист
+ Реализована поддержка нескольких плейлистов. Ограничено двадцатью.
+ Удаление трека сразу с диска
+ Функция "перечитать конфигурацию" дополнительно повешена на клавишу 1. Если раскладка клавиатуры русская, не удавалось вызвать переконфигурацию клавишей R
+ Добавлена функция автопереключения визуализации в вечернее и дневное время на указанную в настройках.
+ В настройки плеера добавлена страница производительности. На ней можно указать при каких нагрузках на процессор стоит выключать или включать визуализацию и эквалайзер.
+ Изменен алгоритм сортировки плейлиста, теперь сортировка проходит моментально, не зависимо от его размера
+ Добавлена возможность добавить в плейлист один трек
+ Добавлена функция плавного затухания/поднятия звука при остановке/воспроизведении трека
+ Добавлена функция возврата к началу трека если время проигрывания не превысило 10 секунд
f Исправлен поиск трека в функции проигрывания трека по жанру, при листании назад
f При включенной опции "играть треки согласно жанру" при некорректном треке обнулялся плейлист
f Исправлена работа аппаратной кнопки stop/play при включенной опции "листать плейлист"
f Исправлено переключение треков с опцией "листать плейлист", если включена опция "играть трек согласно жанру". При ошибке поиска очищался плейлист.

0.2.6
+ Добавлена функция "показывать название трека в заставке"
+ Добавлена функция "показывать обложку альбома в заставке"
+ Реализован механизм выбора визуализации плеера
+ Добавлена поддержка тегов id3v2. Вторая версия тегов отображается в приоритете от первой. Функция автожанр работает с обеими версиями тегов
+ Добавлена функция "Проигрывать трек по жанру". Если опция включена, то в зависимости от установленного жанра в эквалайзере, плеер будет проигрывать только те треки, жанр которых совпадает с текущим жанром эквалайзера. Жанр трека берется только с id3v2 тегов. Если треков с текущим жанров нет, то будет играть последний трек. Функция автожанр если включена, отключается. При включении автожанра, выключается функция играть треки согласно жанру.
+ Добавлена возможность управления аппаратной кнопкой stop/play для калины/приоры и кнопка mode для гранты. Выполняют функцию остановки/воспроизведению трека.
+ Для калины/приоры на кнопку audio повешен запуск плеера, долгое нажатие закрывает плеер.
+ Для калины/приоры на кнопку menu выполняется переход в главное меню, долгое нажатие возвращает обратно с главного меню в то откудого ушли.
+ Для калины/приоры на на кнопку mute выполняется функция mute если запущен плеер. Выключает и включает звук плеера.
+ Добавлена функция "Добавлять треки с подкаталогами". При выборе трека, в плейлист добавляются все найденые песни в этом каталоге и его подкаталогах.
+ При включенной опции "листать плейлист" нажатие на кнопку play сразу воспроизводит выбранный трек, останавливая текущий проигрываемый.
f Исправлена ошибка в функции "листать плейлист". При переходе на следующий трек плеер падал в ошибку (Jallar)
f Авторазмер названия трека в заставке
f Исправлено отображение названия трека при включенной опции "листать плейлист". Ранее название не менялось, показывая текущий проигрываемый трек.
f Исправлена ошибка при входе в настройки плеера, когда иконки еще не все загрузились.
f Исправлено мерцание текста красным в настройках плеера. Текуая страница настроек помечена указанием на иконку в виде черты сверху иконки.

0.2.5
+ Добавлены описания ко всем параметрам скина в конфиг файле
+ Уменьшено время запуска программы, до загрузки основных иконок всех меню. Дольнейшее увеличение количества иконок на время запуска не влияет. Грузятся в отдельном потоке вместе с запуском программы.
+ При нажатии на клавиатуре клавиши "r" перечитываются с диска все конфигурации меню: настройки, языковой пакет, эквалайзер, скин(кроме иконок, только их параметры)
+ Добавлена поддержка формата "flac"
+ Сделана страница с настройками плеера
+ Добавлена функция "сортировка плейлиста по алфавиту" (CrazyDron)
+ Добавлена функция "Отображать загрузку процессора плеером"
+ Добавлена функция "Сохранение позиции воспроизведения трека при выходе"
+ Добавлена функция "проигрывать один трек"
+ Добавлена функция "цикличный плейлист"
+ Добавлена функция "Листать плейлист". Позволяет кнопками next/prev переходить на следующий/предыдущий трек, не останавливая воспроизведение текущего.
+ Добавлена функция авто-эквалайзера. Плеер берет значение жанра с тегов и выставляет в эквалайзере соответсвующую настройку жанра.
+ В меню добавлен скринсэвер, включается в настройках меню, возможно указать время запуска скринсэвера. Пока что выводится время, визуализация и название трека.
+ В настройки меню добавлено управление производительностью, можно указать время перерисовки меню и время перерисовки визуализации
+ Реализована функция визуализации в виде спектрума, выводится в скринсэвер
f Исправлено неотображение нажатия иконок текстом не в главных меню. Убрана задержка в 1 секунду на подсветку текстом нажатия на иконки
f Исправлено отображение подписи скрытых иконок, если у иконки параметр visible = false, текст отображался
f При отсутсвии тегов, название берется по названию файла, убрано расширение файла при таком режиме

0.2.4
f Добавлена библиотека aygshell.dll для совместимости с некоторыми прошивками. Проблема заключалась в невозможности запустить меню. (sergey21713, Jallar). Спасибо Jallar,Tarlink.
f Реализована поддержка системы с прошивками без русской локали под utf8. Меню в таких прошивках отображается русскими буквами и корректно воспроизводит треки с русским названием. (jastine)
f Исправлено воспроизведение треков при их отсутсвии или некорректности.
f Поправлены текстовые сообщения при проигрывании интернет радио.
f Убраны задержки отображения статусов плеера, при их изменении. (Звук, переключение трека, время воспроизведения)
f Исправлены отображение кнопки stop/play и текста трека при невозможности воспроизвести радио.
+ При смене стиля эквалайзера, значения частот возвращаются в исходные. (Tarlink)
f Сброс позиции прогрессбара при выходи из плеера, блокировка активности если не играет музыка.
+ При остановленном воспроизведение трека, можно листать песни, не воспроизводя их, например для того, что бы искать нужный трек и это быстрее чем листать воспроизводя треки.

0.2.2
+ В itelmaplayer добавлено интернет радио. Станции добавляются в скине. (pulsar_85)
+ Добавлены подписи к иконкам, Редактируется в скине (CrazyDron)
+ Отзыв нажатия отображается сменой цвета текста подписей иконок (jastine)
f Запуск по иконкам отрабатывается при отжатии кнопки мыши (jastine)

0.2
+ Реализовано переключение треков аппаратными кнопками для калины/приоры. Возможность указать машину в настройках меню (AlKeen, isaev161 )
+ добавлена возможность отображатьсписок файлов и папок списком (пока в настройках скина менять значение treetype на 1) (AlKeen)
+ кнопка stop работает как pause
+ в эквалайзер добавлены еще 2 частоты 31 и 65 гц (Poligrafov)
f Исправлено проигрывание треков при выключенной функции shuffle. (Poligrafov)
f исправлено добавление треков в плейлист, текущий проигрываемый трек менялся на трек из добавляемых теков
f Полностью переделана логика перерисовки меню, теперь текст не моргает (Poligrafov)
f progressbar заменен на стандартный, так как альтернативный долго прорисовывался
f операция записи плейлиста и параметров эквалайзера проходит в отдельном потоке каждый в свой файл, теперь плеер активен во время добавления треков



Программа для получения координат расположения иконки в скине

Прикрепленные файлы

Прикрепленный файлskincor.zip ( 585.25 КБ )


Сообщение отредактировал alex208210 - 08.05.23, 23:37
Причина редактирования: Добавлены ссылки на яндекс диск



Реп: (19)
1. Будет ли он когда нибудь работать с частотой дискретизации выше 44100 гц? Или сама ММС не поддерживает такое?
2. Работает ли он с .cue-файлом (не увидел в описании)?

Сообщение отредактировал alik4pda - 10.02.16, 07:11



Реп: (462)
alik4pda @ 10.02.2016, 09:06 *
1. Будет ли он когда нибудь работать с частотой дискретизации выше 44100 гц? Или сама ММС не поддерживает такое?


если внимательно изучить вопрос о выборе частоты дискретизации, то становится понятно, что 44100 становится достаточно для того что бы передать звук по каналу полностью без потерь качества. Это значение избыточно и разницы вы не заметите так как вопрос давно изучен и имеет четкий ответ. Наличие частоты дискретизации выше 44100 это тоже самое если бы в эквалайзере была возможность править частоты ниже 20 гц и выше 20000 кгц. но эти частоты не слышны человеческим ухом и поэтому просто не нужны. С технической же точки зрения, я могу выставить любую цифру частоты дискретизации, просто указав нужную в инициализации библиотеки. Вопрос не в возможности, а в надобности.

alik4pda @ 10.02.2016, 09:06 *
Работает ли он с .cue-файлом (не увидел в описании)?

CUE нет. Поддерживаются плейлисты формата PLS или M3U.

Сообщение отредактировал alex208210 - 10.02.16, 07:33



Реп: (462)
greg_b @ 10.02.2016, 09:50 *
скины в шапку будете поднимать или оставляем в составе сборки SM?


скины тоже будут, шапка еще не полностью готова

alik4pda @ 10.02.2016, 09:50 *
1. Не выставляйте пожалуйста свое мнение за истину или хотя бы подставляйте "IMHO".

Поддержки частоты дискретизации выше 44100 не будет. Это значение избыточно и достаточно.

P.s В пункт правил будет добавлено новое, в котром будет указано что любое мое сообщение в этой теме имеет статус IMHO и не требует поучительства.



Реп: (0)
А почему, когда выбираю какой нибудь трек, у меня всё равно начинает играть с первого?



Реп: (5)
Добрый день!
В описании плеера написано про движок bass.dll, про 32 бита, поддержку flac и т.д.
У меня стоит усилитель+2х компонентная акустика на фронт. Подключено через мини-исо, через тюльпаны. Так вот я считаю самым слабым звеном именно ММС, т.к. она не может передавать звук, качественней чем в магнитолы пионер,альпайн (не самой бюджетной серии).
Судя по описанию плеера, я ошибаюсь. Или нужно поработать над качеством мини-исо и тюльпанов?

Сообщение отредактировал nekitos - 10.02.16, 10:30



Реп: (462)
alex100975 @ 10.02.2016, 11:57 *
А почему, когда выбираю какой нибудь трек, у меня всё равно начинает играть с первого?


потому что включена опция играть треки согласно жанру

nekitos @ 10.02.2016, 12:29 *
В описании плеера написано про движок bass.dll, про 32 бита, поддержку flac и т.д.У меня стоит усилитель+2х компонентная акустика на фронт. Подключено через мини-исо, через тюльпаны. Так вот я считаю самым слабым звеном именно ММС, т.к. она не может передавать звук, качественней чем в магнитолы пионер,альпайн (не самой бюджетной серии). Судя по описанию плеера, я ошибаюсь. Или нужно поработать над качеством мини-исо и тюльпанов?


Магнитола магнитоле рознь, какой то пионер играет лучше, какой то хуже. У меня стоят твиттеры, 16 динамики, саб номиналом 1000ватт и усилок под все это добро с разделением частот по каналам..Качественные тюльпаны Mystery. Звук очень достойный. Этот вопрос лучше задавать в теме про электрику, возможно нет заземления усилка на корпус магнитолы, что внесет шипения и искажения.

Сообщение отредактировал alex208210 - 10.02.16, 11:50



Реп: (5)
* alex208210,
заземление есть. Провода силовые, акустические и линейные качественные НЕ мистери :)
Шипения и искажений нет. Менять ММС не собираюсь.
Вопрос то в чем собственно, прочитал в описании сейчас, что потенциал у плеера большой по программной части, движок, 32бита звук, возможность воспроизведения flac. А вот есть ли тут взаимосвязь, что электрическая часть самой ММС не может раскрыть потенциал программной части плеера? Тут я немного не понимаю теории...

П.С. Вообщем тема не ради "поругать", а так... "поболтать на тему" :-)



Реп: (2)
alik4pda @ 10.02.2016, 13:47 *
44кГц это достаточно для описания чистой синусоиды, но не для звука

на чем собираешься слушать можно узнать!? от проводов до акустики, так ради интереса?



Реп: (2)
nekitos @ 10.02.2016, 17:56 *
электрическая часть самой ММС не может раскрыть потенциал программной части плеера

ИМХО что то сомневаюсь, думаю "электрическая часть" ммс скорей ограничена возможностями встроенного усилителя, а так как идет разговор о линейках ограничение будет зависеть от возможностей уся и остальных компонентов. Главное настроить ммс на выход сигнала без искажения например вот так тык как видно на видео даже пионеры приближаясь к максимальной громкости дают искажения, многобукв но мне такая настройка помогла.



Реп: (19)
* LsD820, В машине в данном случае всё сток, еще не решил есть ли смысл модернизации, интересовало пока:
"...Но когда основная коллекция музыки с большей дискретизации, то не хотелось бы мучений с конвертацией, ради прослушки в машине...", но автора задело.



Реп: (462)
alik4pda @ 10.02.2016, 23:38 *
"...Но когда основная коллекция музыки с большей дискретизации, то не хотелось бы мучений с конвертацией, ради прослушки в машине...", но автора задело.


Объясни мне в чем проблема прослушивания твоей колекции в плеере? Я сейчас ради эксперимента специально сконвертировал mp3 до 48000 и flac до 192000. В результате играют оба трека, причем у флака битрейт был отображен как 4523. Это ж бешенные цифры и все играет..

screen
Прикрепленное изображение



Сообщение отредактировал alex208210 - 10.02.16, 21:59
Причина редактирования: spoiler



Реп: (2)
alik4pda @ 11.02.2016, 02:38 *
еще не решил есть ли смысл модернизации

ИМХО смысл несомненно есть! если говорить о системе бюджетом 30-50 т.р (для громкого и качественного повседнева вполне достаточно без заявки на спл) ммс с данным плеером в нее впишется не плохо. для меломанов отдающих предпочтение ламповым усилителям конечно не подойдет да и бюджет в разы выше будет.
еще вариант качественной постройки системы на процессоре, сам не разу не встречал и не настраивал так что сказать ничего не могу.

Добавлено 11.02.2016, 03:21:

ArkNet @ 11.02.2016, 01:14 *
Для тех кто ставит внешний усилитель (и дружит с паяльником) можно задуматься об удалении AZ4558 и выходного TDA7388, можно поколдовать с Mute.

можно подробнее что это даст?



Реп: (0)
Опция играть треки согласно жанру отключена, и всё равно постоянно запускается первый трек https://youtu.be/IAkmBwFAqjc



Реп: (462)
alex100975 @ 11.02.2016, 09:32 *
Опция играть треки согласно жанру отключена, и всё равно постоянно запускается первый трек https://youtu.be/IAkmBwFAqjc


понятно, раньше до версии 2.1 при создании плейлиста и нажатием на конкретный трек начинал проигрываться этот трек сразу, а не первый из сформированного плейлиста, а теперь нет. Связано это с тем что в 2.1 версии полностью переделан механизм добавления треков и формирования плейлистов. К следующей версии я учту этот момент. Спасибо за видео.



Реп: (0)
Кто-нибудь, подскажите, как в Сингплеере включить случайный порядок воспроизведения треков?

M
Ознакомьтесь с Правилами Форума!
4.4. Если вы нашли тему, которая соответствует вашей проблематике, то не следует сразу же писать в ней свое сообщение. Непременно прочитайте шапку темы - в нее помещается полезная информация, специально для вас.
Спойлер - Инструкции - Настройки плеера: Страница "Плейлист" - 12)Переключатель "Играть треки вразброс" позволяет включить функцию случайного переключения треков при проигрывании.


Сообщение отредактировал kumarai - 11.02.16, 17:24



Реп: (462)
makatelem @ 12.02.2016, 13:26 *
А отдельно плеер не планируется обновить, для НМ (ителма плеер).


В перспективе планируется сделать плеер в виде отдельного приложения, которое сможет заменить itelmaplayer в НМ. После отточки текущей версии, уже исправлены пару косяков, и еще надо поправить несколько.. тестируйте, ищите тщательнее, именно от вас зависит какой будет плеер у нас в консолях))


P.S
makatelem, встречный вопрос, не планируется ли твой скин на SingleMenu и SinglePlayer 2.1 ?

Сообщение отредактировал alex208210 - 12.02.16, 12:10
Причина редактирования: p.s



Реп: (462)
makatelem @ 12.02.2016, 14:43 *
В SinglePlayer засада - ширину строк не могу точно поймать.


Объясни подробнее в чем проблема, я думаю решим



Реп: (462)
makatelem @ 12.02.2016, 15:17 *
А тут на форуме кто то писал про это. Название треков в папках (в режиме списка) налазят на иконки. Да в принципе это не страшно, сделать можноЯ просто ещё не решил, стоит ли заморачиваться на этом, как в видео плеере:


так это в версии 2.1 уже исправлено, в плейлисте ограничение по ширине строки выделения, в поисковике тоже, в проводнике ограничение ширины указываются нововведенной переменной в конфиг скина:

;максимальная длинна названия папки или файла
maxrighttree=730



Реп: (462)
Обновил программу для подсчета координат иконки. Обновил ссылку. Добавил возможность сразу скопировать блок с кодом координат в конфиг скина
Прикрепленное изображение



Реп: (462)
kalimit @ 13.02.2016, 00:20 *
Может тогда бы в программку засунуть и сам конфиг , только путь до него найти вручную)))) а разделы из выплывающего списка)))


и кнопку ниже "сделать крутой скин"


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 21.01.25, 15:03